This commit was manufactured by cvs2svn to create tag 'R1_0_3'.
diff --git a/plugins/org.eclipse.wst.common.frameworks/.project b/docs/org.eclipse.wst.validation.infopop/.project
similarity index 67%
copy from plugins/org.eclipse.wst.common.frameworks/.project
copy to docs/org.eclipse.wst.validation.infopop/.project
index 30f458a..28f5b4f 100644
--- a/plugins/org.eclipse.wst.common.frameworks/.project
+++ b/docs/org.eclipse.wst.validation.infopop/.project
@@ -1,16 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.wst.common.frameworks</name>
+	<name>org.eclipse.wst.validation.infopop</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>
@@ -22,7 +17,6 @@
 		</buildCommand>
 	</buildSpec>
 	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
 </projectDescription>
diff --git a/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f48ef97
--- /dev/null
+++ b/docs/org.eclipse.wst.validation.infopop/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Plugin.name
+Bundle-SymbolicName: org.eclipse.wst.validation.infopop; singleton:=true
+Bundle-Version: 1.0.2.qualifier
+Bundle-Localization: plugin
+Bundle-Vendor: %Plugin.providerName
+Require-Bundle: org.eclipse.help
diff --git a/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml b/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml
new file mode 100644
index 0000000..e18a4e5
--- /dev/null
+++ b/docs/org.eclipse.wst.validation.infopop/ValidationPrefs_HelpContexts.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS type="org.eclipse.help.contexts"?>
+
+<contexts>
+	<!-- Eclipse Validation preferences -->
+<context id="jvgp0000">
+<description> The validation preferences page allows you to view or change the default validation settings for all workbench projects. A validator is a tool that checks that resources conform to a specification, DTD, or some other set of rules.
+
+Select the <b>Allow projects to override these preference settings</b> check box if you want to allow individual projects to set their own validation preferences.
+To configure new validation settings for an individual project, select the project in the Navigator view, right-click and select <b>Properties > Validation</b>.
+
+Select the <b>Run validation when you manually build a project</b> check box if you want the selected validators to run whenever you build your projects.
+To enable the <b>Run validation when you manually build a project</b> check box, select at least one validator in the list.
+
+Select  the <b>Run validation automatically when you save changes to a resource</b> check box if you want the selected validators to automatically run whenever you save changes to any project resources.
+To enable the <b>Run validation automatically when you save changes to a resource</b> check box, select at least one validator in the list. 
+
+Use the <b>Maximum number of validation messages</b> field to define the maximum allowable validation messages for the project.
+If the number of validation messages reported in the task list exceeds the number set in this field, validation will terminate.
+</description>
+<topic label="Validating code in enterprise applications" href="../org.eclipse.jst.j2ee.doc.user/topics/tjval.html"/>
+<topic label="Common validation errors and solutions" href="../org.eclipse.jst.j2ee.doc.user/topics/rvalerr.html"/>
+</context>
+
+</contexts>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml b/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml
new file mode 100644
index 0000000..1e9fba0
--- /dev/null
+++ b/docs/org.eclipse.wst.validation.infopop/ValidationProjPrefs_HelpContexts.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS type="org.eclipse.help.contexts"?>
+
+<contexts>
+	<!-- Validation settings for project -->
+
+<context id="jvpp0000">
+<description>The project validation page allows you to view or change the validation settings for a project. A validator is a tool that checks that resources conform to a specification, DTD, or some other set of rules.
+
+Select the <b>Override validation preferences</b> check box. Select this check box if you want to override the default validation preferences set in the workbench Preferences page.
+If the <b>Override validation preferences</b> check box is not enabled, go to <b>Window > Preferences > Validation</b> and select the <b>Allow projects to override these preference settings</b> check box.
+
+Select the <b>Run validation when you manually build</b> check box if you want the selected validators to run whenever you build your project.
+To enable the <b>Run validation when you manually build</b> check box, select at least one validator in the list.
+
+Select  the <b>Run validation automatically when you save changes to resources</b> check box if you want the selected validators to automatically run whenever you save changes to your project resources.
+To enable the <b>Run validation automatically when you save changes to resources</b> check box, select at least one validator in the list. 
+
+Use the <b>Maximum number of validation messages</b> field to define the maximum allowable validation messages for the project.
+If the number of validation messages reported in the task list exceeds the number set in this field, validation will terminate.
+</description>
+<topic label="Validating code in enterprise applications" href="../org.eclipse.jst.j2ee.doc.user/topics/tjval.html"/>
+<topic label="Common validation errors and solutions" href="..org.eclipse.jst.j2ee.doc.user/topics/rvalerr.html"/>
+</context>
+
+</contexts>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/build.properties b/docs/org.eclipse.wst.validation.infopop/build.properties
new file mode 100644
index 0000000..1df77e7
--- /dev/null
+++ b/docs/org.eclipse.wst.validation.infopop/build.properties
@@ -0,0 +1,6 @@
+bin.includes = META-INF/,\
+               plugin.xml,\
+               ValidationPrefs_HelpContexts.xml,\
+               ValidationProjPrefs_HelpContexts.xml,\
+               plugin.properties
+src.includes = build.properties
diff --git a/docs/org.eclipse.wst.validation.infopop/plugin.properties b/docs/org.eclipse.wst.validation.infopop/plugin.properties
new file mode 100644
index 0000000..b0c0709
--- /dev/null
+++ b/docs/org.eclipse.wst.validation.infopop/plugin.properties
@@ -0,0 +1,6 @@
+# NLS_MESSAGEFORMAT_VAR
+# ==============================================================================
+# Translation Instruction: section to be translated
+# ==============================================================================
+Plugin.name = WST validation infopop plug-in
+Plugin.providerName = Eclipse.org
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.validation.infopop/plugin.xml b/docs/org.eclipse.wst.validation.infopop/plugin.xml
new file mode 100644
index 0000000..1a861c3
--- /dev/null
+++ b/docs/org.eclipse.wst.validation.infopop/plugin.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+   <extension
+         point="org.eclipse.help.toc">
+    <contexts file="ValidationProjPrefs_HelpContexts.xml" plugin="org.eclipse.wst.validation.ui" />
+	<contexts file="ValidationPrefs_HelpContexts.xml" plugin="org.eclipse.wst.validation.ui" />
+   </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.wst.common.frameworks/.classpath b/plugins/org.eclipse.wst.common.frameworks/.classpath
deleted file mode 100644
index 2bf4212..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/"/>
-	<classpathentry kind="src" path="src-non_workbench/"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.wst.common.frameworks/.cvsignore b/plugins/org.eclipse.wst.common.frameworks/.cvsignore
deleted file mode 100644
index fd6af57..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/.cvsignore
+++ /dev/null
@@ -1,9 +0,0 @@
-bin
-build.xml
-temp.folder
-common_core.jar
-common.jar
-common_coresrc.zip
-commonsrc.zip
-@dot
-src.zip
diff --git a/plugins/org.eclipse.wst.common.frameworks/.options b/plugins/org.eclipse.wst.common.frameworks/.options
deleted file mode 100644
index 2eaab8a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/.options
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.wtp.common/debug/logtrace=false
-org.eclipse.wtp.common/debug/logtracefile=false
-org.eclipse.wtp.common/debug/loglevel=WARNING
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.frameworks/META-INF/MANIFEST.MF
deleted file mode 100644
index e73aa32..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.eclipse.wst.common.frameworks
-Bundle-SymbolicName: org.eclipse.wst.common.frameworks; singleton:=true
-Bundle-Version: 1.0.1.qualifier
-Bundle-Activator: org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin
-Bundle-Vendor: %provider
-Bundle-Localization: plugin
-Export-Package: .,
- org.eclipse.wst.common.frameworks.datamodel,
- org.eclipse.wst.common.frameworks.datamodel.properties,
- org.eclipse.wst.common.frameworks.internal,
- org.eclipse.wst.common.frameworks.internal.activities,
- org.eclipse.wst.common.frameworks.internal.datamodel,
- org.eclipse.wst.common.frameworks.internal.enablement,
- org.eclipse.wst.common.frameworks.internal.enablement.nonui,
- org.eclipse.wst.common.frameworks.internal.operations,
- org.eclipse.wst.common.frameworks.internal.plugin
-Require-Bundle: org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.core.commands,
- org.eclipse.jem.util,
- org.eclipse.wst.common.environment,
- org.eclipse.emf.ecore
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.wst.common.frameworks/build.properties b/plugins/org.eclipse.wst.common.frameworks/build.properties
deleted file mode 100644
index 4701114..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               .options,\
-               META-INF/,\
-               plugin.properties,\
-               about.html,\
-               .
-jars.compile.order = .
-src.includes = schema/,\
-               component.xml
-output.. = bin/
-source.. = src-non_workbench/,\
-           src/
diff --git a/plugins/org.eclipse.wst.common.frameworks/component.xml b/plugins/org.eclipse.wst.common.frameworks/component.xml
deleted file mode 100644
index 761526a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/component.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.common.frameworks">
-  <description url=""></description>
-  <component-depends unrestricted="true"></component-depends>
-  <plugin id="org.eclipse.wst.common.frameworks" fragment="false"/>
-  <plugin id="org.eclipse.wst.common.frameworks.ui" fragment="false"/>
-  <plugin id="org.eclipse.wst.common.environment" fragment="false"/>
-
-  <package name="org.eclipse.wst.common.environment">
-    <type name="Choice" subclass="false" instantiate="false" />
-    <type name="EnvironmentException" subclass="false" instantiate="false" />
-    <type name="EnvironmentService" subclass="false" instantiate="false" />
-    <type name="IEnvironment" implement="false" />
-    <type name="ILog" implement="false" />
-    <type name="IStatusHandler" implement="false" />
-    <type name="NullStatusHandler" subclass="false" instantiate="false" />
-    <type name="StatusException" subclass="false" instantiate="false" />
-  </package>
- 
-  <package name="org.eclipse.wst.common.environment.uri">
-    <type name="IURI" implement="false" />
-    <type name="IURIFactory" implement="false" />
-    <type name="IURIFilter" implement="false" />
-    <type name="IURIScheme" implement="false" />
-    <type name="IURIVisitor" implement="false" />
-    <type name="SimpleURIFactory" subclass="false" instantiate="false" />
-    <type name="URIException" subclass="false" instantiate="false" />
-  </package>
-
-  <package name="org.eclipse.wst.common.frameworks.datamodel"></package>
-</component>
diff --git a/plugins/org.eclipse.wst.common.frameworks/plugin.properties b/plugins/org.eclipse.wst.common.frameworks/plugin.properties
deleted file mode 100644
index d1cb8b8..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-provider=Eclipse.org
-OperationExtension=OperationExtension
-Function_Extension_Group=Function Extension Group
-WTPActivityBridgeHelper=WTPActivityBridgeHelper
-DataModelProvider=DataModelProvider
diff --git a/plugins/org.eclipse.wst.common.frameworks/plugin.xml b/plugins/org.eclipse.wst.common.frameworks/plugin.xml
deleted file mode 100644
index 0f4338a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point id="OperationExtension" name="%OperationExtension" schema="schema/OperationExtension.exsd"/>
-   <extension-point id="functionGroup" name="%Function_Extension_Group" schema="schema/functionGroup.exsd"/>
-   <extension-point id="WTPActivityBridgeHelper" name="%WTPActivityBridgeHelper" schema="schema/WTPActivityBridgeHelper.exsd"/>
-   <extension-point id="DataModelProviderExtension" name="%DataModelProvider" schema="schema/DataModelProviderExtension.exsd"/>
-   
-   <extension
-         id="context.Sensitive.Class.saveHandler"
-         name="Save Handler - Headless Context Class"
-         point="org.eclipse.jem.util.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            key="saveHandler"
-            context="Headless"
-            className="org.eclipse.wst.common.frameworks.internal.SaveHandlerHeadless">
-      </uiContextSensitiveClass>
-   </extension>
-   <extension
-         id="org.eclipse.wst.common.frameworks.internal.enablement"
-         point="org.eclipse.jem.util.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            key="org.eclipse.wst.common.frameworks.internal.EnablementDetermination"
-            context="Headless"
-            className="org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager">
-      </uiContextSensitiveClass>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.frameworks/prepareforpii.xml b/plugins/org.eclipse.wst.common.frameworks/prepareforpii.xml
deleted file mode 100644
index 638c7dc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/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.common"/>
-		<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}/src" >
-			 <fileset dir="${plugindir}/src">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.wst.common.frameworks/schema/DataModelProviderExtension.exsd b/plugins/org.eclipse.wst.common.frameworks/schema/DataModelProviderExtension.exsd
deleted file mode 100644
index 786c1c3..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/schema/DataModelProviderExtension.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.frameworks">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="DataModelProviderExtension" name="Data Model Provider"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="DataModelProvider" minOccurs="0" maxOccurs="1"/>
-            <element ref="ProviderDefinesType" minOccurs="0" maxOccurs="1"/>
-            <element ref="ProviderImplementsType" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="DataModelProvider">
-      <complexType>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="ProviderDefinesType">
-      <complexType>
-         <attribute name="providerType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="providerID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="ProviderImplementsType">
-      <complexType>
-         <attribute name="providerType" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="providerID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.frameworks/schema/WTPActivityBridgeHelper.exsd b/plugins/org.eclipse.wst.common.frameworks/schema/WTPActivityBridgeHelper.exsd
deleted file mode 100644
index c8f926a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/schema/WTPActivityBridgeHelper.exsd
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.common.frameworks">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="WTPActivityBridgeHelper" name="WTP Activity Bridge Helper"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="WTPActivityBridgeHelper"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="WTPActivityBridgeHelper">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which accompanies 

-this distribution, and is available at &lt;a

-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.common.frameworks/schema/functionGroup.exsd b/plugins/org.eclipse.wst.common.frameworks/schema/functionGroup.exsd
deleted file mode 100644
index 2430e97..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/schema/functionGroup.exsd
+++ /dev/null
@@ -1,186 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.common.frameworks">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="functionGroup" name="Function Extension Group"/>

-      </appInfo>

-      <documentation>

-         A functionGroup provides a grouping of related function that can be contributed to the tools.  For example, a third party component may want to contribute actions, editor pages, edit model resources, and many other functions specific to a given product.  By associating all these functions with a group id, a mechanism is exposed for users to selectively enable and disable baskets of function.  Extension points that allow for a &quot;groupID&quot; attribute generally will hide those functions when the group id is disabled.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <choice>

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

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

-         </choice>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="functionGroup">

-      <annotation>

-         <documentation>

-            Extension point definition for a group.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  A unique id for the group.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A human readable name.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  A short description of the group.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Ordering magnitude of plugins

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  Class used to determine plugin enablement

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="functionGroupPatternBinding">

-      <annotation>

-         <documentation>

-            This element allows one to bind function groups to patterns.

-         </documentation>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The unique identifier of the function group to bind.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The pattern to be bound. Patterns are regular expressions which match unique identifiers.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         1.0

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         &lt;pre&gt;

-   &lt;extension

-         point=&quot;org.eclipse.wst.common.frameworks.functionGroup&quot;&gt;

-      &lt;functionGroup

-            name=&quot;Acme Co. Function Extension&quot;

-            functionGroupID=&quot;com.acme.acmepro&quot;

-            description=&quot;The AcmePro Extensions add integration to the Acme Web Server.&quot;

-            enabledByDefault=&quot;true&quot;

-            icon=&quot;...&quot;

-            url=&quot;http://www.acme.com/&quot;/&gt;

-   &lt;/extension&gt;

-&lt;/pre&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which accompanies 

-this distribution, and is available at &lt;a

-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/IWFTWrappedException.java b/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/IWFTWrappedException.java
deleted file mode 100644
index d92bafd..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/IWFTWrappedException.java
+++ /dev/null
@@ -1,40 +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.frameworks.internal.enablement.nonui;
-
-/**
- * Common interface for ArchiveRuntime and ArchiveWrapped exceptions, which can contain nested
- * exceptions
- */
-public interface IWFTWrappedException {
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to innermost
-	 */
-	public String[] getAllMessages();
-
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to
-	 * innermost, concatenated as one
-	 */
-	public String getConcatenatedMessages();
-
-	public Exception getInnerMostNestedException();
-
-	public String getMessage();
-
-	public java.lang.Exception getNestedException();
-
-	public void printStackTrace();
-
-	public void printStackTrace(java.io.PrintStream s);
-
-	public void printStackTrace(java.io.PrintWriter s);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WFTWrappedException.java b/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WFTWrappedException.java
deleted file mode 100644
index 9a59c94..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WFTWrappedException.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
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement.nonui;
-
-//import com.ibm.etools.wft.nls.WFTUtilsResourceHandler;
-
-
-
-/**
- * Insert the type's description here. Creation date: (04/03/01 11:12:51 AM)
- * 
- * @author: Administrator
- */
-public class WFTWrappedException extends java.lang.reflect.InvocationTargetException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = -6885044277377784429L;
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 */
-	protected WFTWrappedException() {
-		super();
-	}
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 * 
-	 * @param target
-	 *            java.lang.Throwable
-	 */
-	public WFTWrappedException(Throwable target) {
-		super(target);
-	}
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 * 
-	 * @param target
-	 *            java.lang.Throwable
-	 * @param s
-	 *            java.lang.String
-	 */
-	public WFTWrappedException(Throwable target, String s) {
-		super(target, s);
-	}
-
-	/**
-	 * Print out a stack trace to the system err.
-	 */
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	public void printStackTrace(java.io.PrintStream s) {
-		if (getTargetException() != null) {
-			s.println(this);
-			//TODO add this back in
-			// s.println(WFTUtilsResourceHandler.getString("Stack_trace_of_nested_exce_ERROR_"));
-			// //$NON-NLS-1$ = "Stack trace of nested exception:"
-			getTargetException().printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	public void printStackTrace(java.io.PrintWriter s) {
-		if (getTargetException() != null) {
-			s.println(this);
-			//TODO add this back in
-			// s.println(WFTUtilsResourceHandler.getString("Stack_trace_of_nested_exce_ERROR_"));
-			// //$NON-NLS-1$ = "Stack trace of nested exception:"
-			getTargetException().printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WorkbenchUtil.java b/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WorkbenchUtil.java
deleted file mode 100644
index 67cac79..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src-non_workbench/org/eclipse/wst/common/frameworks/internal/enablement/nonui/WorkbenchUtil.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.frameworks.internal.enablement.nonui;
-
-public class WorkbenchUtil {
-
-	protected static boolean WorkbenchRunning = false;
-
-	private WorkbenchUtil() {
-		super();
-	}
-
-	/**
-	 * workbenchIsRunning() - test whether or not we are running in the workbench environment.
-	 * 
-	 * @see JavaPlugin.startup()
-	 */
-	public static boolean workbenchIsRunning() {
-		return WorkbenchRunning;
-	}
-
-	/**
-	 * Set to true if you are running in a Workbench environment.
-	 * 
-	 * @see JavaPlugin.startup()
-	 */
-	public static void setWorkbenchIsRunning(boolean aBoolean) {
-		WorkbenchRunning = aBoolean;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelOperation.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelOperation.java
deleted file mode 100644
index 4e44b8f..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelOperation.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.AbstractOperation;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.common.environment.IEnvironment;
-
-/**
- * Abstract implementation for an IDataModelOperation.
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation
- * 
- * @since 1.0
- */
-public abstract class AbstractDataModelOperation extends AbstractOperation implements IDataModelOperation {
-
-	/**
-	 * Convenience IStatus.OK.
-	 */
-	protected static final IStatus OK_STATUS = IDataModelProvider.OK_STATUS;
-
-	private String id;
-	private IEnvironment environment;
-
-	/**
-	 * The IDataModel used by this IDataModelOperation
-	 */
-	protected IDataModel model;
-
-	/**
-	 * Default constructor.
-	 */
-	public AbstractDataModelOperation() {
-		super(""); //$NON-NLS-1$
-		this.id = getClass().getName();
-	}
-
-	/**
-	 * Constructor taking an IDataModel
-	 * 
-	 * @param model
-	 *            the IDataModel used to drive this operation
-	 */
-	public AbstractDataModelOperation(IDataModel model) {
-		super(""); //$NON-NLS-1$ // TODO add a label property to IDataModel???
-		this.model = model;
-		this.id = getClass().getName();
-	}
-
-	/**
-	 * Default implementation of setID().
-	 * 
-	 * @see IDataModelOperation#setID(String)
-	 */
-	public void setID(String id) {
-		this.id = id;
-	}
-
-	/**
-	 * Default implementation of getID().
-	 * 
-	 * @see IDataModelOperation#getID()
-	 */
-	public String getID() {
-		return id;
-	}
-
-	/**
-	 * Default implementation of setDataModel()
-	 * 
-	 * @see IDataModelOperation#setDataModel(IDataModel)
-	 */
-	public void setDataModel(IDataModel model) {
-		this.model = model;
-	}
-
-	/**
-	 * Default implementation of getDataModel()
-	 * 
-	 * @see IDataModelOperation#getDataModel()
-	 */
-	public IDataModel getDataModel() {
-		return model;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation#getDataModelIDs()
-	 */
-	public Set getDataModelIDs() {
-		return new HashSet();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation#getSchedulingRule()
-	 */
-	public ISchedulingRule getSchedulingRule() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation#getOperationExecutionFlags()
-	 */
-	public int getOperationExecutionFlags() {
-		return IWorkspace.AVOID_UPDATE;
-	}
-
-  /**
-   * The framework will set the environment on this operation 
-   * before it is executed.  The operation can then use the
-   * environment to report status, log information, and access
-   * resources in an environment neutral way.
-   */
-	public final void setEnvironment(IEnvironment env) {
-		environment = env;
-	}
-
-  /**
-   * An operation can call this method to get the environment
-   * that has been set by the operations framework.
-   * @return returns an environment.
-   */
-	public final IEnvironment getEnvironment() {
-		return environment;
-	}
-
-  /**
-   * An operation can specify a list of operations that should run
-   * before this operation.  Subclasses can override this method to 
-   * provide these operations.  The operations provided will be
-   * executed in the order specified in the list.
-   * @return returns a list of data model operations or null.  
-   * Null indicates that there are no pre operations.
-   */
-  public List getPreOperations()
-  {
-    return null; 
-  }
-  
-  /**
-   * An operation can specify a list of operations that should run
-   * after this operation.  Subclasses can override this method to 
-   * provide these operations.  The operations provided will be
-   * executed in the order specified in the list.
-   * @return returns a list of data model operations or null.
-   * Null indicates that there are no post operations.
-   */
-  public List getPostOperations()
-  {
-    return null; 
-  }
-  
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.commands.operations.IUndoableOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
-	 */
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return Status.OK_STATUS;
-	}
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return Status.OK_STATUS;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelProvider.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelProvider.java
deleted file mode 100644
index 57f3302..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/AbstractDataModelProvider.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * A default implementation of <code>IDataModelProvider</code>.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @since 1.0
- */
-public abstract class AbstractDataModelProvider implements IDataModelProvider {
-
-	/**
-	 * <p>
-	 * The IDataModel for this provider.
-	 * </p>
-	 */
-	protected IDataModel model = null;
-
-	public Set getPropertyNames() {
-		return new HashSet();
-	}
-	
-	/**
-	 * <p>
-	 * A default implementation of init(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#init()
-	 */
-	public void init() {
-	}
-
-	/**
-	 * </p>
-	 * An implemenation of setDataModel().
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#setDataModel(IDataModel)
-	 */
-	public final void setDataModel(IDataModel dataModel) {
-		this.model = dataModel;
-	}
-
-	/**
-	 * <p>
-	 * An implemenation of getDataModel().
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getDataModel()
-	 */
-	public final IDataModel getDataModel() {
-		return model;
-	}
-
-
-	/**
-	 * </p>
-	 * A default impleneation of propertySet(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property that has been set
-	 * @param propertyValue
-	 *            the value the property has been set
-	 * 
-	 * @see IDataModelProvider#propertySet(String, Object)
-	 */
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		return true;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getDefaultProperty(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * 
-	 * @see IDataModelProvider#getDefaultProperty(String)
-	 */
-	public Object getDefaultProperty(String propertyName) {
-		if(ALLOW_EXTENSIONS.equals(propertyName)){
-			return Boolean.TRUE;
-		} else if(RESTRICT_EXTENSIONS.equals(propertyName)){
-			return Collections.EMPTY_LIST;
-		}
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of isPropertyEnabled(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @see IDataModelProvider#isPropertyEnabled(String)
-	 */
-	public boolean isPropertyEnabled(String propertyName) {
-		return true;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of validate(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param name
-	 *            the name of the property or nested IDataModel being validated.
-	 * 
-	 * @see IDataModelProvider#validate(String)
-	 */
-	public IStatus validate(String name) {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getPropertyDescriptor(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @see IDataModelProvider#getPropertyDescriptor(String)
-	 */
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName) {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getValidPropertyDescriptors(). Subclasses should override as
-	 * necessary.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @see IDataModelProvider#getValidPropertyDescriptors(String)
-	 */
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName) {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getExtendedContext(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getExtendedContext()
-	 */
-	public List getExtendedContext() {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getDefaultOperation(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getDefaultOperation()
-	 */
-	public IDataModelOperation getDefaultOperation() {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of getName(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getID()
-	 */
-	public String getID() {
-		return this.getClass().getName();
-	}
-
-	/**
-	 * <p>
-	 * A default implemenation of dispose(). Subclasses should override as necessary.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for getting a property from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the property value
-	 * 
-	 * @see IDataModel#getProperty(String)
-	 */
-	protected final Object getProperty(String propertyName) {
-		return model.getProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for setting a property on the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @param propertyValue
-	 *            the property value
-	 * 
-	 * @see IDataModel#setProperty(String, Object)
-	 */
-	protected final void setProperty(String propertyName, Object propertyValue) {
-		model.setProperty(propertyName, propertyValue);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for getting a boolean property from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the boolean value of the property
-	 * 
-	 * @see IDataModel#getBooleanProperty(String)
-	 */
-	protected final boolean getBooleanProperty(String propertyName) {
-		return model.getBooleanProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for setting a boolean property on the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @param propertyValue
-	 *            the boolean property value
-	 * 
-	 * @see IDataModel#setBooleanProperty(String, boolean)
-	 */
-	protected final void setBooleanProperty(String propertyName, boolean propertyValue) {
-		model.setBooleanProperty(propertyName, propertyValue);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for getting an int property from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the int value of the property
-	 * 
-	 * @see IDataModel#getIntProperty(String)
-	 */
-	protected final int getIntProperty(String propertyName) {
-		return model.getIntProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for setting an int property on the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @param propertyValue
-	 *            the int property value
-	 * 
-	 * @see IDataModel#setIntProperty(String, int)
-	 */
-	protected final void setIntProperty(String propertyName, int propertyValue) {
-		model.setIntProperty(propertyName, propertyValue);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for getting a String property from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the String value of the property
-	 * 
-	 * @see IDataModel#getStringProperty(String)
-	 */
-	protected final String getStringProperty(String propertyName) {
-		return model.getStringProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method for checking if a property is set from the backing IDataModel.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return <code>true</code> if the property is set, <code>false</code> otherwise.
-	 */
-	protected final boolean isPropertySet(String propertyName) {
-		return model.isPropertySet(propertyName);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelEvent.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelEvent.java
deleted file mode 100644
index 402b0bc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelEvent.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-/**
- * <p>
- * This event is used to communicate property changes from IDataModels to their IDataModelListeners.
- * </p>
- * <p>
- * This class may be instantiated; it is not intended to be subclassed.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel#addListener(IDataModelListener)
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelListener
- * 
- * @since 1.0
- */
-public final class DataModelEvent {
-
-	/**
-	 * <p>
-	 * A flag used to specify the property's value has changed.
-	 * </p>
-	 * 
-	 * @see IDataModel#getProperty(String)
-	 * @see #getFlag()
-	 */
-	public static final int VALUE_CHG = 1;
-
-	/**
-	 * Internal. Clients should not use.
-	 */
-	static final int DEFAULT_CHG = 2;
-
-	/**
-	 * <p>
-	 * A flag used to specify the property's enablment has changed.
-	 * </p>
-	 * 
-	 * @see IDataModel#isPropertyEnabled(String)
-	 * @see #getFlag()
-	 */
-	public static final int ENABLE_CHG = 3;
-
-	/**
-	 * <p>
-	 * A flag used to specify the property's valid values have changed.
-	 * </p>
-	 * 
-	 * @see IDataModel#getValidPropertyDescriptors(String)
-	 * @see #getFlag()
-	 */
-	public static final int VALID_VALUES_CHG = 4;
-
-
-	private IDataModel dataModel;
-	private String propertyName;
-	private int flag;
-
-	/**
-	 * <p>
-	 * Constructor for DataModelEvent.
-	 * </p>
-	 * 
-	 * @param dataModel
-	 *            the IDataModel whose property has changed
-	 * @param propertyName
-	 *            the name of the changed property
-	 * @param flag
-	 *            contains a flag specifiying the event type
-	 */
-	public DataModelEvent(IDataModel dataModel, String propertyName, int flag) {
-		this.dataModel = dataModel;
-		this.propertyName = propertyName;
-		this.flag = flag;
-	}
-
-	/**
-	 * <p>
-	 * Returns the IDataModel whose property has changed.
-	 * </p>
-	 * 
-	 * @return the IDataModel whose property has changed.
-	 */
-	public IDataModel getDataModel() {
-		return dataModel;
-	}
-
-	/**
-	 * <p>
-	 * Returns the name of the changed property.
-	 * </p>
-	 * 
-	 * @return the name of the changed property.
-	 */
-	public String getPropertyName() {
-		return propertyName;
-	}
-
-	/**
-	 * <p>
-	 * Returns the flag indicating the event type. Valid types are:
-	 * <ul>
-	 * <li><code>PROPERTY_CHG</code></li>
-	 * <li><code>VALID_VALUES_CHG</code></li>
-	 * <li><code>ENABLE_CHG</code></li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @return the flag indicating the event type.
-	 */
-	public int getFlag() {
-		return flag;
-	}
-
-	/**
-	 * <p>
-	 * Convenience method to return the IDataModel's property. This is equavalent to:
-	 * <code>getDataModel().getProperty(getPropertyName())</code>.
-	 * </p>
-	 * 
-	 * @return the dataModel's property.
-	 * @see IDataModel#getProperty(String)
-	 */
-	public Object getProperty() {
-		return dataModel.getProperty(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method to return the IDataModel property's enablement state. This is equavalent
-	 * to: <code>getDataModel().isPropertyEnabled(getPropertyName())</code>.
-	 * </p>
-	 * 
-	 * @return the dataModel property's enablement state.
-	 * @see IDataModel#isPropertyEnabled(String)
-	 */
-	public boolean isPropertyEnabled() {
-		return dataModel.isPropertyEnabled(propertyName);
-	}
-
-	/**
-	 * <p>
-	 * Convenience method to return the IDataModel property's valid property descriptors. This is
-	 * equavalent to: <code>getDataModel().getValidPropertyDescriptors(getPropertyName())</code>.
-	 * </p>
-	 * 
-	 * @return the dataModel property's valid property descriptors.
-	 * @see IDataModel#getValidPropertyDescriptors(String)
-	 */
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors() {
-		return dataModel.getValidPropertyDescriptors(propertyName);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelFactory.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelFactory.java
deleted file mode 100644
index 02df2f7..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelFactory.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import org.eclipse.wst.common.frameworks.internal.datamodel.DataModelExtensionReader;
-import org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl;
-
-/**
- * <p>
- * DataModelFactory is used to create IDataModel instances.
- * </p>
- * 
- * @since 1.0
- */
-public class DataModelFactory {
-
-	private static DataModelExtensionReader reader;
-
-	private DataModelFactory() {
-	}
-
-	/**
-	 * <p>
-	 * Looks up the appropriate IDataModelProvider by the specified id and constructs a new
-	 * IDataModel. If the IDataModelProvider is not found then a RuntimeException is logged and null
-	 * is returned.
-	 * </p>
-	 * 
-	 * @param dataModelProviderID
-	 *            the id of the IDataModelProvider
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(String dataModelProviderID) {
-		IDataModelProvider provider = loadProvider(dataModelProviderID);
-		if (provider == null)
-			return null;
-		return createDataModel(provider);
-	}
-
-	private static IDataModelProvider loadProvider(String id) {
-		if (null == reader) {
-			reader = new DataModelExtensionReader();
-		}
-		return reader.getProvider(id);
-	}
-
-	/**
-	 * <p>
-	 * Looks up the appropriate dataModelProviderIDs by the specified dataModelProviderKindID.
-	 * </p>
-	 * 
-	 * @param dataModelProviderKindID
-	 *            the String id of the dataModelProviderKindID
-	 * 
-	 * @return the array of valid dataModelProviderIDs or an empty array if there are none.
-	 */
-	public static String[] getDataModelProviderIDsForKind(String dataModelProviderKindID) {
-		String[] validProviderIDs = loadProviderForProviderKind(dataModelProviderKindID);
-		return null != validProviderIDs ? validProviderIDs : new String[0];
-	}
-
-
-	private static String[] loadProviderForProviderKind(String providerKind) {
-		if (null == reader) {
-			reader = new DataModelExtensionReader();
-		}
-		return reader.getProviderDescriptorsForProviderKind(providerKind);
-	}
-
-	/**
-	 * <p>
-	 * Looks up the appropriate IDataModelProvider using the name of the specified class. This
-	 * method is equavalent to <code>createDataModel(dataModelProviderClassID.getName())</code>.
-	 * </p>
-	 * 
-	 * @param dataModelProviderClass
-	 *            the class whose name is the id of the IDataModelProvider
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(Class dataModelProviderClass) {
-		return createDataModel(dataModelProviderClass.getName());
-	}
-
-	/**
-	 * <p>
-	 * Creates a new IDataModel using the the specified instance of an IDataModelProvider.
-	 * </p>
-	 * 
-	 * @param provider
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(IDataModelProvider provider) {
-		if (null == provider) {
-			throw new NullPointerException();
-		}
-		DataModelImpl dataModel = new DataModelImpl(provider);
-		return dataModel;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelPropertyDescriptor.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelPropertyDescriptor.java
deleted file mode 100644
index 2154ecc..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/DataModelPropertyDescriptor.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-/**
- * <p>
- * A DataModelPropertyDescriptor provides a human readible description for an IDataModel
- * propertyValue.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel#getPropertyDescriptor(String)
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel#getValidPropertyDescriptors(String)
- * 
- * @since 1.0
- */
-public final class DataModelPropertyDescriptor {
-
-	/**
-	 * <p>
-	 * A convenience method which returns an array of DataModelPropertyDescriptors. If
-	 * <code>values</code> is <code>null</code> then a 0 length array is returned. Otherwise for
-	 * each <code>values[i]</code> in the array, a new DataModelPropertyDescriptors is created
-	 * using <code>new DataModelPropertyDescriptors(values[i]);</code>.
-	 * </p>
-	 * 
-	 * @param values
-	 *            the array of property values
-	 * @return the constructed DataModelPropertyDescriptors array
-	 */
-	public static DataModelPropertyDescriptor[] createDescriptors(Object[] values) {
-		if (null == values) {
-			return new DataModelPropertyDescriptor[0];
-		}
-		DataModelPropertyDescriptor[] descriptors = new DataModelPropertyDescriptor[values.length];
-		for (int i = 0; i < descriptors.length; i++) {
-			descriptors[i] = new DataModelPropertyDescriptor(values[i]);
-		}
-		return descriptors;
-	}
-
-	/**
-	 * <p>
-	 * A convenience method which returns an array of DataModelPropertyDescriptors. If
-	 * <code>values</code> is <code>null</code> then a 0 length array is returned. Otherwise for
-	 * each <code>values[i]</code> and <code>descriptions[i]</code> in the arrays, a new
-	 * DataModelPropertyDescriptor is created using
-	 * <code>new DataModelPropertyDescriptor(values[i], descriptions[i]);</code>. Both arrays
-	 * must be the same length.
-	 * </p>
-	 * 
-	 * @param values
-	 *            the array of property values
-	 * @param descriptions
-	 *            the array of property descriptions cooresponding the values array
-	 * @return the constructed DataModelPropertyDescriptors array
-	 */
-	public static DataModelPropertyDescriptor[] createDescriptors(Object[] values, String[] descriptions) {
-		if (null == values) {
-			return new DataModelPropertyDescriptor[0];
-		}
-		DataModelPropertyDescriptor[] descriptors = new DataModelPropertyDescriptor[values.length];
-		for (int i = 0; i < descriptors.length; i++) {
-			descriptors[i] = new DataModelPropertyDescriptor(values[i], descriptions[i]);
-		}
-		return descriptors;
-
-	}
-
-	private Object propertyValue;
-	private String propertyDescription;
-
-	/**
-	 * <p>
-	 * This is equavalent to calling <code>DataModelPropertyDescriptor(propertyValue, null)</code>.
-	 * </p>
-	 * 
-	 * @param propertyValue
-	 *            the propery value
-	 */
-	public DataModelPropertyDescriptor(Object propertyValue) {
-		this.propertyValue = propertyValue;
-	}
-
-	/**
-	 * <p>
-	 * Creates a new DataModelPropertyDescriptor with the specified propertyValue and
-	 * propertyDescription.
-	 * </p>
-	 * 
-	 * @param propertyValue
-	 *            the property value
-	 * @param propertyDescription
-	 *            the human readible proeprty descriptionF
-	 */
-	public DataModelPropertyDescriptor(Object propertyValue, String propertyDescription) {
-		this.propertyValue = propertyValue;
-		this.propertyDescription = propertyDescription;
-	}
-
-	/**
-	 * <p>
-	 * Returns the property value.
-	 * </p>
-	 * 
-	 * @return the property value
-	 */
-	public Object getPropertyValue() {
-		return propertyValue;
-	}
-
-	/**
-	 * <p>
-	 * Returns a human readible property description. If a non null description has been specified,
-	 * then it will be returned. Otherwise, the property value's <code>toString()</code> will be
-	 * returned if it is not null. Otherwise the empty String (<code>""</code>) will be
-	 * returned. <code>null</code> will never be returned.
-	 * </p>
-	 * 
-	 * @return the human readible property description, never <code>null</code>
-	 */
-	public String getPropertyDescription() {
-		if (null != propertyDescription) {
-			return propertyDescription;
-		}
-		String str = (null != propertyValue) ? propertyValue.toString() : null;
-		return (null != str) ? str : ""; //$NON-NLS-1$
-	}
-	
-	public String toString(){
-		return getPropertyDescription();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModel.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModel.java
deleted file mode 100644
index 1d4a14e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModel.java
+++ /dev/null
@@ -1,724 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * <p>
- * IDataModels are the core piece of a framework used to simplify data collection, operation
- * execution, and Wizard generation.
- * </p>
- * <p>
- * IDataModels are primaryly an intelligent mechanism for managing data. Each IDataModel tracks
- * specific Objects known as "properties". Each property may be set or get using its property name.
- * A Collection of property names for an IDataModel instance may be retreived using
- * <code>getAllProperties()</code>. In addition to getting/setting properties, IDataModels may
- * also provide default values for unset properties, human readable descriptors for properties,
- * enumerations of valid property values, validation for properties, and enablement for properties.
- * </p>
- * <p>
- * IDataModels may also be nested (and unnested) recursively within another. When one IDataModel is
- * nested within another, then client code may access all properties on the former through the
- * latter. This is especially useful when the same IDataModel (tracking the same properties) may be
- * used within the context of several different broader scenarios. Nesting may apply to any
- * IDataModel, and may be abitraryly deep (even cylical if you dare). Nesting offers flexibility,
- * especially for extension by 3rd party clients.
- * </p>
- * <p>
- * Each IDataModel may also supply an IDataModelOperation (a subclass of
- * org.eclipse.core.commands.operations.IUndoableOperation) for execution. When executed within the
- * IDataModel framework all these operations are inherently and abitrarily extendable.
- * </p>
- * <p>
- * Each IDataModel may also indirectly supply a DataModelWizard. This indirection is necessary to
- * spilt UI dependencies from the core IDataModel framework. DataModelWizards are also inherently
- * extendable.
- * </p>
- * <p>
- * IDataModels are not meant to be instantiated directly, rather they are built from an
- * IDataModelProvider. Clients wishing to define their own IDataModel must do so by implementing an
- * IDataModelProvider. Clients wishing to utilize an IDataModel must create it using the
- * DataModelFactory with the associated IDataModelProvider.
- * </p>
- * 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation
- * 
- * @since 1.0
- */
-public interface IDataModel {
-
-	/**
-	 * <p>
-	 * Returns the unique ID which identifies this IDataModel instance. The same ID should be used
-	 * by the default operation (if any) for clients to extend or instantiate directly, the
-	 * DataModelWizard (if any) for clients to extend or instantiate directly.
-	 * </p>
-	 * <p>
-	 * Note, this is not the same as a hashcode. Multiple IDataModel instances created with the same
-	 * IDataModelProvider type will all have the same ID.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getID()
-	 * 
-	 * @return the unique ID for this IDataModel
-	 */
-	public String getID();
-
-	/**
-	 * <p>
-	 * Returns the default operation to execute against this IDataModel.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider. If the IDataModelProvider does
-	 * not define an operation, an empty operation will be returned; <code>null</code> will never
-	 * be returned.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getDefaultOperation()
-	 * 
-	 * @return the default operation or an empty operation; never <code>null</code>.
-	 */
-	public IDataModelOperation getDefaultOperation();
-
-	/**
-	 * <p>
-	 * This method only pertains to IDataModels for extedended operations. The returned extended
-	 * context is used by the IDataModelOperation framework to determine whether a particular
-	 * extended operation should execute. The returned list is should contain Objects adaptable to
-	 * IProject. This IDataModel's function groups are looked up through the extension mechanism. If
-	 * a function group is defined, it is first checked for enablement. Then each adapted IProject
-	 * is inspected to verify it handles the function group. If all these conditions are met, then
-	 * the extended operation associated with this IDataModel is executed; otherwise it is skipped.
-	 * If no function group is defined, or no extended context is defined (i.e. this method returns
-	 * an empty list, or the objects in the returned list are not adaptable to IProject) then the
-	 * extended operation will execute (it will never be skipped).
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * <p>
-	 * This method should not be called by clients.
-	 * </p>
-	 * 
-	 * @return a List of Objects adaptable to IProject or an empty list; never <code>null</code>.
-	 * 
-	 * @see IDataModelProvider#getExtendedContext()
-	 */
-	public List getExtendedContext();
-
-	/**
-	 * <p>
-	 * Returns the property value for the specified propertyName.
-	 * </p>
-	 * <p>
-	 * If the specified propertyName is not a property then a RuntimeException will be thrown.
-	 * </p>
-	 * <p>
-	 * Before the property is returned, first the owning IDataModel must be located. If the
-	 * specified propertyName is a base property {@link #isBaseProperty(String)}, then this
-	 * IDataModel is the owner. Otherwise, a recursive search through the nested IDataModels is
-	 * conducted to locate the owning IDataModel. If more than one nested IDataModel defines the
-	 * property, then the first one located is considered the owning IDataModel.
-	 * </p>
-	 * <p>
-	 * Once the owning IDataModel is found the property is checked to see if it is set
-	 * {@link #isPropertySet(String)}. If the property is set, the set value is returned. If the
-	 * property is not set, its default is returned {@link #getDefaultProperty(String)}.
-	 * </p>
-	 * <p>
-	 * There are convenience methods for getting primitive <code>int</code> and
-	 * <code>boolean</code> types as well as Strings.
-	 * <ul>
-	 * <li>{@link #getIntProperty(String)}</li>
-	 * <li>{@link #getBooleanProperty(String)}</li>
-	 * <li>{@link #getStringProperty(String)}</li>
-	 * </ul>
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the property
-	 * 
-	 * @see #setProperty(String, Object)
-	 * @see #getBooleanProperty(String)
-	 * @see #getIntProperty(String)
-	 * @see #getStringProperty(String)
-	 */
-	public Object getProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns the default property value for the specified propertyName.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#getDefaultProperty(String)
-	 */
-	public Object getDefaultProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * A convenience method for getting ints. If the property is set or has a default value then
-	 * this method is equavalent to:
-	 * </p>
-	 * <p>
-	 * <code>((Integer)getProperty(propertyName)).intValue();</code>
-	 * </p>
-	 * <p>
-	 * <code>-1</code> is returned if a call to getProperty(propertyName) returns
-	 * <code>null</code>.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the int value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #setIntProperty(String, int)
-	 */
-	public int getIntProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * A convenience method for getting booleans. If the property is set or has a default value then
-	 * this method is equavalent to:
-	 * </p>
-	 * <p>
-	 * <code>((Boolean)getProperty(propertyName)).booleanValue();</code>
-	 * </p>
-	 * <p>
-	 * <code>false</code> is returned if a call to getProperty(propertyName) returns
-	 * <code>null</code>.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name
-	 * @return the boolean value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #setBooleanProperty(String, boolean)
-	 */
-	public boolean getBooleanProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * A convenience method for getting Strings. If the property is set or has a default value then
-	 * this method is equavalent to:
-	 * </p>
-	 * <p>
-	 * <code>(String)getProperty(propertyName);</code>
-	 * </p>
-	 * <p>
-	 * <code>""</code> is returned if a call to getProperty(propertyName) returns
-	 * <code>null</code>.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 * @see #setProperty(String, Object)
-	 */
-	public String getStringProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Sets the specified propertyName to the specified propertyValue. Subsequent calls to
-	 * {@link #getProperty(String)} will return the same propertyValue.
-	 * </p>
-	 * <p>
-	 * When a propertyValue other than <code>null</code> is set, the property is considered
-	 * "set" (see {@link #isPropertySet(String)}), conversly, a propertyValue of <code>null</code>
-	 * is considered "unset".
-	 * </p>
-	 * <p>
-	 * If the specified propertyName is not a property (see {@link #isProperty(String)}) then a
-	 * RuntimeException will be thrown.
-	 * </p>
-	 * <p>
-	 * There are convenience methods for setting primitive <code>int</code> and
-	 * <code>boolean</code> types as well as Strings.
-	 * <ul>
-	 * <li>{@link #setIntProperty(String, int)}</li>
-	 * <li>{@link #setBooleanProperty(String, boolean)}</li>
-	 * <li>{@link #setStringProperty(String, String)}</li>
-	 * </ul>
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor may define additional post set logic in
-	 * {@link IDataModelProvider#propertySet(String, Object)}.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property to set
-	 * @param propertyValue
-	 *            the value to set the property
-	 * 
-	 * 
-	 * @see #getProperty(String)
-	 * @see #isPropertySet(String)
-	 * @see #isProperty(String)
-	 * @see IDataModelProvider#propertySet(String, Object)
-	 */
-	public void setProperty(String propertyName, Object propertyValue);
-
-	/**
-	 * <p>
-	 * A convenience method for setting ints. This method is equavalent to:
-	 * <p>
-	 * <code>setProperty(propertyName, new Integer(propertyValue));</code>
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property
-	 * @param propertyValue
-	 *            the <code>int</code> value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #getIntProperty(String)
-	 */
-	public void setIntProperty(String propertyName, int propertyValue);
-
-	/**
-	 * <p>
-	 * A convenience method for setting booleans. This method is equavalent to:
-	 * <p>
-	 * <code>setProperty(propertyName, (value) ? Boolean.TRUE : Boolean.FALSE);</code>
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property
-	 * @param propertyValue
-	 *            the <code>boolean</code> value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #getBooleanProperty(String)
-	 */
-	public void setBooleanProperty(String propertyName, boolean propertyValue);
-
-	/**
-	 * <p>
-	 * A convenience method for setting Strings. This method is equavalent to:
-	 * <p>
-	 * <code>setProperty(propertyName, propertyValue);</code>
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property
-	 * @param propertyValue
-	 *            the value of the property
-	 * @see #setProperty(String, Object)
-	 * @see #getStringProperty(String)
-	 */
-	public void setStringProperty(String propertyName, String propertyValue);
-
-	/**
-	 * <p>
-	 * This method is used to nest the specified IDataModel within this IDataModel. The
-	 * <code>nestedModelName</code> argument should be a unique String to identify this particular
-	 * nested IDataModel. The same String is required when accessing the nested IDataModel using
-	 * either {@link #getNestedModel(String)} or {@link #removeNestedModel(String)}. If the
-	 * specified nested IDataModel has already been nested under this IDataModel or it is the same
-	 * instance as this IDataModel, then calling this method will have no effect.
-	 * </p>
-	 * 
-	 * @param nestedModelName
-	 *            the name of the IDataModel to be nested
-	 * @param dataModel
-	 *            the IDataModel to be nested
-	 * @return <code>true</code> if the nesting was successful, <code>false</code> otherwise.
-	 * 
-	 * @see #getNestedModel(String)
-	 * @see #removeNestedModel(String)
-	 */
-	public boolean addNestedModel(String nestedModelName, IDataModel dataModel);
-
-	/**
-	 * <p>
-	 * Remove the specified nestedModel.
-	 * </p>
-	 * 
-	 * @param nestedModelName
-	 *            the name of the nested IDataModel to remove.
-	 * @return the IDataModel removed, or <code>null</code> if the nested model does not exist or
-	 *         if the specified name is null.
-	 */
-	public IDataModel removeNestedModel(String nestedModelName);
-
-	/**
-	 * Returns <code>true</code> if a nested model exists (at the top level only) with the
-	 * specified name and <code>false</code> otherwise.
-	 * 
-	 * @param nestedModelName
-	 *            the name of the nested IDataModel to check.
-	 * @return Returns <code>true</code> if a nested model exists (at the top level only) with the
-	 *         specified name and <code>false</code> otherwise.
-	 */
-	public boolean isNestedModel(String nestedModelName);
-
-	/**
-	 * Returns the nested IDataModel identified the by the specified name. A RuntimeException is
-	 * thrown if there is no such nested IDataModel (i.e. isNestedModel() would return
-	 * <code>false</code>).
-	 * 
-	 * @param nestedModelName
-	 *            the name of the nested IDataModel to get.
-	 * @return the nested IDataModel
-	 */
-	public IDataModel getNestedModel(String nestedModelName);
-
-	/**
-	 * Returns a Collection of all nested IDataModels, or an empty Collection if none exist.
-	 * 
-	 * @return a Collection of all nested IDataModels, or an empty Collection if none exist.
-	 */
-	public Collection getNestedModels();
-
-	/**
-	 * Returns a Collection of all nested IDataModels names, or an empty Collection if none exist.
-	 * 
-	 * @return a Collection of all nested IDataModels names, or an empty Collection if none exist.
-	 */
-	public Collection getNestedModelNames();
-
-	/**
-	 * Returns a Collection of all nesting (the inverse of nested) IDataModels, or an empty
-	 * Collection if none exist.
-	 * 
-	 * @return a Collection of all nesting (the inverse of nested) IDataModels, or an empty
-	 *         Collection if none exist.
-	 */
-	public Collection getNestingModels();
-
-	/**
-	 * Returns a Collection of all base properties (not including nested properties), or an empty
-	 * Collection if none exist.
-	 * 
-	 * @return a Collection of all base properties (not including nested properties), or an empty
-	 *         Collection if none exist.
-	 */
-	public Collection getBaseProperties();
-
-	/**
-	 * Returns a Collection of all properties of recursively nested IDataModels, or an empty
-	 * Collection if none exist.
-	 * 
-	 * @return a Collection of all properties of recursively nested IDataModels, or an empty
-	 *         Collection if none exist.
-	 */
-	public Collection getNestedProperties();
-
-	/**
-	 * Returns a Collection of all properties (the union of getBaseProperties() and
-	 * getNestedProperties()), or an empty Collection if none exist.
-	 * 
-	 * @return a Collection of all properties (the union of getBaseProperties() and
-	 *         getNestedProperties()), or an empty Collection if none exist.
-	 */
-	public Collection getAllProperties();
-
-	/**
-	 * Returns <code>true</code> if the specified propertyName is a valid propertyName for this
-	 * root IDataModel only. Nested IDataModels are not checked, though it is possible for a nested
-	 * IDataModel to contain the same property.
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if this property is a base property, <code>false</code>
-	 *         otherwise.
-	 * 
-	 * @see #isProperty(String)
-	 * @see #isNestedProperty(String)
-	 */
-	public boolean isBaseProperty(String propertyName);
-
-	/**
-	 * Returns <code>true</code> if the specified propertyName is a valid propertyName for this
-	 * DataModel or any of its (recursively) nested IDataModels.
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if this is a property, <code>false</code> otherwise.
-	 * 
-	 * @see #isBaseProperty(String)
-	 */
-	public boolean isProperty(String propertyName);
-
-	/**
-	 * Returns <code>true</code> if the specified propertyName is a valid propertyName for any of
-	 * its (recursively) nested IDataModels. The root IDataModel is not checked, though it is
-	 * possible for the root IDataModel to contain the same property.
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if the property is nested, <code>false</code> otherwise.
-	 * @see #isBaseProperty(String)
-	 */
-	public boolean isNestedProperty(String propertyName);
-
-	/**
-	 * Returns <code>true</code> if the specified property has been set on the IDataModel. If it
-	 * has not been set, then a call to get the same property will return the default value.
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if the property is set, <code>false</code> otherwise.
-	 */
-	public boolean isPropertySet(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>true</code> if the specified property is enabled and <code>false</code>
-	 * otherwise.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#isPropertyEnabled(String)
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>true</code> if the specified property is enabled and <code>false</code>
-	 *         otherwise.
-	 */
-	public boolean isPropertyEnabled(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>false</code> if the the IStatus returned by validateProperty(String) is ERROR
-	 * and <code>true</code> otherwise.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the property name to check
-	 * @return <code>false</code> if the the IStatus returned by validateProperty(String) is ERROR
-	 *         and <code>true</code> otherwise.
-	 */
-	public boolean isPropertyValid(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns an IStatus for the specified property. Retuns an IStatus.OK if the returned value is
-	 * valid with respect itself, other properites, and broader context of the IDataModel.
-	 * IStatus.ERROR is returned if the returned value is invalid. IStatus.WARNING may also be
-	 * returned if the value is not optimal.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @see IDataModelProvider#validate(String)
-	 */
-	public IStatus validateProperty(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns <code>false</code> if the IStatus returned by validate(true) is ERROR and
-	 * <code>true</code> otherwise.
-	 * </p>
-	 * 
-	 * @return <code>false</code> if the IStatus returned by validate(true) is ERROR and
-	 *         <code>true</code> otherwise.
-	 */
-	public boolean isValid();
-
-	/**
-	 * <p>
-	 * Equavalent to calling <code>validate(true)</code>.
-	 * </p>
-	 * 
-	 * @return an IStatus
-	 */
-	public IStatus validate();
-
-	/**
-	 * <p>
-	 * Iterates over all base properties and nested models IDs and calls validate(String). This
-	 * method returns when any call to validate(String) returns an IStatus error and
-	 * stopAtFirstFailure is set to true.
-	 * <p>
-	 * 
-	 * @param stopAtFirstFailure
-	 *            whether validation should stop at the first failure
-	 * @return an IStatus
-	 */
-	public IStatus validate(boolean stopAtFirstFailure);
-
-
-
-	/**
-	 * <p>
-	 * Returns a DataModelPropertyDescriptor for the specified property. The
-	 * <code>getPropertyValue()</code> method on the returned DataModelPropertyDescriptor will be
-	 * the same value as returned by <code>getPropertyValue(propertyName)</code>.
-	 * </p>
-	 * <p>
-	 * Following the example introduced in {@link #getValidPropertyDescriptors(String)}, suppose
-	 * the <code>SHIRT_SIZE</code> property is currently set to 1. A call to this method would
-	 * return a DataModelPropertyDescriptor whose <code>getPropertyValue()</code> returns
-	 * <code>1</code> and whose <code>getPropertyDescription()</code> returns <code>small</code>.
-	 * </p>
-	 * <p>
-	 * Also, note that even if a particular property is not confined to a finite set of values as
-	 * defined by {@link #getValidPropertyDescriptors(String)}this method will always return a
-	 * valid DataModelPropertyDescriptor.
-	 * </p>
-	 * 
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 * @return the DataModelPropertyDescriptor for the specified property
-	 * 
-	 * @see #getValidPropertyDescriptors(String)
-	 */
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName);
-
-	/**
-	 * <p>
-	 * Returns a DataModelPropertyDescriptor array consisting of all valid
-	 * DataModelPropertyDescriptors for the specified property. Each
-	 * {@link DataModelPropertyDescriptor} contains a value and a human readible description for the
-	 * value. The set of all values in the returned array are those values which are valid for the
-	 * IDataModel. This value set only makes sense when valid property values conform to a well
-	 * defined finite set. If no such value set exists for the property, then a 0 length array is
-	 * returned. <code>null</code> is never returned.
-	 * </p>
-	 * <p>
-	 * As an example, suppose there is a property called <code>SHIRT_SIZE</code> which is an
-	 * <code>Integer</code> type. Also suppse that valid shirt sizes are only small, medium, or
-	 * large. However, the actual values representing small, medium, and large are 1, 2, and 3
-	 * respectively. A call to <code>getValidPropertyDescriptors(SHIRT_SIZE)</code> would return a
-	 * DataModelPropertyDescriptor array where the value, description pairs would be {(1, small),
-	 * (2, medium), (3, large)}.
-	 * </p>
-	 * <p>
-	 * An IDataModel implementor defines this in IDataModelProvider.
-	 * </p>
-	 * 
-	 * 
-	 * @param propertyName
-	 *            then name of the property to check
-	 * @return the array of valid DataModelPropertyDescriptors
-	 * @see #getPropertyDescriptor(String)
-	 */
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName);
-
-	/**
-	 * <p>
-	 * Adds the specified IDataModelListener to listen for DataModelEvents. If the specified
-	 * listener has already been added, calling this method will have no effect.
-	 * </p>
-	 * 
-	 * @param dataModelListener
-	 *            the new listener to add.
-	 * 
-	 * @see #removeListener(IDataModelListener)
-	 */
-	public void addListener(IDataModelListener dataModelListener);
-
-	/**
-	 * <p>
-	 * Remove the specified IDataModelListener. If the specified listener is not a registered
-	 * listenr on this IDataModel, then calling this method will have no effect.
-	 * </p>
-	 * 
-	 * @param dataModelListener
-	 *            the listener to remove.
-	 * @see #addListener(IDataModelListener)
-	 */
-	public void removeListener(IDataModelListener dataModelListener);
-
-	/**
-	 * <p>
-	 * A constant used for notification.
-	 * </p>
-	 * 
-	 * @see DataModelEvent#VALUE_CHG
-	 * @see #notifyPropertyChange(String, int)
-	 */
-	public static final int VALUE_CHG = DataModelEvent.VALUE_CHG;
-	/**
-	 * <p>
-	 * A constant used for notification. This contant is different from the others because it does
-	 * not map to an event type on DataModelEvent. When notifying with this type, a check is first
-	 * done to see whether the property is set. If the property is <empf>NOT</emph> set, then a
-	 * <code>VALUE_CHG</code> is fired, otherwise nothing happens.
-	 * </p>
-	 * 
-	 * @see #notifyPropertyChange(String, int)
-	 */
-	public static final int DEFAULT_CHG = DataModelEvent.DEFAULT_CHG;
-	/**
-	 * <p>
-	 * A constant used for notification.
-	 * </p>
-	 * 
-	 * @see DataModelEvent#ENABLE_CHG
-	 * @see #notifyPropertyChange(String, int)
-	 */
-	public static final int ENABLE_CHG = DataModelEvent.ENABLE_CHG;
-	/**
-	 * <p>
-	 * A constant used for notification.
-	 * </p>
-	 * 
-	 * @see DataModelEvent#VALID_VALUES_CHG
-	 * @see #notifyPropertyChange(String, int)
-	 */
-	public static final int VALID_VALUES_CHG = DataModelEvent.VALID_VALUES_CHG;
-
-	/**
-	 * <p>
-	 * Notify all listeners of a property change. <code>eventType</code> specifies the type of
-	 * change. Acceptible values for eventType are <code>VALUE_CHG</code>,
-	 * <code>DEFAULT_CHG</code>, <code>ENABLE_CHG</code>, <code>VALID_VALUES_CHG</code>. If
-	 * the eventType is <code>DEFAULT_CHG</code> and the specified property is set, then this
-	 * method will do nothing.
-	 * </p>
-	 * <p>
-	 * Typically this method should only be invoked by an IDataModelProvider from its propertySet
-	 * implementation.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the name of the property changing
-	 * @param eventType
-	 *            the type of event to fire
-	 * 
-	 * @see #VALUE_CHG
-	 * @see #DEFAULT_CHG
-	 * @see #ENABLE_CHG
-	 * @see #VALID_VALUES_CHG
-	 * @see DataModelEvent
-	 */
-	public void notifyPropertyChange(String propertyName, int eventType);
-
-	/**
-	 * <p>
-	 * A typical dispose method used to clean up any resources not handled by general garbage
-	 * collection.
-	 * </p>
-	 * 
-	 */
-	public void dispose();
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelListener.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelListener.java
deleted file mode 100644
index d50aa4a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-/**
- * <p>
- * The interface required when listening for DataModelEvents from an IDataModel.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel#addListener(IDataModelListener)
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelEvent
- * 
- * @since 1.0
- */
-public interface IDataModelListener {
-
-	/**
-	 * <p>
-	 * Sent when DataModelEvents occur.
-	 * </p>
-	 * 
-	 * @param event
-	 *            the DataModelEvent
-	 */
-	public void propertyChanged(DataModelEvent event);
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelOperation.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelOperation.java
deleted file mode 100644
index 8029d64..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelOperation.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.common.environment.IEnvironment;
-
-/**
- * <p>
- * IDataModelOperation defines an IDataModel driven undoable operation. Every IDataModelOperation
- * may be extended by third party clients using the extended operation framework.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel
- * 
- * @since 1.0
- */
-public interface IDataModelOperation extends IUndoableOperation {
-
-	/**
-	 * <p>
-	 * Sets the unique operation id. Typically, clients should not invoke this method.
-	 * </p>
-	 * 
-	 * @param id
-	 *            the unique operation id
-	 */
-	public void setID(String id);
-
-	/**
-	 * <p>
-	 * Returns the unique operation id.
-	 * </p>
-	 * 
-	 * @return the unique operation id
-	 */
-	public String getID();
-
-	/**
-	 * <p>
-	 * Sets the IDataModel for this operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            the IDataModel used to run this operation
-	 */
-	public void setDataModel(IDataModel model);
-
-	/**
-	 * <p>
-	 * Returns this operation's IDataModel.
-	 * </p>
-	 * 
-	 * @return this operation's IDataModel.
-	 */
-	public IDataModel getDataModel();
-
-	public Set getDataModelIDs();
-
-	public ISchedulingRule getSchedulingRule();
-
-	public int getOperationExecutionFlags();
-
-  /**
-   * The framework will set the environment on this operation 
-   * before it is executed.  The operation can then use the
-   * environment to report status, log information, and access
-   * resources in an environment neutral way.
-   */
-  public void setEnvironment( IEnvironment environment );
-  
-  /**
-   * An operation can specify a list of operations that should run
-   * before this operation.  Subclasses can override this method to 
-   * provide these operations.  The operations provided will be
-   * executed in the order specified in the list.
-   * @return returns a list of data model operations or null.  
-   * Null indicates that there are no pre operations.
-   */
-  public List getPreOperations();
-  
-  /**
-   * An operation can specify a list of operations that should run
-   * after this operation.  Subclasses can override this method to 
-   * provide these operations.  The operations provided will be
-   * executed in the order specified in the list.
-   * @return returns a list of data model operations or null.
-   * Null indicates that there are no post operations.
-   */
-  public List getPostOperations();
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProperties.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProperties.java
deleted file mode 100644
index a52d3cf..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProperties.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-/**
- * <p>
- * IDataModelProperties provides the base interface for all Data Model Properties interfaces.
- * The interface itself can be used to access an instance of the IDataModel and IDataModelProvider which will be registered
- * against with the interface.  IDataModels are not meant to be instantiated directly, rather they are built from an
- * IDataModelProvider. In this way the user will call to the DataModelFactory passing in the interface,
- * which will return the correct IDataModel. 
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory
- * 
- * @since 1.0
- */
-public interface IDataModelProperties {
-
-	/**
-	 * A boolean property defaults to Boolean.TRUE. If this is set to Boolean.FALSE no extended
-	 * operations will be executed.
-	 */
-	public static final String ALLOW_EXTENSIONS = "IDataModelProperties.ALLOW_EXTENSIONS"; //$NON-NLS-1$
-	
-	/**
-	 * A List containing String objects, defautls to an empty List. If this list contains elements
-	 * and ALLOW_EXTENSIONS is set to Boolean.TRUE, then only extended operations not identified in
-	 * this list will be executed. These strings should either be the operation id or the fully
-	 * qualified operation class name.
-	 */
-	public static final String RESTRICT_EXTENSIONS = "IDataModelProperties.RESTRICT_EXTENSIONS"; //$NON-NLS-1$
-	
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProvider.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProvider.java
deleted file mode 100644
index 63a2723..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/IDataModelProvider.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.datamodel;
-
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-/**
- * IDataModelProviders are used by the DataMdoelFactory to construct IDataModels.  
- * 
- * 
- * @since 1.0
- */
-public interface IDataModelProvider extends IDataModelProperties {
-
-	public static IStatus OK_STATUS = new Status(IStatus.OK, "org.eclipse.wst.common.frameworks.internal", 0, "OK", null); //$NON-NLS-1$ //$NON-NLS-2$
-
-	public void setDataModel(IDataModel dataModel);
-
-	/**
-	 * <p>
-	 * Returns the backing IDataModel for this provider.
-	 * </p>
-	 * 
-	 * @return the backing IDataModel
-	 */
-	public IDataModel getDataModel();
-
-	/**
-	 * <p>
-	 * Returns a list of property names for which this provider is responsible. This method is
-	 * called only once during initialization.
-	 * </p>
-	 * 
-	 * @return the array of valid property names.
-	 */
-	public Set getPropertyNames();
-
-	/**
-	 * <p>
-	 * Providers should perform additional initialization here.
-	 * </p>
-	 */
-	public void init();
-
-	/**
-	 * <p>
-	 * This is where the provider should define how default properties should be computed.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @return the default property value
-	 */
-	public Object getDefaultProperty(String propertyName);
-
-
-	/**
-	 * <p>
-	 * This is where the provider should define how property enablements are computed.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 *            the specified property
-	 * @return <code>true</code> if the property is enabled, <code>false</code> otherwise.
-	 */
-	public boolean isPropertyEnabled(String propertyName);
-
-	/**
-	 * IDataModelProviders should perform property validation here. All calls to
-	 * IDataModel.validateProperty(String) are routed to the appropriate IDatModelProvider. When
-	 * IDataModel.validate() or IDataModel.validate(boolean) are called to validate the entire
-	 * IDataModel, any nested model names are also passed through to the IDataModelProvider for a
-	 * chance to validate the nested IDataModel in an appropriate manner.
-	 * 
-	 * @param name
-	 * @return an IStatus
-	 */
-	public IStatus validate(String name);
-
-	/**
-	 * <p>
-	 * This is a special callback hook for the IDataModel provider to be notified of a setProperty()
-	 * call invoked on the backing IDataModel. This method is called after the actual value has been
-	 * stored by the IDataModel but before any general notifications are fired to its listeners.
-	 * Thus this IDataModelProvider may react to updates apropriately by setting other properties,
-	 * notifying default changes, notifying valid value changes, etc.
-	 * </p>
-	 * 
-	 * @param propertyName
-	 * @param propertyValue
-	 * @return <code>true</code> to fire a VALUE_CHG DataModelEvent.
-	 */
-	public boolean propertySet(String propertyName, Object propertyValue);
-
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName);
-
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName);
-
-	public List getExtendedContext();
-
-	public IDataModelOperation getDefaultOperation();
-
-	public String getID();
-
-	public void dispose();
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/package.xml b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/package.xml
deleted file mode 100644
index 855e7a4..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/package.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../../" />
-        <title>Component creation and Referenced Component api overview</title>
-    </head>
-
-    <body>  
-		<abstract>
-        This package includes API  for Data Model Provider framework for builing executable
-        and undoable operations using data models, their providers and provider interfaces that
-        contain the properties used by the providers to set and retrieve these propertiese. 
-		</abstract>
-
-	<a href="#top">top</a>
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/properties/package.xml b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/properties/package.xml
deleted file mode 100644
index caaf774..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/datamodel/properties/package.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../../../" />
-        <title>Component creation and Referenced Component api overview</title>
-    </head>
-
-    <body>  
-		<abstract>
-        This package includes API that defines the propeties that can be set on a flexible
-        project datamodel to drive the the wizard and operations.
-		</abstract>
-
-	<a href="#top">top</a>
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AbstractRegistryDescriptor.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AbstractRegistryDescriptor.java
deleted file mode 100644
index d4069c5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AbstractRegistryDescriptor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 12, 2004
- *
- */
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.common.frameworks.internal.enablement.FunctionGroupRegistry;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementIdentifier;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementManager;
-import org.eclipse.wst.common.frameworks.internal.enablement.Identifiable;
-
-
-/**
- * @author schacher
- * 
- * Common superclass for enablement-aware (e.g., using function groups or activiities) extension
- * points.
- */
-public abstract class AbstractRegistryDescriptor extends ConfigurationElementWrapper implements Identifiable {
-
-	protected Integer priority;
-
-	public AbstractRegistryDescriptor(IConfigurationElement anElement) {
-		super(anElement);
-	}
-
-	public IEnablementIdentifier getEnablementIdentifier(IProject project) {
-		return IEnablementManager.INSTANCE.getIdentifier(getID(), project);
-	}
-
-	public abstract String getID();
-
-	public int getPriority() {
-		if (priority == null)
-			priority = new Integer(FunctionGroupRegistry.getInstance().getFunctionPriority(getID()));
-		return priority.intValue();
-	}
-
-	public boolean isEnabled(IProject p) {
-		IEnablementIdentifier id = getEnablementIdentifier(p);
-		return id.isEnabled();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AdaptabilityUtility.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AdaptabilityUtility.java
deleted file mode 100644
index 9e8a19d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/AdaptabilityUtility.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.frameworks.internal;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * @author mdelder
- *  
- */
-public class AdaptabilityUtility {
-
-
-	public static Object getAdapter(Object element, Class adapter) {
-		if (element == null)
-			return null;
-		else if (element instanceof IAdaptable)
-			return ((IAdaptable) element).getAdapter(adapter);
-		else
-			return Platform.getAdapterManager().getAdapter(element, adapter);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ConfigurationElementWrapper.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ConfigurationElementWrapper.java
deleted file mode 100644
index 1f3572a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ConfigurationElementWrapper.java
+++ /dev/null
@@ -1,69 +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 Oct 20, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-
-/**
- * @author schacher
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class ConfigurationElementWrapper {
-
-	protected IConfigurationElement element;
-
-	/**
-	 *  
-	 */
-	public ConfigurationElementWrapper(IConfigurationElement element) {
-		super();
-		this.element = element;
-	}
-
-
-
-	/**
-	 * @return Returns the element.
-	 */
-	protected IConfigurationElement getElement() {
-		return element;
-	}
-
-	/**
-	 * Return the plugin id of the configuration element
-	 * 
-	 * @return
-	 */
-	public String getPluginId() {
-		String pluginId = null;
-
-		if (element != null) {
-			IExtension extension = element.getDeclaringExtension();
-
-			if (extension != null) {
-				pluginId = extension.getNamespace();
-				// TODO jsholl is this correct???
-			}
-		}
-
-		return pluginId;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/DataModelManager.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/DataModelManager.java
deleted file mode 100644
index 5396fd7..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/DataModelManager.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class DataModelManager {
-	private IDataModel rootDataModel;
-	private HashMap nestedModelEntries; // Element = java.lang.Integer
-
-	public DataModelManager(IDataModel rootDataModel) {
-		this.rootDataModel = rootDataModel;
-		nestedModelEntries = new HashMap();
-
-		Iterator names = this.rootDataModel.getNestedModelNames().iterator();
-
-		while (names.hasNext()) {
-			String nestedModelName = (String) names.next();
-			nestedModelEntries.put(nestedModelName, new Integer(1));
-		}
-	}
-
-	public IDataModel getDataModel() {
-		return rootDataModel;
-	}
-
-	public void addNestedDataModel(String dataModelID) {
-		Integer referenceCount = (Integer) nestedModelEntries.get(dataModelID);
-
-		if (referenceCount == null) {
-			// This nested data model is not currently in the root data model.
-			// Therefore, we need to create one and add it as a nested data model.
-			IDataModel dataModel = DataModelFactory.createDataModel(dataModelID);
-
-			if (dataModel != null) {
-				rootDataModel.addNestedModel(dataModelID, dataModel);
-				nestedModelEntries.put(dataModelID, new Integer(1));
-			}
-		} else {
-			// We already have this data model nested in the root data model
-			// so just increment the reference count.
-			nestedModelEntries.put(dataModelID, new Integer(referenceCount.intValue() + 1));
-		}
-	}
-
-	public void removeNestedDataModel(String dataModelID) {
-		Integer referenceCount = (Integer) nestedModelEntries.get(dataModelID);
-
-		if (referenceCount != null) {
-			int newRefCount = referenceCount.intValue() - 1;
-
-			if (newRefCount == 0) {
-				// Remove the nested data model.
-				nestedModelEntries.remove(dataModelID);
-				rootDataModel.removeNestedModel(dataModelID);
-			} else {
-				// Set the table entry to the decremented ref count value.
-				nestedModelEntries.put(dataModelID, new Integer(newRefCount));
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ExceptionHelper.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ExceptionHelper.java
deleted file mode 100644
index 517d65b..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ExceptionHelper.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 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(IWrappedException exception) {
-		List messages = new ArrayList(4);
-		messages.add(exception.getMessage());
-		Exception nested = exception.getNestedException();
-		while (nested != null) {
-			messages.add(nested.getMessage());
-			if (nested instanceof IWrappedException)
-				nested = ((IWrappedException) 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(IWrappedException 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.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISaveHandler.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISaveHandler.java
deleted file mode 100644
index f67ce31..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/ISaveHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Defines the API for coping with attempts to overwrite read-only files or save failures
- */
-public interface ISaveHandler {
-	public void access();
-
-	public void handleSaveFailed(SaveFailedException ex, IProgressMonitor monitor);
-
-	public void release();
-
-	public boolean shouldContinueAndMakeFileEditable(IFile aFile);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/IWrappedException.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/IWrappedException.java
deleted file mode 100644
index 7b3f3ae..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/IWrappedException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-/**
- * Common interface for ArchiveRuntime and ArchiveWrapped exceptions, which can contain nested
- * exceptions
- */
-public interface IWrappedException {
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to innermost
-	 */
-	public String[] getAllMessages();
-
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to
-	 * innermost, concatenated as one
-	 */
-	public String getConcatenatedMessages();
-
-	public Exception getInnerMostNestedException();
-
-	public String getMessage();
-
-	public java.lang.Exception getNestedException();
-
-	public void printStackTrace();
-
-	public void printStackTrace(java.io.PrintStream s);
-
-	public void printStackTrace(java.io.PrintWriter s);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/Messages.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/Messages.java
deleted file mode 100644
index d8756a9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/Messages.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 Nov 21, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public abstract class Messages {
-	//Resource bundle.
-	protected ResourceBundle resourceBundle;
-
-	/**
-	 * The constructor.
-	 */
-	public Messages() {
-		initializeBundle();
-	}
-
-	protected abstract void initializeBundle();
-
-	/**
-	 * Returns the string from the resource bundle, or 'key' if not found.
-	 */
-	protected String doGetResourceString(String key) {
-		try {
-			return (resourceBundle != null ? resourceBundle.getString(key) : key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	protected String doGetResourceString(String key, Object[] args) {
-		String pattern = doGetResourceString(key);
-		if (pattern != null)
-			return MessageFormat.format(pattern, args);
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/OperationListener.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/OperationListener.java
deleted file mode 100644
index e6efab7..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/OperationListener.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-public interface OperationListener {
-	/**
-	 * 
-	 * @param operation
-	 *            the operation for this traversal event.
-	 * @return return true if the traversal of operations should continue.
-	 */
-	public boolean notify(IDataModelOperation operation);
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/OperationManager.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/OperationManager.java
deleted file mode 100644
index c40a66b..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/OperationManager.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.Stack;
-import java.util.Vector;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.datamodel.IWorkspaceRunnableWithStatus;
-import org.eclipse.wst.common.frameworks.internal.operations.ComposedExtendedOperationHolder;
-import org.eclipse.wst.common.frameworks.internal.operations.OperationStatus;
-
-public class OperationManager {
-	private IDataModel dataModel;
-	private DataModelManager dataModelManager;
-	private TableEntry rootOperation;
-	private HashMap operationTable;
-	private Stack runStopList;
-	private IProgressMonitor monitor;
-	private IAdaptable adaptable;
-	private OperationStatus status;
-	private OperationListener preExecuteListener;
-	private OperationListener postExecuteListener;
-	private OperationListener undoExecuteListener;
-	private IEnvironment environment;
-
-	public OperationManager(DataModelManager aDataModelManager, IDataModelOperation aRootOperation, IEnvironment aEnvironment) {
-		if (aRootOperation == null)
-			aRootOperation = new NullOperation();
-
-		TableEntry entry = new TableEntry(aRootOperation);
-
-		dataModelManager = aDataModelManager;
-		dataModel = dataModelManager.getDataModel();
-		rootOperation = entry;
-		operationTable = new HashMap();
-		runStopList = new Stack();
-		operationTable.put(aRootOperation.getID(), entry);
-		environment = aEnvironment;
-		addExtendedOperations(aRootOperation);
-
-		OperationListener defaultListener = new OperationListener() {
-			public boolean notify(IDataModelOperation operation) {
-				return true;
-			}
-		};
-
-		preExecuteListener = defaultListener;
-		postExecuteListener = defaultListener;
-		undoExecuteListener = defaultListener;
-	}
-
-	public void setProgressMonitor(IProgressMonitor monitor) {
-		this.monitor = monitor;
-	}
-
-	public void setAdaptable(IAdaptable adaptable) {
-		this.adaptable = adaptable;
-	}
-
-	public void addExtendedPreOperation(String operationId, IDataModelOperation insertOperation) {
-		TableEntry entry = (TableEntry) operationTable.get(operationId);
-
-		if (entry != null) {
-			TableEntry newEntry = new TableEntry(insertOperation);
-
-			entry.preOperations.add(newEntry);
-			operationTable.put(insertOperation.getID(), newEntry);
-		}
-	}
-
-	public void addExtendedPostOperation(String operationId, IDataModelOperation insertOperation) {
-		TableEntry entry = (TableEntry) operationTable.get(operationId);
-
-		if (entry != null) {
-			TableEntry newEntry = new TableEntry(insertOperation);
-
-			entry.postOperations.add(newEntry);
-			operationTable.put(insertOperation.getID(), newEntry);
-		}
-	}
-
-	public void setPreExecuteListener(OperationListener listener) {
-		if (listener != null)
-			preExecuteListener = listener;
-	}
-
-	public void setPostExecuteListener(OperationListener listener) {
-		if (listener != null)
-			postExecuteListener = listener;
-	}
-
-	public void setUndoExecuteListener(OperationListener listener) {
-		if (listener != null)
-			undoExecuteListener = listener;
-	}
-
-	public IStatus runOperations() {
-		boolean continueRun = true;
-		RunListEntry runEntry = startNewRun();
-
-		status = null;
-
-		// All operations have already been run so just return OK.
-		if (runEntry.stackEntries.empty())
-			return Status.OK_STATUS;
-
-		while (continueRun) {
-			continueRun = runOperationsUntilStopped(runEntry) && !runEntry.stackEntries.empty();
-		}
-
-		if (status != null && status.getSeverity() == IStatus.ERROR) {
-			undoLastRun();
-		}
-		return status;
-	}
-
-	public void undoLastRun() {
-		if (!runStopList.empty()) {
-			RunListEntry runListEntry = (RunListEntry) runStopList.pop();
-
-			for (int index = runListEntry.executedOperations.size() - 1; index >= 0; index--) {
-				IDataModelOperation operation = (IDataModelOperation) runListEntry.executedOperations.elementAt(index);
-				Set dataModelIDs = operation.getDataModelIDs();
-
-				if (dataModelIDs != null && dataModelIDs.size() > 0) {
-					Iterator ids = dataModelIDs.iterator();
-
-					while (ids.hasNext()) {
-						String dataModelID = (String) ids.next();
-						dataModelManager.removeNestedDataModel(dataModelID);
-					}
-				}
-
-				try {
-					undoExecuteListener.notify(operation);
-				} catch (Throwable exc) {
-					// TODO report undo notify exception.
-				}
-
-				if (operation.canUndo()) {
-					try {
-						runOperation(operation, true);
-					} catch (Throwable exc) {
-						// TODO report an undo exception here.
-					}
-				}
-			}
-		}
-	}
-
-	private RunListEntry startNewRun() {
-		RunListEntry newEntry = null;
-
-		if (runStopList.empty()) {
-			newEntry = new RunListEntry(rootOperation);
-		} else {
-			RunListEntry topRunList = (RunListEntry) runStopList.peek();
-			newEntry = new RunListEntry(topRunList);
-		}
-
-		runStopList.push(newEntry);
-
-		return newEntry;
-	}
-
-	private boolean runOperationsUntilStopped(RunListEntry runListEntry) {
-		StackEntry stackEntry = (StackEntry) runListEntry.stackEntries.peek();
-		boolean continueRun = true;
-
-		// Run extended pre operations.
-		for (int index = stackEntry.preOperationIndex + 1; continueRun && index < stackEntry.tableEntry.preOperations.size(); index++) {
-			TableEntry tableEntry = (TableEntry) stackEntry.tableEntry.preOperations.elementAt(index);
-
-			runListEntry.stackEntries.push(new StackEntry(tableEntry));
-			stackEntry.preOperationIndex = index;
-			continueRun = runOperationsUntilStopped(runListEntry);
-		}
-
-		if (continueRun && stackEntry.preOpChildIndex == -1)
-			stackEntry.addPreOpChildren();
-
-		// Run child pre operations.
-		for (int index = stackEntry.preOpChildIndex + 1; continueRun && index < stackEntry.preOpChildren.size(); index++) {
-			TableEntry tableEntry = (TableEntry) stackEntry.preOpChildren.elementAt(index);
-
-			runListEntry.stackEntries.push(new StackEntry(tableEntry));
-			stackEntry.preOpChildIndex = index;
-			continueRun = runOperationsUntilStopped(runListEntry);
-		}
-
-		if (continueRun && !stackEntry.operationExecuted) {
-			IDataModelOperation operation = stackEntry.tableEntry.operation;
-
-			try {
-				continueRun = preExecuteListener.notify(operation);
-
-				if (continueRun) {
-					Set dataModelIDs = operation.getDataModelIDs();
-
-					if (dataModelIDs != null && dataModelIDs.size() > 0) {
-						Iterator ids = dataModelIDs.iterator();
-
-						while (ids.hasNext()) {
-							String dataModelID = (String) ids.next();
-							dataModelManager.addNestedDataModel(dataModelID);
-						}
-					}
-
-					operation.setDataModel(dataModel);
-					operation.setEnvironment(environment);
-					setStatus(runOperation(operation, false));
-					runListEntry.executedOperations.add(operation);
-					stackEntry.operationExecuted = true;
-					continueRun = postExecuteListener.notify(operation);
-				}
-			} catch (Throwable exc) {
-				setStatus(new Status(IStatus.ERROR, "id", 0, exc.getMessage() == null ? exc.toString() : exc.getMessage(), exc));
-			}
-
-			if (status != null && status.getSeverity() == IStatus.ERROR) {
-				// This isn't really true, but it will cause the run operations to stop.
-				continueRun = false;
-			}
-		}
-
-		if (continueRun && stackEntry.postOpChildIndex == -1)
-			stackEntry.addPostOpChildren();
-
-		// Run child post operations.
-		for (int index = stackEntry.postOpChildIndex + 1; continueRun && index < stackEntry.postOpChildren.size(); index++) {
-			TableEntry tableEntry = (TableEntry) stackEntry.postOpChildren.elementAt(index);
-
-			stackEntry.postOpChildIndex = index;
-			runListEntry.stackEntries.push(new StackEntry(tableEntry));
-			continueRun = runOperationsUntilStopped(runListEntry);
-		}
-
-		// Run extended post operations.
-		for (int index = stackEntry.postOperationIndex + 1; continueRun && index < stackEntry.tableEntry.postOperations.size(); index++) {
-			TableEntry tableEntry = (TableEntry) stackEntry.tableEntry.postOperations.elementAt(index);
-
-			stackEntry.postOperationIndex = index;
-			runListEntry.stackEntries.push(new StackEntry(tableEntry));
-			continueRun = runOperationsUntilStopped(runListEntry);
-		}
-
-		// If we are have run the pre ops, this operation, and
-		// the post ops, we should pop this entry off the stack.
-		// Also, if continueRun is false we don't want to pop the stack since we will want to come
-		// back to this entry later.
-		if (continueRun) {
-			runListEntry.stackEntries.pop();
-		}
-
-		return continueRun;
-	}
-
-	private IStatus runOperation(final IDataModelOperation operation, final boolean isUndo) {
-		IWorkspaceRunnableWithStatus workspaceRunnable = new IWorkspaceRunnableWithStatus(adaptable) {
-			public void run(IProgressMonitor pm) throws CoreException {
-				try {
-					if (isUndo) {
-						this.setStatus(operation.undo(monitor, getInfo()));
-					} else {
-						this.setStatus(operation.execute(monitor, getInfo()));
-					}
-				} catch (Throwable exc) {
-					exc.printStackTrace();
-				}
-			}
-		};
-
-		ISchedulingRule rule = operation.getSchedulingRule();
-
-		try {
-			if (rule == null) {
-				ResourcesPlugin.getWorkspace().run(workspaceRunnable, monitor);
-			} else {
-				ResourcesPlugin.getWorkspace().run(workspaceRunnable, rule, operation.getOperationExecutionFlags(), monitor);
-			}
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return workspaceRunnable.getStatus();
-	}
-
-	private void setStatus(IStatus newStatus) {
-		if (status == null) {
-			status = new OperationStatus(newStatus.getMessage(), newStatus.getException());
-			status.setSeverity(newStatus.getSeverity());
-			status.add(newStatus);
-		} else {
-			status.add(newStatus);
-		}
-	}
-
-	private void addExtendedOperations(IDataModelOperation operation) {
-		ComposedExtendedOperationHolder extendedOps = ComposedExtendedOperationHolder.createExtendedOperationHolder(operation.getID());
-
-		ArrayList preOps = null;
-		ArrayList postOps = null;
-
-		if (extendedOps != null) {
-			preOps = extendedOps.getPreOps();
-			postOps = extendedOps.getPostOps();
-		}
-
-		if (preOps == null)
-			preOps = new ArrayList();
-		if (postOps == null)
-			postOps = new ArrayList();
-
-		for (int index = 0; index < preOps.size(); index++) {
-			IDataModelOperation newOperation = (IDataModelOperation) preOps.get(index);
-
-			addExtendedPreOperation(operation.getID(), newOperation);
-			addExtendedOperations(newOperation);
-		}
-
-		for (int index = 0; index < postOps.size(); index++) {
-			IDataModelOperation newOperation = (IDataModelOperation) postOps.get(index);
-
-			addExtendedPostOperation(operation.getID(), newOperation);
-			addExtendedOperations(newOperation);
-		}
-	}
-
-	private class RunListEntry {
-		public Stack stackEntries;
-		public Vector executedOperations;
-
-		public RunListEntry(TableEntry newEntry) {
-			stackEntries = new Stack();
-			executedOperations = new Vector();
-			stackEntries.push(new StackEntry(newEntry));
-		}
-
-		public RunListEntry(RunListEntry oldList) {
-			stackEntries = new Stack();
-			executedOperations = new Vector();
-
-			for (int index = 0; index < oldList.stackEntries.size(); index++) {
-				StackEntry oldEntry = (StackEntry) oldList.stackEntries.elementAt(index);
-				stackEntries.add(new StackEntry(oldEntry));
-			}
-		}
-	}
-
-	private class StackEntry {
-		public int preOperationIndex;
-		public int postOperationIndex;
-		public int preOpChildIndex;
-		public int postOpChildIndex;
-		public boolean operationExecuted;
-		public Vector preOpChildren;
-		public Vector postOpChildren;
-		public TableEntry tableEntry;
-
-		public StackEntry(TableEntry newTableEntry) {
-			preOperationIndex = -1;
-			postOperationIndex = -1;
-			operationExecuted = false;
-			preOpChildIndex = -1;
-			postOpChildIndex = -1;
-			tableEntry = newTableEntry;
-		}
-
-		public StackEntry(StackEntry newStackEntry) {
-			preOperationIndex = newStackEntry.preOperationIndex;
-			postOperationIndex = newStackEntry.postOperationIndex;
-			operationExecuted = newStackEntry.operationExecuted;
-			tableEntry = newStackEntry.tableEntry;
-			preOpChildIndex = newStackEntry.preOpChildIndex;
-			postOpChildIndex = newStackEntry.postOpChildIndex;
-			preOpChildren = newStackEntry.preOpChildren == null ? null : new Vector(newStackEntry.preOpChildren);
-			postOpChildren = newStackEntry.postOpChildren == null ? null : new Vector(newStackEntry.postOpChildren);
-		}
-
-		public void addPreOpChildren() {
-			List preOps = tableEntry.operation.getPreOperations();
-
-			preOpChildren = new Vector();
-
-			if (preOps != null) {
-				for (int index = 0; index < preOps.size(); index++) {
-					IDataModelOperation op = (IDataModelOperation) preOps.get(index);
-					TableEntry newEntry = new TableEntry(op);
-
-					preOpChildren.add(newEntry);
-					operationTable.put(op.getID(), newEntry);
-					addExtendedOperations(op);
-				}
-			}
-		}
-
-		public void addPostOpChildren() {
-			List postOps = tableEntry.operation.getPostOperations();
-
-			postOpChildren = new Vector();
-
-			if (postOps != null) {
-				for (int index = 0; index < postOps.size(); index++) {
-					IDataModelOperation op = (IDataModelOperation) postOps.get(index);
-					TableEntry newEntry = new TableEntry(op);
-
-					postOpChildren.add(newEntry);
-					operationTable.put(op.getID(), newEntry);
-					addExtendedOperations(op);
-				}
-			}
-		}
-	}
-
-	private class TableEntry {
-		public IDataModelOperation operation;
-		public Vector preOperations;
-		public Vector postOperations;
-
-		public TableEntry(IDataModelOperation newOperation) {
-			operation = newOperation;
-			preOperations = new Vector(3);
-			postOperations = new Vector(3);
-		}
-	}
-
-	private class NullOperation extends AbstractDataModelOperation {
-		public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-			return Status.OK_STATUS;
-		}
-
-		public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-			return Status.OK_STATUS;
-		}
-
-		public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-			return Status.OK_STATUS;
-		}
-
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveFailedException.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveFailedException.java
deleted file mode 100644
index 7763509..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveFailedException.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-/**
- * Runtime exception that could get thrown during save of an edit model; clients should use
- * {@link #getConcatenatedMessages}to get all the messages of this and all nested exceptions to
- * report the failure.
- */
-public class SaveFailedException extends WrappedRuntimeException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = -4640018901910731240L;
-
-	/**
-	 * SaveFailedException constructor comment.
-	 */
-	public SaveFailedException() {
-		super();
-	}
-
-	/**
-	 * SaveFailedException constructor comment.
-	 * 
-	 * @param e
-	 *            java.lang.Exception
-	 */
-	public SaveFailedException(Exception e) {
-		super(e);
-	}
-
-	/**
-	 * SaveFailedException constructor comment.
-	 * 
-	 * @param s
-	 *            java.lang.String
-	 */
-	public SaveFailedException(String s) {
-		super(s);
-	}
-
-	/**
-	 * SaveFailedException constructor comment.
-	 * 
-	 * @param s
-	 *            java.lang.String
-	 * @param e
-	 *            java.lang.Exception
-	 */
-	public SaveFailedException(String s, Exception e) {
-		super(s, e);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerHeadless.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerHeadless.java
deleted file mode 100644
index a9c07ce..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerHeadless.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.IWFTWrappedException;
-
-/**
- * Insert the type's description here. Creation date: (10/19/2001 11:40:59 AM)
- * 
- * @author: Administrator
- */
-public class SaveHandlerHeadless implements ISaveHandler {
-	/**
-	 * HeadlessSaveHandler constructor comment.
-	 */
-	public SaveHandlerHeadless() {
-		super();
-	}
-
-	/**
-	 * access method comment.
-	 */
-	public void access() {
-	}
-
-	/**
-	 * handleSaveFailed method comment.
-	 */
-	public void handleSaveFailed(SaveFailedException ex, org.eclipse.core.runtime.IProgressMonitor monitor) {
-		throw ex;
-	}
-
-	public static boolean isFailedWriteFileFailure(IWFTWrappedException ex) {
-		Exception nested = ex.getInnerMostNestedException();
-		if (nested == null)
-			return false;
-
-		return isFailedWriteFileFailure(nested);
-	}
-
-	public static boolean isFailedWriteFileFailure(Exception ex) {
-		if (ex instanceof IWFTWrappedException)
-			return isFailedWriteFileFailure((IWFTWrappedException) ex);
-		else if (ex instanceof CoreException)
-			return isFailedWriteFileFailure((CoreException) ex);
-		return false;
-	}
-
-	public static boolean isFailedWriteFileFailure(CoreException ex) {
-		org.eclipse.core.runtime.IStatus status = ex.getStatus();
-		if (status == null)
-			return false;
-		Throwable nested = status.getException();
-		if (nested instanceof CoreException)
-			return isFailedWriteFileFailure((CoreException) nested);
-		return status.getCode() == org.eclipse.core.resources.IResourceStatus.FAILED_WRITE_LOCAL;
-	}
-
-	/**
-	 * release method comment.
-	 */
-	public void release() {
-	}
-
-	/**
-	 * shouldContinueAndMakeFileEditable method comment.
-	 */
-	public boolean shouldContinueAndMakeFileEditable(org.eclipse.core.resources.IFile aFile) {
-		if (aFile == null)
-			return false;
-		String error = WTPResourceHandler.getString("Unable_to_save_read-only_f_ERROR_", new Object[]{aFile.getFullPath()}); //$NON-NLS-1$ = "Unable to save read-only file: "
-		Logger.getLogger().logError(error);
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerRegister.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerRegister.java
deleted file mode 100644
index 7dee26d..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/SaveHandlerRegister.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal;
-
-import org.eclipse.jem.util.UIContextDetermination;
-
-
-/**
- * A registry for the default ISaveHandler to use when saving edit models
- */
-public class SaveHandlerRegister {
-	private static ISaveHandler saveHandler;
-
-	/**
-	 * This is a utility class and should not be instantiated
-	 */
-	protected SaveHandlerRegister() {
-		super();
-	}
-
-	public static ISaveHandler getSaveHandler() {
-		if (saveHandler == null)
-			saveHandler = (ISaveHandler) UIContextDetermination.createInstance("saveHandler"); //$NON-NLS-1$
-		return saveHandler;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPPlugin.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPPlugin.java
deleted file mode 100644
index 37c04a0..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPPlugin.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 10, 2003
- * 
- * To change the template for this generated file go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.util.logger.proxyrender.DefaultPluginTraceRenderer;
-import org.eclipse.jem.util.logger.proxyrender.IMsgLogger;
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.WorkbenchUtil;
-import org.osgi.framework.BundleContext;
-
-public abstract class WTPPlugin extends Plugin implements IMsgLogger {
-	protected static Logger logger = null;
-	protected static WTPPlugin instance = null; 
-	public ResourceBundle resourceBundle;
-
-	/**
-	 * @param descriptor
-	 */
-	public WTPPlugin() {
-		super();
-		instance = this;
-	}
-
-	public Logger getMsgLogger() {
-		if (logger == null) {
-			logger = Logger.getLogger(getPluginID());
-			setRenderer(logger);
-		}
-		return logger;
-	}
-
-	/**
-	 * @param aLogger
-	 */
-	protected void setRenderer(Logger aLogger) {
-		new DefaultPluginTraceRenderer(aLogger);
-	}
-
-	public Logger getLogger() {
-		return getMsgLogger();
-	}
-	public static boolean isPlatformCaseSensitive() {
-		return Platform.OS_MACOSX.equals(Platform.getOS()) ? false : new
-				java.io.File("a").compareTo(new java.io.File("A")) != 0;
-	}
-
-	public abstract String getPluginID();
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.Plugin#startup()
-	 */
-	public void start(BundleContext context) throws Exception  {
-		super.start(context);
-		WorkbenchUtil.setWorkbenchIsRunning(true);
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPProjectUtilities.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPProjectUtilities.java
deleted file mode 100644
index d10281e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPProjectUtilities.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 4, 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.frameworks.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-
-/**
- * @author jsholl
- * 
- * 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 WTPProjectUtilities {
-
-	/**
-	 * Adds a old nauture to a project, FIRST, this is used to make project backward compatible
-	 */
-	public static void addOldNatureToProject(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-
-		//check if the old nature does not exist
-		boolean addNature = true;
-		for (int i = 0; i < prevNatures.length; i++) {
-			String nature = prevNatures[i];
-			if (nature.equals(natureId)) {
-				addNature = false;
-				break;
-			}
-		}
-		if (addNature) {
-			String[] newNatures = new String[prevNatures.length + 1];
-			System.arraycopy(prevNatures, 0, newNatures, 1, prevNatures.length);
-			newNatures[0] = natureId;
-			description.setNatureIds(newNatures);
-			proj.setDescription(description, IResource.AVOID_NATURE_CONFIG, null);
-		}
-	}
-
-	/**
-	 * Adds a nature in the project in the index specified
-	 */
-	public static void addOldNatureToProject(IProject proj, String natureId, int index) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-
-		//check if the old nature does not exist
-		boolean addNature = true;
-		for (int i = 0; i < prevNatures.length; i++) {
-			String nature = prevNatures[i];
-			if (nature.equals(natureId)) {
-				addNature = false;
-				break;
-			}
-		}
-		if (addNature) {
-			String[] newNatures = new String[prevNatures.length + 1];
-			System.arraycopy(prevNatures, 0, newNatures, 0, index);
-
-			newNatures[index] = natureId;
-			System.arraycopy(prevNatures, index, newNatures, index + 1, prevNatures.length - index);
-			description.setNatureIds(newNatures);
-			proj.setDescription(description, IResource.AVOID_NATURE_CONFIG, null);
-		}
-	}
-
-	/**
-	 * Adds a nauture to a project, FIRST
-	 */
-	public static void addNatureToProject(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 1, prevNatures.length);
-		newNatures[0] = natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, null);
-	}
-
-	/**
-	 * Adds a nature to a project, LAST
-	 */
-	public static void addNatureToProjectLast(IProject proj, String natureId) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length] = natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, null);
-	}
-
-	/**
-	 * remove a nature from the project
-	 */
-	public static void removeNatureFromProject(IProject project, String natureId) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		int size = prevNatures.length;
-		int newsize = 0;
-		String[] newNatures = new String[size];
-		boolean matchfound = false;
-		for (int i = 0; i < size; i++) {
-			if (prevNatures[i].equals(natureId)) {
-				matchfound = true;
-				continue;
-			}
-			newNatures[newsize++] = prevNatures[i];
-		}
-		if (!matchfound)
-			throw new CoreException(new Status(IStatus.ERROR, WTPCommonPlugin.PLUGIN_ID, 0, "The nature id " + natureId + " does not exist on the project " + project.getName(), null)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		String[] temp = newNatures;
-		newNatures = new String[newsize];
-		System.arraycopy(temp, 0, newNatures, 0, newsize);
-		description.setNatureIds(newNatures);
-		project.setDescription(description, null);
-	}
-
-	public static IProject getProject(Object object) {
-		IProject result = null;
-
-		if (object instanceof IProject)
-			result = (IProject) object;
-		else if (object instanceof IResource)
-			result = ((IResource) object).getProject();
-		else if (object instanceof IAdaptable)
-			result = (IProject) ((IAdaptable) object).getAdapter(IProject.class);
-
-		return result;
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPResourceHandler.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPResourceHandler.java
deleted file mode 100644
index 6d82d66..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WTPResourceHandler.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * @author Administrator
- * 
- *  
- */
-public class WTPResourceHandler {
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("wtp_common"); //$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(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.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedException.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedException.java
deleted file mode 100644
index cd2aba8..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedException.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-public class WrappedException extends java.lang.reflect.InvocationTargetException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = -9221925581603648538L;
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 */
-	protected WrappedException() {
-		super();
-	}
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 * 
-	 * @param target
-	 *            java.lang.Throwable
-	 */
-	public WrappedException(Throwable target) {
-		super(target);
-	}
-
-	/**
-	 * WFTWrappedException constructor comment.
-	 * 
-	 * @param target
-	 *            java.lang.Throwable
-	 * @param s
-	 *            java.lang.String
-	 */
-	public WrappedException(Throwable target, String s) {
-		super(target, s);
-	}
-
-	/**
-	 * Print out a stack trace to the system err.
-	 */
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	public void printStackTrace(java.io.PrintStream s) {
-		if (getTargetException() != null) {
-			s.println(this);
-			s.println("Stack trace of nested exception:"); //$NON-NLS-1$
-			getTargetException().printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	public void printStackTrace(java.io.PrintWriter s) {
-		if (getTargetException() != null) {
-			s.println(this);
-			s.println("Stack trace of nested exception:"); //$NON-NLS-1$
-			getTargetException().printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedRuntimeException.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedRuntimeException.java
deleted file mode 100644
index 35ed923..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/WrappedRuntimeException.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal;
-
-public class WrappedRuntimeException extends RuntimeException implements IWrappedException {
-	/**
-	 * Comment for <code>serialVersionUID</code>
-	 */
-	private static final long serialVersionUID = 2684637746275620101L;
-	/** The exception which necessitated this runtime exception, if one exists */
-	protected Exception nestedException;
-
-	public WrappedRuntimeException() {
-		super();
-	}
-
-	public WrappedRuntimeException(Exception e) {
-		super();
-		setNestedException(e);
-	}
-
-	public WrappedRuntimeException(String s) {
-		super(s);
-	}
-
-	public WrappedRuntimeException(String s, Exception e) {
-		super(s);
-		setNestedException(e);
-	}
-
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to innermost
-	 */
-	public java.lang.String[] getAllMessages() {
-		return ExceptionHelper.getAllMessages(this);
-	}
-
-	/**
-	 * Return the messages from this and all nested exceptions, in order from outermost to
-	 * innermost, concatenated as one
-	 */
-	public java.lang.String getConcatenatedMessages() {
-		return ExceptionHelper.getConcatenatedMessages(this);
-	}
-
-	/**
-	 * getInnerMostNestedException method comment.
-	 */
-	public java.lang.Exception getInnerMostNestedException() {
-		Exception n = getNestedException();
-		if (n == null)
-			return this;
-		else if (n instanceof IWrappedException)
-			return ((IWrappedException) n).getInnerMostNestedException();
-		else
-			return n;
-	}
-
-	/**
-	 * @return java.lang.Exception
-	 */
-	public java.lang.Exception getNestedException() {
-		return nestedException;
-	}
-
-	/**
-	 * Print out a stack trace to the system err.
-	 */
-	public void printStackTrace() {
-		printStackTrace(System.err);
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	public void printStackTrace(java.io.PrintStream s) {
-		if (nestedException != null) {
-			s.println(this);
-			s.println("Stack trace of nested exception:"); //$NON-NLS-1$
-			nestedException.printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * Prints the exception to System.err. If we have a nested exception, print its stack.
-	 */
-	public void printStackTrace(java.io.PrintWriter s) {
-		if (nestedException != null) {
-			s.println(this);
-			s.println("Stack trace of nested exception:"); //$NON-NLS-1$
-			nestedException.printStackTrace(s);
-		} else {
-			super.printStackTrace(s);
-		}
-	}
-
-	/**
-	 * @param newNestedException
-	 *            java.lang.Exception
-	 */
-	public void setNestedException(java.lang.Exception newNestedException) {
-		nestedException = newNestedException;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridge.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridge.java
deleted file mode 100644
index 3538ea4..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridge.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 4, 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.frameworks.internal.activities;
-
-import java.util.Collections;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jem.util.logger.proxy.Logger;
-
-/**
- * @author jsholl
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public class WTPActivityBridge {
-	private static final String PLUGIN_ID = "org.eclipse.wst.common.frameworks"; //$NON-NLS-1$
-	private static final String EXTENSION_POINT = "WTPActivityBridgeHelper"; //$NON-NLS-1$
-	private static final String LISTENER_CLASS = "class"; //$NON-NLS-1$
-
-	private static WTPActivityBridge INSTANCE = null;
-	private WTPActivityBridgeHelper[] listeners;
-
-	public static WTPActivityBridge getInstance() {
-		if (null == INSTANCE) {
-			INSTANCE = new WTPActivityBridge();
-		}
-		return INSTANCE;
-	}
-
-	private WTPActivityBridge() {
-		loadExtensionPoints();
-	}
-
-	public void enableActivity(String activityID, boolean enabled) {
-		for (int i = 0; i < listeners.length; i++) {
-			listeners[i].enableActivity(activityID, enabled);
-		}
-	}
-
-	public Set getEnabledActivityIds() {
-		for (int i = 0; i < listeners.length; i++) {
-			return listeners[i].getEnabledActivityIds();
-		}
-		return Collections.EMPTY_SET;
-	}
-
-	public void setEnabledActivityIds(Set activityIDs) {
-		for (int i = 0; i < listeners.length; i++) {
-			listeners[i].setEnabledActivityIds(activityIDs);
-		}
-	}
-
-	public Set getActivityIDsFromContribution(String localID, String pluginID) {
-		for (int i = 0; i < listeners.length; i++) {
-			return listeners[i].getActivityIDsFromContribution(localID, pluginID);
-		}
-		return Collections.EMPTY_SET;
-	}
-
-	private void loadExtensionPoints() {
-		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(PLUGIN_ID, EXTENSION_POINT);
-		if (point == null)
-			return;
-		IConfigurationElement[] elements = point.getConfigurationElements();
-		listeners = new WTPActivityBridgeHelper[elements.length];
-		for (int i = 0; i < elements.length; i++) {
-			if (null == elements[i].getAttribute(LISTENER_CLASS)) {
-				logError(elements[i], "No " + LISTENER_CLASS + " defined."); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			try {
-				listeners[i] = (WTPActivityBridgeHelper) elements[i].createExecutableExtension(LISTENER_CLASS);
-			} catch (CoreException e) {
-				logError(elements[i], "Error loading " + LISTENER_CLASS + ":" + elements[i].getAttribute(LISTENER_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$
-				e.printStackTrace();
-			}
-		}
-	}
-
-	public static void logError(IConfigurationElement element, String text) {
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getNamespace() + ", extension " + extension.getExtensionPointUniqueIdentifier()); //$NON-NLS-1$ //$NON-NLS-2$
-		buf.append("\n" + text); //$NON-NLS-1$
-		Logger.getLogger().logError(buf.toString());
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridgeHelper.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridgeHelper.java
deleted file mode 100644
index 4378df1..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/activities/WTPActivityBridgeHelper.java
+++ /dev/null
@@ -1,36 +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 4, 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.frameworks.internal.activities;
-
-import java.util.Set;
-
-/**
- * @author jsholl
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public interface WTPActivityBridgeHelper {
-
-	public void enableActivity(String activityID, boolean enabled);
-
-	public Set getEnabledActivityIds();
-
-	public void setEnabledActivityIds(Set activityIDs);
-
-	public Set getActivityIDsFromContribution(String localID, String pluginID);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelExtensionReader.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelExtensionReader.java
deleted file mode 100644
index 86adbc6..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelExtensionReader.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class DataModelExtensionReader extends RegistryReader {
-
-	private static final String EXTENSION = "DataModelProviderExtension"; //$NON-NLS-1$
-
-	private static final String PROVIDER_ELEMENT = "DataModelProvider"; //$NON-NLS-1$
-	private static final String DEFINES_TYPE_ELEMENT = "ProviderDefinesType"; //$NON-NLS-1$
-	private static final String IMPLEMENTS_TYPE_ELEMENT = "ProviderImplementsType"; //$NON-NLS-1$
-
-	private static final String ATTRIBUTE_ID = "id"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_PROVIDER_TYPE = "providerType"; //$NON-NLS-1$
-	private static final String ATTRIBUTE_PROVIDER_ID = "providerID"; //$NON-NLS-1$
-//	private static final String ATTRIBUTE_FG = "functionGroupID"; //$NON-NLS-1$
-
-	private HashMap providerExtensions;
-	private HashMap definesExtensions;
-	private HashMap implementsExtensions;
-
-	private boolean hasInitialized = false;
-
-	public DataModelExtensionReader() {
-		super(WTPCommonPlugin.PLUGIN_ID, EXTENSION);
-	}
-
-	public boolean readElement(IConfigurationElement element) {
-		if (element.getName().equals(PROVIDER_ELEMENT)) {
-			String id = element.getAttribute(ATTRIBUTE_ID);
-			if (null == id || id.trim().length() == 0) {
-				Logger.getLogger().logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + PROVIDER_ELEMENT + " is missing " + ATTRIBUTE_ID)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			String className = element.getAttribute(ATTRIBUTE_CLASS);
-			if (null == className || className.trim().length() == 0) {
-				Logger.getLogger().logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + PROVIDER_ELEMENT + " is missing " + ATTRIBUTE_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			addProviderExtension(id, element);
-		} else if (element.getName().equals(DEFINES_TYPE_ELEMENT)) {
-			String type = element.getAttribute(ATTRIBUTE_PROVIDER_TYPE);
-			if (null == type || type.trim().length() == 0) {
-				Logger.getLogger().logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " is missing " + ATTRIBUTE_PROVIDER_TYPE)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			String id = element.getAttribute(ATTRIBUTE_PROVIDER_ID);
-			if (null == id || id.trim().length() == 0) {
-				Logger.getLogger().logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " is missing " + ATTRIBUTE_PROVIDER_ID)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			addDefinesExtension(type, id);
-		} else if (element.getName().equals(IMPLEMENTS_TYPE_ELEMENT)) {
-			String type = element.getAttribute(ATTRIBUTE_PROVIDER_TYPE);
-			if (null == type || type.trim().length() == 0) {
-				Logger.getLogger().logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " is missing " + ATTRIBUTE_PROVIDER_TYPE)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			String id = element.getAttribute(ATTRIBUTE_PROVIDER_ID);
-			if (null == id || id.trim().length() == 0) {
-				Logger.getLogger().logError(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " is missing " + ATTRIBUTE_PROVIDER_ID)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			addImplementsExtension(type, id);
-		}
-		return true;
-	}
-
-	private void addProviderExtension(String id, IConfigurationElement element) {
-		if (providerExtensions.containsKey(id)) {
-			Logger.getLogger().logError(new RuntimeException("Duplicate " + PROVIDER_ELEMENT + " " + ATTRIBUTE_ID + " " + id)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		providerExtensions.put(id, element);
-	}
-
-	private void addDefinesExtension(String type, String id) {
-		if (definesExtensions.containsKey(type)) {
-			Logger.getLogger().logError(new RuntimeException("Duplicate " + PROVIDER_ELEMENT + " " + ATTRIBUTE_PROVIDER_TYPE + " " + type)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		definesExtensions.put(type, id);
-	}
-
-	private void addImplementsExtension(String type, String id) {
-		List cache;
-		if (implementsExtensions.containsKey(type))
-			cache = (List) implementsExtensions.get(type);
-		else
-			cache = new ArrayList();
-		cache.add(id);
-		implementsExtensions.put(type, cache);
-	}
-
-	protected IConfigurationElement getProviderExtension(String id) {
-		readRegistryIfNecessary();
-		IConfigurationElement element = (IConfigurationElement) providerExtensions.get(id);
-		if (null == element) {
-			Logger.getLogger().log(new RuntimeException("Extension:" + EXTENSION + " Element:" + PROVIDER_ELEMENT + " not found for " + ATTRIBUTE_ID + ": " + id)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return element;
-	}
-
-	protected String getDefinesExtension(String providerType) {
-		readRegistryIfNecessary();
-		String element = (String) definesExtensions.get(providerType);
-		if (null == element) {
-			Logger.getLogger().log(new RuntimeException("Extension:" + EXTENSION + " Element:" + DEFINES_TYPE_ELEMENT + " not found for " + ATTRIBUTE_PROVIDER_TYPE + ": " + providerType)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return element;
-	}
-
-	public String[] getProviderDescriptorsForProviderKind(String providerType) {
-		readRegistryIfNecessary();
-		List providerList = new ArrayList();
-		providerList.add(getDefinesExtension(providerType));
-		if (implementsExtensions.containsKey(providerType)) {
-			List implementsIds = (List) implementsExtensions.get(providerType);
-			if (implementsIds != null && !implementsIds.isEmpty()) {
-				providerList.addAll(implementsIds);
-			}
-		}
-		String[] providerArray = new String[providerList.size()];
-		for (int i = 0; i < providerArray.length; i++) {
-			providerArray[i] = (String) providerList.get(i);
-		}
-		return providerArray;
-	}
-
-	private void readRegistryIfNecessary() {
-		if (!hasInitialized) {
-			providerExtensions = new HashMap();
-			definesExtensions = new HashMap();
-			implementsExtensions = new HashMap();
-			readRegistry();
-			hasInitialized = true;
-		}
-	}
-
-	public IDataModelProvider getProvider(String id) {
-		IDataModelProvider provider = null;
-		IConfigurationElement element = getProviderExtension(id);
-		if (element == null)
-			return null;
-		try {
-			provider = (IDataModelProvider) element.createExecutableExtension(ATTRIBUTE_CLASS);
-		} catch (CoreException e) {
-			Logger.getLogger().logError(e);
-		}
-		return provider;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelImpl.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelImpl.java
deleted file mode 100644
index eb7027a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/DataModelImpl.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelPropertyDescriptor;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-
-public final class DataModelImpl implements IDataModel, IDataModelListener {
-
-	private static final String PROPERTY_NOT_LOCATED_ = WTPResourceHandler.getString("20"); //$NON-NLS-1$
-	private static final String NESTED_MODEL_NOT_LOCATED = WTPResourceHandler.getString("21"); //$NON-NLS-1$
-
-	private static final DataModelPropertyDescriptor[] NO_DESCRIPTORS = new DataModelPropertyDescriptor[0];
-
-	private Collection basePropertyNames;
-	private Collection allPropertyNames;
-	private Collection nestedPropertyNames; // lazily initialzed when nested models added
-	private Map propertyValues = new Hashtable();
-	private Map nestedModels;
-	private Set nestingModels;
-	private List listeners;
-
-	private IDataModelProvider provider;
-
-	public DataModelImpl(IDataModelProvider dataModelProvider) {
-		init(dataModelProvider);
-	}
-
-	private void init(IDataModelProvider dataModelProvider) {
-		this.provider = dataModelProvider;
-		dataModelProvider.setDataModel(this);
-		Collection propertyNames = dataModelProvider.getPropertyNames();
-		HashSet properties = new HashSet();
-		properties.addAll(propertyNames);
-
-		properties.add(IDataModelProperties.ALLOW_EXTENSIONS);
-		properties.add(IDataModelProperties.RESTRICT_EXTENSIONS);
-		basePropertyNames = Collections.unmodifiableCollection(properties);
-		allPropertyNames = new HashSet();
-		allPropertyNames.addAll(basePropertyNames);
-		dataModelProvider.init();
-	}
-
-	public boolean isBaseProperty(String propertyName) {
-		return basePropertyNames.contains(propertyName);
-	}
-
-	public Collection getBaseProperties() {
-		return Collections.unmodifiableCollection(basePropertyNames);
-	}
-
-	public boolean isProperty(String propertyName) {
-		return allPropertyNames.contains(propertyName);
-	}
-
-	public Collection getAllProperties() {
-		return Collections.unmodifiableCollection(allPropertyNames);
-	}
-
-	public boolean isNestedProperty(String propertyName) {
-		return null != nestedPropertyNames && nestedPropertyNames.contains(propertyName);
-	}
-
-	public Collection getNestedProperties() {
-		return Collections.unmodifiableCollection(nestedPropertyNames);
-	}
-
-	private void checkValidPropertyName(String propertyName) {
-		if (!isProperty(propertyName)) {
-			throw new RuntimeException(PROPERTY_NOT_LOCATED_ + propertyName);
-		}
-	}
-
-	private DataModelImpl getOwningDataModel(String propertyName) {
-		checkValidPropertyName(propertyName);
-		return searchNestedModels(propertyName);
-	}
-
-	private DataModelImpl searchNestedModels(String propertyName) {
-		if (isBaseProperty(propertyName)) {
-			return this;
-		} else if (nestedModels != null) {
-			DataModelImpl dataModel = null;
-			Object[] keys = nestedModels.keySet().toArray();
-			for (int i = 0; i < keys.length; i++) {
-				dataModel = (DataModelImpl) nestedModels.get(keys[i]);
-				if (dataModel.isProperty(propertyName)) {
-					return dataModel.searchNestedModels(propertyName);
-				}
-			}
-		}
-		throw new RuntimeException(PROPERTY_NOT_LOCATED_ + propertyName);
-	}
-
-	public Object getProperty(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		if (dataModel.propertyValues.containsKey(propertyName)) {
-			return dataModel.propertyValues.get(propertyName);
-		}
-		return dataModel.provider.getDefaultProperty(propertyName);
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		return dataModel.provider.getDefaultProperty(propertyName);
-	}
-
-	public int getIntProperty(String propertyName) {
-		Object prop = getProperty(propertyName);
-		if (prop == null)
-			return -1;
-		return ((Integer) prop).intValue();
-	}
-
-	public boolean getBooleanProperty(String propertyName) {
-		Object prop = getProperty(propertyName);
-		if (prop == null)
-			return false;
-		return ((Boolean) prop).booleanValue();
-	}
-
-	public String getStringProperty(String propertyName) {
-		Object prop = getProperty(propertyName);
-		if (prop == null)
-			return ""; //$NON-NLS-1$
-		return (String) prop;
-	}
-
-	public boolean isPropertySet(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		return dataModel.propertyValues.containsKey(propertyName);
-	}
-
-	public boolean isPropertyEnabled(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		return dataModel.provider.isPropertyEnabled(propertyName);
-	}
-
-
-	public void setProperty(String propertyName, Object propertyValue) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		dataModel.internalSetProperty(propertyName, propertyValue);
-	}
-
-	private void internalSetProperty(String propertyName, Object propertyValue) {
-		Object oldValue = propertyValues.get(propertyName);
-		if (valueChanged(propertyValue, oldValue)) {
-			if (null != propertyValue)
-				propertyValues.put(propertyName, propertyValue);
-			else if (propertyValues.containsKey(propertyName))
-				propertyValues.remove(propertyName);
-			if (provider.propertySet(propertyName, propertyValue)) {
-				notifyPropertyChange(propertyName, DataModelEvent.VALUE_CHG);
-			}
-		}
-	}
-
-	private boolean valueChanged(Object o1, Object o2) {
-		return o1 != o2 && ((o1 != null && !o1.equals(o2)) || !o2.equals(o1));
-	}
-
-	public void setIntProperty(String propertyName, int value) {
-		setProperty(propertyName, new Integer(value));
-	}
-
-	public void setBooleanProperty(String propertyName, boolean value) {
-		setProperty(propertyName, (value) ? Boolean.TRUE : Boolean.FALSE);
-	}
-
-	public void setStringProperty(String propertyName, String value) {
-		setProperty(propertyName, value);
-	}
-
-	public boolean addNestedModel(String modelName, IDataModel dataModel) {
-		if (this == dataModel) {
-			return false;
-		}
-		if (null == nestedModels) {
-			nestedModels = new Hashtable();
-			nestedPropertyNames = new HashSet();
-		}
-		DataModelImpl nestedDataModel = (DataModelImpl) dataModel;
-		if (null == nestedDataModel.nestingModels) {
-			nestedDataModel.nestingModels = new HashSet();
-		}
-		if (nestedDataModel.nestingModels.contains(this)) {
-			return false;
-		}
-		nestedDataModel.nestingModels.add(this);
-
-		nestedModels.put(modelName, nestedDataModel);
-
-		addNestedProperties(nestedDataModel.allPropertyNames);
-		nestedDataModel.addListener(this);
-		return true;
-	}
-
-	private void addNestedProperties(Collection nestedProperties) {
-		boolean propertiesAdded = allPropertyNames.addAll(nestedProperties);
-		propertiesAdded = nestedPropertyNames.addAll(nestedProperties) || propertiesAdded;
-		// Pass the new properties up the nesting chain
-		if (propertiesAdded && nestingModels != null) {
-			Iterator iterator = nestingModels.iterator();
-			while (iterator.hasNext()) {
-				((DataModelImpl) iterator.next()).addNestedProperties(nestedProperties);
-			}
-		}
-	}
-
-	public Collection getNestedModels() {
-		return nestedModels != null ? Collections.unmodifiableCollection(nestedModels.values()) : Collections.EMPTY_SET;
-	}
-
-	public Collection getNestedModelNames() {
-		return nestedModels != null ? Collections.unmodifiableCollection(nestedModels.keySet()) : Collections.EMPTY_SET;
-	}
-
-	public Collection getNestingModels() {
-		return nestingModels != null ? Collections.unmodifiableCollection(nestingModels) : Collections.EMPTY_SET;
-	}
-
-	public IDataModel removeNestedModel(String modelName) {
-		if (!isNestedModel(modelName)) {
-			return null;
-		}
-		DataModelImpl model = (DataModelImpl) nestedModels.remove(modelName);
-		model.nestingModels.remove(this);
-		removeNestedProperties(model.allPropertyNames);
-		model.removeListener(this);
-		if (nestedModels.isEmpty()) {
-			nestedModels = null;
-		}
-		return model;
-	}
-
-	private void removeNestedProperties(Collection nestedProperties) {
-		Iterator iterator = nestedProperties.iterator();
-		String property = null;
-		boolean keepProperty = false;
-		Set nestedPropertiesToRemove = null;
-		while (iterator.hasNext()) {
-			keepProperty = false;
-			property = (String) iterator.next();
-			if (basePropertyNames.contains(property)) {
-				keepProperty = true;
-			}
-			if (!keepProperty && nestedModels != null) {
-				Iterator nestedModelsIterator = nestedModels.values().iterator();
-				while (!keepProperty && nestedModelsIterator.hasNext()) {
-					DataModelImpl nestedModel = (DataModelImpl) nestedModelsIterator.next();
-					if (nestedModel.isProperty(property)) {
-						keepProperty = true;
-					}
-				}
-			}
-			if (!keepProperty) {
-				if (null == nestedPropertiesToRemove) {
-					nestedPropertiesToRemove = new HashSet();
-				}
-				nestedPropertiesToRemove.add(property);
-			}
-		}
-
-		if (null != nestedPropertiesToRemove) {
-			allPropertyNames.removeAll(nestedPropertiesToRemove);
-			nestedPropertyNames.removeAll(nestedPropertiesToRemove);
-			if (nestingModels != null) {
-				Iterator nestingModelsIterator = nestingModels.iterator();
-				while (nestingModelsIterator.hasNext()) {
-					((DataModelImpl) nestingModelsIterator.next()).removeNestedProperties(nestedPropertiesToRemove);
-				}
-			}
-		}
-	}
-
-	public boolean isNestedModel(String modelName) {
-		return modelName != null && null != nestedModels && nestedModels.containsKey(modelName);
-	}
-
-	public IDataModel getNestedModel(String modelName) {
-		IDataModel dataModel = (null != nestedModels && null != modelName) ? (IDataModel) nestedModels.get(modelName) : null;
-		if (null == dataModel) {
-			throw new RuntimeException(NESTED_MODEL_NOT_LOCATED + modelName);
-		}
-		return dataModel;
-	}
-
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		DataModelPropertyDescriptor[] descriptors = dataModel.provider.getValidPropertyDescriptors(propertyName);
-		return descriptors == null ? NO_DESCRIPTORS : descriptors;
-	}
-
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		DataModelPropertyDescriptor descriptor = dataModel.provider.getPropertyDescriptor(propertyName);
-		return descriptor == null ? new DataModelPropertyDescriptor(getProperty(propertyName)) : descriptor;
-	}
-
-	public void notifyPropertyChange(String propertyName, int flag) {
-		if (flag == DEFAULT_CHG) {
-			if (isPropertySet(propertyName)) {
-				return;
-			}
-			flag = VALUE_CHG;
-		}
-		notifyListeners(new DataModelEvent(this, propertyName, flag));
-	}
-
-	private void notifyListeners(DataModelEvent event) {
-		if (listeners != null && !listeners.isEmpty()) {
-			IDataModelListener listener;
-			for (int i = 0; i < listeners.size(); i++) {
-				listener = (IDataModelListener) listeners.get(i);
-				if (listener != event.getDataModel()) {
-					listener.propertyChanged(event);
-				}
-			}
-		}
-	}
-
-	public void propertyChanged(DataModelEvent event) {
-		notifyListeners(event);
-	}
-
-	public IStatus validate() {
-		return validate(true);
-	}
-
-	public IStatus validate(boolean stopOnFirstFailure) {
-		IStatus status = null;
-		IStatus propStatus;
-		String propName;
-		Iterator it;
-		for (int i = 0; i < 2; i++) {
-			switch (i) {
-				case 0 :
-					it = basePropertyNames.iterator();
-					break;
-				case 1 :
-				default :
-					it = getNestedModelNames().iterator();
-			}
-			while (it.hasNext()) {
-				propName = (String) it.next();
-				propStatus = provider.validate(propName);
-				if (propStatus != null) {
-					if (status == null || status.isOK())
-						status = propStatus;
-					else {
-						if (status.isMultiStatus())
-							((MultiStatus) status).merge(propStatus);
-						else {
-							MultiStatus multi = new MultiStatus("org.eclipse.wst.common.frameworks.internal", 0, "", null); //$NON-NLS-1$ //$NON-NLS-2$
-							multi.merge(status);
-							multi.merge(propStatus);
-							status = multi;
-						}
-					}
-					if (stopOnFirstFailure && status != null && !status.isOK() && status.getSeverity() == IStatus.ERROR)
-						return status;
-				}
-			}
-		}
-
-		if (status == null)
-			return IDataModelProvider.OK_STATUS;
-		return status;
-	}
-
-	public void addListener(IDataModelListener listener) {
-		if (listener != null) {
-			if (listeners == null) {
-				listeners = new ArrayList();
-				listeners.add(listener);
-			} else if (!listeners.contains(listener))
-				listeners.add(listener);
-		}
-	}
-
-	public void removeListener(IDataModelListener listener) {
-		if (listeners != null && listener != null)
-			listeners.remove(listener);
-	}
-
-	/**
-	 * Return true if the model doesn't have any errors.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isValid() {
-		return validate(true).getSeverity() != IStatus.ERROR;
-	}
-
-	public boolean isPropertyValid(String propertyName) {
-		return validateProperty(propertyName).getSeverity() != IStatus.ERROR;
-	}
-
-	public IStatus validateProperty(String propertyName) {
-		DataModelImpl dataModel = getOwningDataModel(propertyName);
-		IStatus status = dataModel.provider.validate(propertyName);
-		return status == null ? IDataModelProvider.OK_STATUS : status;
-	}
-
-	public List getExtendedContext() {
-		List extendedContext = provider.getExtendedContext();
-		return extendedContext == null ? Collections.EMPTY_LIST : extendedContext;
-	}
-
-	public void dispose() {
-		provider.dispose();
-	}
-
-	public IDataModelOperation getDefaultOperation() {
-		IDataModelOperation providerOp = provider.getDefaultOperation();
-		if (null == providerOp) {
-			providerOp = new AbstractDataModelOperation(this) {
-				public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-					return OK_STATUS;
-				}
-			};
-		}
-		return new ExtendableOperationImpl(providerOp);
-	}
-
-	public String toString() {
-		return "IDataModel, provider=" + provider.toString(); //$NON-NLS-1$
-	}
-
-	public String getID() {
-		String id = provider.getID();
-		return null != id ? id : ""; //$NON-NLS-1$
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/ExtendableOperationImpl.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/ExtendableOperationImpl.java
deleted file mode 100644
index 38391aa..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/ExtendableOperationImpl.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.operations.IUndoContext;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.environment.IEnvironment;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
-import org.eclipse.wst.common.frameworks.internal.AdaptabilityUtility;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.enablement.IEnablementManager;
-import org.eclipse.wst.common.frameworks.internal.operations.ComposedExtendedOperationHolder;
-import org.eclipse.wst.common.frameworks.internal.operations.OperationStatus;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public final class ExtendableOperationImpl implements IDataModelOperation {
-
-	private IDataModelOperation rootOperation;
-	private List appendedOperations;
-	private IEnvironment environment;
-
-	private OperationStatus opStatus;
-
-	private static Hashtable threadToExtendedOpControl;
-
-	private class ExtendedOpControl {
-		private boolean allowExtensions;
-		List restrictedExtensions;
-
-		public ExtendedOpControl(boolean allowExtensions, List restrictedExtensions) {
-			this.allowExtensions = allowExtensions;
-			this.restrictedExtensions = restrictedExtensions;
-		}
-
-		public boolean shouldExecute(String operationID) {
-			return allowExtensions && !restrictedExtensions.contains(operationID);
-		}
-	}
-
-	public ExtendableOperationImpl(IDataModelOperation rootOperation) {
-		this.rootOperation = rootOperation;
-		if (null == rootOperation) {
-			throw new NullPointerException();
-		}
-	}
-
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) {
-		return null;
-	}
-
-	public Set getDataModelIDs() {
-		return new HashSet();
-	}
-
-	/**
-	 * @return
-	 */
-	public ISchedulingRule getSchedulingRule() {
-		return rootOperation.getSchedulingRule();
-	}
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) {
-		return null;
-	}
-
-	public final void addStatus(IStatus aStatus) {
-		if (opStatus == null) {
-			opStatus = new OperationStatus(aStatus.getMessage(), aStatus.getException());
-			opStatus.setSeverity(aStatus.getSeverity());
-			opStatus.add(aStatus);
-		} else {
-			opStatus.add(aStatus);
-		}
-	}
-
-	private void addExtendedStatus(IStatus aStatus) {
-		if (opStatus == null) {
-			opStatus = new OperationStatus(new IStatus[]{WTPCommonPlugin.OK_STATUS});
-		}
-		opStatus.addExtendedStatus(aStatus);
-	}
-
-	public void appendOperation(IDataModelOperation appendedOperation) {
-		if (appendedOperations == null) {
-			appendedOperations = new ArrayList(3);
-		}
-		appendedOperations.add(appendedOperation);
-	}
-
-	/**
-	 * Initiates a batch of changes, by invoking the execute() method as a workspace runnable.
-	 * 
-	 * @param monitor
-	 *            the progress monitor to use to display progress
-	 * @exception InvocationTargetException
-	 *                wraps any CoreException, runtime exception or error thrown by the execute()
-	 *                method
-	 * @see WorkspaceModifyOperation - this class was directly copied from it
-	 */
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) {
-		// final InvocationTargetException[] iteHolder = new InvocationTargetException[1];
-		IWorkspaceRunnableWithStatus workspaceRunnable = new IWorkspaceRunnableWithStatus(info) {
-			public void run(IProgressMonitor pm) throws CoreException {
-				setStatus(doExecute(pm, getInfo()));
-			}
-		};
-		ISchedulingRule rule = getSchedulingRule();
-		try {
-			if (rule == null)
-				ResourcesPlugin.getWorkspace().run(workspaceRunnable, monitor);
-			else
-				ResourcesPlugin.getWorkspace().run(workspaceRunnable, rule, getOperationExecutionFlags(), monitor);
-		} catch (CoreException e) {
-			Logger.getLogger().logError(e);
-		}
-		return workspaceRunnable.getStatus();
-	}
-
-	public IStatus doExecute(IProgressMonitor monitor, IAdaptable info) {
-		if (null == threadToExtendedOpControl) {
-			threadToExtendedOpControl = new Hashtable();
-		}
-		final Thread currentThread = Thread.currentThread();
-		final boolean isTopLevelOperation = !threadToExtendedOpControl.containsKey(currentThread);
-		try {
-			if (isTopLevelOperation) {
-				boolean allowExtensions = getDataModel() == null ? true : getDataModel().getBooleanProperty(IDataModelProperties.ALLOW_EXTENSIONS);
-				List restrictedExtensions = getDataModel() == null ? Collections.EMPTY_LIST : (List) getDataModel().getProperty(IDataModelProperties.RESTRICT_EXTENSIONS);
-				ExtendedOpControl extendedOpControl = new ExtendedOpControl(allowExtensions, restrictedExtensions);
-				threadToExtendedOpControl.put(currentThread, extendedOpControl);
-			}
-
-			ComposedExtendedOperationHolder extOpHolder = ComposedExtendedOperationHolder.createExtendedOperationHolder(rootOperation.getID());
-			IStatus preOpStatus = runPreOps(monitor, extOpHolder, info);
-			try {
-				addStatus(rootOperation.execute(monitor, info));
-			} catch (ExecutionException e1) {
-				addStatus(new Status(IStatus.ERROR, "org.eclipse.wst.common.frameworks.internal", 0, e1.getMessage(), e1)); //$NON-NLS-1$
-			}
-
-			IStatus postOpStatus = runPostOps(monitor, extOpHolder, info);
-			if (null != preOpStatus) {
-				addExtendedStatus(preOpStatus);
-			}
-			if (null != postOpStatus) {
-				addExtendedStatus(postOpStatus);
-			}
-			if (appendedOperations != null) {
-				OperationStatus composedStatus = null;
-				for (int i = 0; i < appendedOperations.size(); i++) {
-					try {
-						ExtendableOperationImpl op = new ExtendableOperationImpl((IDataModelOperation) appendedOperations.get(i));
-						IStatus status = op.execute(new SubProgressMonitor(monitor, 1, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK), info);
-						if (composedStatus == null)
-							composedStatus = new OperationStatus(new IStatus[]{status});
-						else
-							composedStatus.add(status);
-					} catch (Exception e) {
-						Logger.getLogger().logError(e);
-					}
-				}
-				if (null != composedStatus) {
-					addStatus(composedStatus);
-				}
-			}
-		} finally {
-			if (isTopLevelOperation) {
-				threadToExtendedOpControl.remove(currentThread);
-			}
-		}
-
-		return opStatus;
-	}
-
-	private IStatus runPreOps(IProgressMonitor pm, ComposedExtendedOperationHolder extOpHolder, IAdaptable info) {
-		IStatus preOpStatus = null;
-		if ((extOpHolder != null) && extOpHolder.hasPreOps()) {
-			preOpStatus = runExtendedOps(extOpHolder.getPreOps(), pm, info);
-		}
-		return preOpStatus;
-	}
-
-	private IStatus runPostOps(IProgressMonitor pm, ComposedExtendedOperationHolder extOpHolder, IAdaptable info) {
-		IStatus postOpStatus = null;
-		if ((extOpHolder != null) && extOpHolder.hasPostOps()) {
-			postOpStatus = runExtendedOps(extOpHolder.getPostOps(), pm, info);
-		}
-
-		return postOpStatus;
-	}
-
-	private IStatus runExtendedOps(List opList, IProgressMonitor pm, IAdaptable info) {
-		IDataModel rootDataModel = rootOperation.getDataModel();
-		IDataModelOperation nestedOp = null;
-		OperationStatus returnStatus = null;
-		IStatus localStatus;
-		String opId = null;
-		ExtendedOpControl opControl = (ExtendedOpControl) threadToExtendedOpControl.get(Thread.currentThread());
-		for (int i = 0; i < opList.size(); i++) {
-			nestedOp = (IDataModelOperation) opList.get(i);
-			opId = nestedOp.getID();
-			if (opControl.shouldExecute(nestedOp.getClass().getName()) && opControl.shouldExecute(opId)) {
-				try {
-					boolean shouldExtendedRun = true;
-
-					List extendedContext = rootDataModel.getExtendedContext();
-					for (int contextCount = 0; shouldExtendedRun && contextCount < extendedContext.size(); contextCount++) {
-						IProject project = (IProject) AdaptabilityUtility.getAdapter(extendedContext.get(contextCount), IProject.class);
-						if (null != project && !IEnablementManager.INSTANCE.getIdentifier(opId, project).isEnabled()) {
-							shouldExtendedRun = false;
-						}
-					}
-					if (shouldExtendedRun) {
-						nestedOp.setDataModel(rootDataModel);
-						ExtendableOperationImpl extendedOp = new ExtendableOperationImpl(nestedOp);
-						localStatus = extendedOp.doExecute(new SubProgressMonitor(pm, IProgressMonitor.UNKNOWN), info);
-					} else
-						localStatus = null;
-				} catch (Exception e) {
-					localStatus = new Status(IStatus.ERROR, WTPCommonPlugin.PLUGIN_ID, 0, WTPResourceHandler.getString("25", new Object[]{nestedOp.getClass().getName()}), e); //$NON-NLS-1$
-				}
-				if (localStatus != null) {
-					if (returnStatus == null) {
-						returnStatus = new OperationStatus(new IStatus[]{localStatus});
-					} else {
-						returnStatus.add(localStatus);
-					}
-				}
-			}
-		}
-		return returnStatus;
-	}
-
-	public void dispose() {
-	}
-
-	public boolean canExecute() {
-		return rootOperation.canExecute();
-	}
-
-	public boolean canRedo() {
-		return rootOperation.canRedo();
-	}
-
-	public boolean canUndo() {
-		return rootOperation.canUndo();
-	}
-
-	public int getOperationExecutionFlags() {
-		return rootOperation.getOperationExecutionFlags();
-	}
-
-	public String getLabel() {
-		return rootOperation.getLabel();
-	}
-
-	public IUndoContext[] getContexts() {
-		return rootOperation.getContexts();
-	}
-
-	public boolean hasContext(IUndoContext context) {
-		return rootOperation.hasContext(context);
-	}
-
-	public void addContext(IUndoContext context) {
-		rootOperation.addContext(context);
-	}
-
-	public void removeContext(IUndoContext context) {
-		rootOperation.removeContext(context);
-	}
-
-	public void setID(String id) {
-		rootOperation.setID(id);
-	}
-
-	public String getID() {
-		return rootOperation.getID();
-	}
-
-	public void setDataModel(IDataModel model) {
-		rootOperation.setDataModel(model);
-	}
-
-	public IDataModel getDataModel() {
-		return rootOperation.getDataModel();
-	}
-
-	public void setEnvironment(IEnvironment env) {
-		environment = env;
-	}
-
-	public IEnvironment getEnvironment() {
-		return environment;
-	}
-
-  public List getPreOperations()
-  {
-    return null;
-  }
-
-  public List getPostOperations()
-  {
-    return null;
-  }
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IWorkspaceRunnableWithStatus.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IWorkspaceRunnableWithStatus.java
deleted file mode 100644
index 2214bd0..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/datamodel/IWorkspaceRunnableWithStatus.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.datamodel;
-
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-public class IWorkspaceRunnableWithStatus implements IWorkspaceRunnable {
-	private IAdaptable info;
-	private IStatus status;
-
-public IWorkspaceRunnableWithStatus(IAdaptable info) {
-		super();
-		this.info = info;
-	}
-public IAdaptable getInfo() {
-	// TODO Auto-generated method stub
-	return info;
-}
-public void setStatus(IStatus aStatus) {
-	status = aStatus;
-}
-
-public void run(IProgressMonitor monitor) throws CoreException {
-		
-	}
-public IStatus getStatus() {
-	return status;
-}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AbstractIdentifiable.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AbstractIdentifiable.java
deleted file mode 100644
index f7d143e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AbstractIdentifiable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-public class AbstractIdentifiable implements Identifiable {
-
-	protected String id;
-
-	public AbstractIdentifiable(String id) {
-		this.id = id;
-	}
-
-	public String getID() {
-		return id;
-	}
-
-	public int getLoadOrder() {
-		return 0;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AscendingGroupComparator.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AscendingGroupComparator.java
deleted file mode 100644
index 39afa0c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/AscendingGroupComparator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Comparator;
-
-/**
- * @author blancett
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class AscendingGroupComparator implements Comparator {
-	private static AscendingGroupComparator singleton;
-
-	public int compare(Object o1, Object o2) {
-		if (o2 == null && o1 != null)
-			return -1;
-		if (o1 == null && o2 != null)
-			return 1;
-		if (o1 == null && o2 == null)
-			return 0;
-
-		FunctionGroup group1 = (FunctionGroup) o1;
-		FunctionGroup group2 = (FunctionGroup) o2;
-
-		if (group1.getPriority() > group2.getPriority())
-			return 1;
-		if (group1.getPriority() == group2.getPriority())
-			return 0;
-		if (group1.getPriority() < group2.getPriority())
-			return -1;
-		return 0;
-	}
-
-	public static Comparator singleton() {
-		if (singleton == null)
-			singleton = new AscendingGroupComparator();
-		return singleton;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DataModelEnablementFactory.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DataModelEnablementFactory.java
deleted file mode 100644
index 9de1253..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DataModelEnablementFactory.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class DataModelEnablementFactory {
-	/**
-	 * Looks up the appropriate IDataModelProvider by the specified providerKind String and a
-	 * context of the containing Project. The method gets an array of DataModelProviderDescriptor
-	 * from the base DataModelFactory then filters out Providers based on function group enablement.
-	 * Finally the Provider with the highest priority is returned. If the IDataModelProvider is not
-	 * found then a RuntimeException is logged and null is returned.
-	 * 
-	 * @param providerKind
-	 *            the String id of the provider kind
-	 * @param curProject
-	 *            the containing IProject
-	 * 
-	 * @return a new IDataModel
-	 */
-	public static IDataModel createDataModel(String providerKind, IProject curProject) {
-		String[] providerIDs = DataModelFactory.getDataModelProviderIDsForKind(providerKind);
-		if (providerIDs == null || providerIDs.length == 0)
-			return null;
-		String topProvider = getHighestPriorityEnabledProviderDesc(providerIDs, curProject);
-		if (topProvider == null)
-			return null;
-		return DataModelFactory.createDataModel(topProvider);
-	}
-
-	private static String getHighestPriorityEnabledProviderDesc(String[] providerIDs, IProject curProject) {
-		String defaultID = providerIDs[0];
-		IEnablementIdentifier enablementIdentifier;
-		Identifiable tempIdentifiable;
-		Identifiable topPriorityIdentifiable = null;
-
-		for (int i = 1; i < providerIDs.length; i++) {
-			tempIdentifiable = new AbstractIdentifiable(providerIDs[i]);
-			enablementIdentifier = EnablementManager.INSTANCE.getIdentifier(tempIdentifiable.getID(), curProject);
-			if (enablementIdentifier.isEnabled()) {
-				if (topPriorityIdentifiable == null)
-					topPriorityIdentifiable = tempIdentifiable;
-				else if (IdentifiableComparator.instance.compare(tempIdentifiable, topPriorityIdentifiable) == IdentifiableComparator.GREATER_THAN)
-					topPriorityIdentifiable = tempIdentifiable;
-			}
-		}
-		if (topPriorityIdentifiable == null)
-			return defaultID;
-		return topPriorityIdentifiable.getID();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DescendingGroupComparator.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DescendingGroupComparator.java
deleted file mode 100644
index 0720856..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/DescendingGroupComparator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Comparator;
-
-/**
- * @author blancett
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class DescendingGroupComparator implements Comparator {
-
-	private static DescendingGroupComparator singleton;
-
-	public int compare(Object o1, Object o2) {
-		if (o1 == null && o2 != null)
-			return -1;
-		if (o2 == null && o1 != null)
-			return 1;
-		if (o1 == null && o2 == null)
-			return 0;
-
-		FunctionGroup group1 = (FunctionGroup) o1;
-		FunctionGroup group2 = (FunctionGroup) o2;
-
-		if (group1.getPriority() > group2.getPriority())
-			return -1;
-		if (group1.getPriority() == group2.getPriority())
-			return 0;
-		if (group1.getPriority() < group2.getPriority())
-			return 1;
-		return 0;
-
-	}
-
-	public static Comparator singleton() {
-		if (singleton == null)
-			singleton = new DescendingGroupComparator();
-		return singleton;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifier.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifier.java
deleted file mode 100644
index a6dbbd9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifier.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- * 
- * 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.frameworks.internal.enablement;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-
-
-/**
- * @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 EnablementIdentifier implements IEnablementIdentifier {
-
-	private final static int HASH_FACTOR = 89;
-
-	private final static int HASH_INITIAL = EnablementIdentifier.class.getName().hashCode();
-
-	private final static Set strongReferences = new HashSet();
-
-	private Set functionGroupIds;
-
-	private transient String[] functionGroupIdsAsArray;
-
-	private boolean enabled;
-
-	private transient int hashCode;
-
-	private transient boolean hashCodeComputed;
-
-	private String id;
-
-	private List identifierListeners;
-
-	private transient String string;
-
-	private IProject project;
-
-	protected EnablementIdentifier(String id) {
-		this(id, null);
-	}
-
-	protected EnablementIdentifier(String id, IProject project) {
-		if (id == null)
-			throw new NullPointerException();
-		this.id = id;
-		this.project = project;
-	}
-
-	public void addIdentifierListener(IEnablementIdentifierListener identifierListener) {
-		if (identifierListener == null)
-			throw new NullPointerException();
-
-		if (identifierListeners == null)
-			identifierListeners = new ArrayList();
-
-		if (!identifierListeners.contains(identifierListener))
-			identifierListeners.add(identifierListener);
-
-		strongReferences.add(this);
-	}
-
-	public int compareTo(Object object) {
-		EnablementIdentifier castedObject = (EnablementIdentifier) object;
-		return Util.compare(id, castedObject.id);
-
-	}
-
-	public boolean equals(Object object) {
-		if (!(object instanceof EnablementIdentifier))
-			return false;
-
-		EnablementIdentifier castedObject = (EnablementIdentifier) object;
-		boolean equals = Util.equals(id, castedObject.id);
-		return equals;
-	}
-
-	protected void fireIdentifierChanged(EnablementIdentifierEvent functionIdentifierEvent) {
-		if (functionIdentifierEvent == null)
-			throw new NullPointerException();
-
-		if (identifierListeners != null) {
-			synchronized (identifierListeners) {
-				for (int i = 0; i < identifierListeners.size(); i++)
-					((IEnablementIdentifierListener) identifierListeners.get(i)).identifierChanged(functionIdentifierEvent);
-			}
-		}
-	}
-
-	public Set getFunctionGroupIds() {
-		return functionGroupIds;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public int hashCode() {
-		if (!hashCodeComputed) {
-			hashCode = HASH_INITIAL;
-			hashCode = hashCode * HASH_FACTOR + Util.hashCode(id);
-			hashCodeComputed = true;
-		}
-
-		return hashCode;
-	}
-
-	public boolean isEnabled() {
-		return enabled;
-	}
-
-	public void removeIdentifierListener(IEnablementIdentifierListener identifierListener) {
-		if (identifierListener == null)
-			throw new NullPointerException();
-
-		if (identifierListeners != null)
-			identifierListeners.remove(identifierListener);
-
-		if (identifierListeners.isEmpty())
-			strongReferences.remove(this);
-	}
-
-	protected boolean setFunctionGroupIds(Set functionGroupIds) {
-		functionGroupIds = Util.safeCopy(functionGroupIds, String.class);
-
-		if (!Util.equals(functionGroupIds, this.functionGroupIds)) {
-			this.functionGroupIds = functionGroupIds;
-			this.functionGroupIdsAsArray = (String[]) this.functionGroupIds.toArray(new String[this.functionGroupIds.size()]);
-
-			hashCodeComputed = false;
-			hashCode = 0;
-			string = null;
-			return true;
-		}
-
-		return false;
-	}
-
-	protected boolean setEnabled(boolean enabled) {
-		if (enabled != this.enabled) {
-			this.enabled = enabled;
-			hashCodeComputed = false;
-			hashCode = 0;
-			string = null;
-			return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 * Recompute the enabled state and return whether the state changed
-	 */
-	protected boolean resetEnabled() {
-		return setEnabled(getNewEnabled());
-	}
-
-	protected boolean getNewEnabled() {
-		if (project == null)
-			return true;
-		if (functionGroupIdsAsArray.length == 0)
-			return true;
-		for (int i = 0; i < functionGroupIdsAsArray.length; i++) {
-			FunctionGroup group = FunctionGroupRegistry.getInstance().getGroupByID(functionGroupIdsAsArray[i]);
-			if (group != null && group.isEnabled(project))
-				return true;
-		}
-		return false;
-	}
-
-	public String toString() {
-		if (string == null) {
-			final StringBuffer stringBuffer = new StringBuffer();
-			stringBuffer.append('[');
-			stringBuffer.append(functionGroupIds);
-			stringBuffer.append(',');
-			stringBuffer.append(enabled);
-			stringBuffer.append(',');
-			stringBuffer.append(id);
-			stringBuffer.append(']');
-			string = stringBuffer.toString();
-		}
-
-		return string;
-	}
-
-	/**
-	 * The associated Project may be null
-	 * 
-	 * @return Returns the project.
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	public String getPrimaryFunctionGroupId() {
-		int selectedPriority = Integer.MAX_VALUE;
-		int priority = 0;
-		String selectedFunctionGroupId = null;
-		String functionGroupId = null;
-		for (Iterator iterator = getFunctionGroupIds().iterator(); iterator.hasNext();) {
-			functionGroupId = iterator.next().toString();
-			priority = FunctionGroupRegistry.getInstance().getGroupPriority(functionGroupId);
-			if (priority < selectedPriority)
-				selectedFunctionGroupId = functionGroupId;
-			if (priority == 0)
-				return selectedFunctionGroupId;
-		}
-		return selectedFunctionGroupId;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifierEvent.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifierEvent.java
deleted file mode 100644
index d90b19c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementIdentifierEvent.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- * 
- * 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.frameworks.internal.enablement;
-
-
-
-/**
- * @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 EnablementIdentifierEvent {
-
-	private boolean functionGroupIdsChanged;
-	private boolean enabledChanged;
-	private IEnablementIdentifier identifier;
-
-	public EnablementIdentifierEvent(IEnablementIdentifier identifier, boolean functionGroupIdsChanged, boolean enabledChanged) {
-		if (identifier == null)
-			throw new NullPointerException();
-
-		this.identifier = identifier;
-		this.functionGroupIdsChanged = functionGroupIdsChanged;
-		this.enabledChanged = enabledChanged;
-	}
-
-	/**
-	 * Returns the instance of the interface that changed.
-	 * 
-	 * @return the instance of the interface that changed. Guaranteed not to be <code>null</code>.
-	 */
-	public IEnablementIdentifier getIdentifier() {
-		return identifier;
-	}
-
-	/**
-	 * Returns whether or not the functionGroupIds property changed.
-	 * 
-	 * @return true, iff the functionGroupIds property changed.
-	 */
-	public boolean hasFunctionGroupIdsChanged() {
-		return functionGroupIdsChanged;
-	}
-
-	/**
-	 * Returns whether or not the enabled property changed.
-	 * 
-	 * @return true, iff the enabled property changed.
-	 */
-	public boolean hasEnabledChanged() {
-		return enabledChanged;
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return "EnablementIdentifierEvent [identifier=" + identifier.toString() + ", functionGroupIdsChanged=" + hasFunctionGroupIdsChanged() + ", enabledChanged=" + hasEnabledChanged() + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementManager.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementManager.java
deleted file mode 100644
index 5494844..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/EnablementManager.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 3, 2004
- * 
- * To change the template for this generated file go to Window - Preferences -
- * Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.WeakHashMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * @author mdelder
- */
-public class EnablementManager implements IEnablementManager {
-
-	public static final IEnablementManager INSTANCE = new EnablementManager();
-
-	private static Map identifiersByProject = new WeakHashMap();
-
-	public EnablementManager() {
-	}
-
-	/**
-	 * Returns a Map in which the keys are ids and the values are the identifiers
-	 * 
-	 * @param project
-	 * @return
-	 */
-	protected Map getIdentifiersById(IProject project) {
-		Map aMap = (Map) identifiersByProject.get(project);
-		if (aMap == null) {
-			aMap = new WeakHashMap();
-			identifiersByProject.put(project, aMap);
-		}
-		return aMap;
-	}
-
-    public IEnablementIdentifier getIdentifier(String identifierId, IProject project) {
-        if (identifierId == null) throw new NullPointerException();
-        if (project != null && !project.isAccessible()) project = null;
-        
-        EnablementIdentifier identifier = null;
-        synchronized(this) {
-	        Map identifiersById = getIdentifiersById(project);	
-	        
-	        identifier = (EnablementIdentifier) identifiersById.get(identifierId);
-	
-	        if (identifier == null) {
-	            identifier = createIdentifier(identifierId, project);
-	            updateIdentifier(identifier);
-	            identifiersById.put(identifierId, identifier);
-	        }
-        }
-
-        return identifier;
-    }
-
-	protected EnablementIdentifier createIdentifier(String identifierId, IProject project) {
-		return new EnablementIdentifier(identifierId, project);
-	}
-
-	private EnablementIdentifierEvent updateIdentifier(EnablementIdentifier identifier) {
-		String id = identifier.getId();
-		Set functionGroupIds = new HashSet();
-
-		List groups = FunctionGroupRegistry.getInstance().getKnownGroups();
-		for (Iterator iterator = groups.iterator(); iterator.hasNext();) {
-			FunctionGroup group = (FunctionGroup) iterator.next();
-
-			if (group == null)
-				throw new IllegalStateException();
-			if (group.isMatch(id))
-				functionGroupIds.add(group.getGroupID());
-		}
-
-		boolean functionGroupsChanged = identifier.setFunctionGroupIds(functionGroupIds);
-		boolean enabledChanged = identifier.resetEnabled();
-
-		if (functionGroupsChanged || enabledChanged)
-			return new EnablementIdentifierEvent(identifier, functionGroupsChanged, enabledChanged);
-		return null;
-	}
-
-	/**
-	 * Notify all identifier listeners that the state of a project has changed that affects the
-	 * enablement of a group for a project. This method is fail safe, in that if one listener throws
-	 * an exception while being notified, it will not stop the notification of other listeners.
-	 * 
-	 * @param evt
-	 * @throws CoreException
-	 *             if exceptions were caught notifying any of the listeners. Check the status of the
-	 *             core exception for the nested exceptions.
-	 */
-	public final void notifyFunctionGroupChanged(String groupID, IProject project) throws CoreException {
-
-		Map identifiers = getIdentifiersById(project);
-
-		if (identifiers == null)
-			return;
-
-		EnablementIdentifier identifier = null;
-		Iterator iter = identifiers.values().iterator();
-		IStatus errorStatus = null;
-		IStatus nextStatus = null;
-
-		while (iter.hasNext()) {
-			identifier = (EnablementIdentifier) iter.next();
-
-			EnablementIdentifierEvent evt = updateIdentifier(identifier);
-			try {
-				if (evt != null)
-					identifier.fireIdentifierChanged(evt);
-			} catch (Exception ex) {
-				//Defer the exception so others can handle it.
-				nextStatus = WTPCommonPlugin.createErrorStatus(WTPCommonMessages.INTERNAL_ERROR, ex);
-				Logger.getLogger().logError(ex);
-				if (errorStatus == null)
-					errorStatus = nextStatus;
-				else if (errorStatus.isMultiStatus())
-					((MultiStatus) errorStatus).add(nextStatus);
-				else {
-					IStatus[] children = {errorStatus, nextStatus};
-					errorStatus = new MultiStatus(errorStatus.getPlugin(), errorStatus.getCode(), children, WTPCommonMessages.INTERNAL_ERROR, null);
-				}
-			}
-
-		}
-		if (errorStatus != null)
-			throw new CoreException(errorStatus);
-
-	}
-
-	/**
-	 * Utility method for clients to dispose of listeners
-	 * 
-	 * @param enablementIdentifiers
-	 * @param listener
-	 */
-	public void removeEnablementIdentifierListener(Collection enablementIdentifiers, IEnablementIdentifierListener listener) {
-		Iterator iter = enablementIdentifiers.iterator();
-		while (iter.hasNext()) {
-			IEnablementIdentifier identifier = (IEnablementIdentifier) iter.next();
-			identifier.removeIdentifierListener(listener);
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroup.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroup.java
deleted file mode 100644
index e2fd938..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroup.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-
-
-/**
- * @author mdelder/blancett
- */
-public class FunctionGroup implements Comparable {
-
-	public static final String GROUP_NAME_ATTR = "name"; //$NON-NLS-1$
-	public static final String GROUP_DESC_ATTR = "description"; //$NON-NLS-1$
-	public static final String GROUP_ENABLED_BY_DEFAULT_ATTR = "enabledByDefault"; //$NON-NLS-1$
-	public static final String GROUP_PRIORITY_ATTR = "priority"; //$NON-NLS-1$
-	public static final String GROUP_INTIALIZER_CLASS_ATTR = "initializerClassName"; //$NON-NLS-1$
-	private static final int NEGATIVE_PRIORITY = -1;
-
-	private String groupID;
-	private String name;
-	private String description;
-	private String intializerClassName;
-	private String declaringExtension;
-	private int priority = NEGATIVE_PRIORITY;
-	private IConfigurationElement element;
-	private IGroupInitializer groupInterface;
-	private Set functionGroupPatternBindings;
-//	private transient FunctionGroupPatternBinding[] functionGroupPatternBindingsAsArray;
-	private boolean errorReported = false;
-
-	public FunctionGroup(String groupID, IConfigurationElement element) {
-		this.groupID = groupID;
-		this.element = element;
-	}
-
-	public String getDescription() {
-		if (description == null)
-			description = element.getAttribute(GROUP_DESC_ATTR);
-		return description;
-	}
-
-	String getInitalizerClassName() {
-		if (intializerClassName == null)
-			intializerClassName = element.getAttribute(GROUP_INTIALIZER_CLASS_ATTR);
-		return intializerClassName;
-	}
-
-	public String getName() {
-		if (name == null)
-			name = element.getAttribute(GROUP_NAME_ATTR);
-		return name;
-	}
-
-	private String getDeclaringExtensionName() {
-		if (declaringExtension == null) {
-			if (element.getDeclaringExtension() == null)
-				return ""; //$NON-NLS-1$
-			declaringExtension = element.getDeclaringExtension().toString();
-		}
-		return declaringExtension;
-	}
-
-	public String getGroupID() {
-		return groupID;
-	}
-
-	IGroupInitializer getInitializerClass() {
-		if (groupInterface == null)
-			try {
-				groupInterface = (IGroupInitializer) element.createExecutableExtension(GROUP_INTIALIZER_CLASS_ATTR);
-			} catch (CoreException e) {
-				Logger.getLogger().logError(WTPResourceHandler.getString("29", new Object[]{GROUP_INTIALIZER_CLASS_ATTR, getInitalizerClassName(), getDeclaringExtensionName()}) + "\r\n"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-4$
-				Logger.getLogger().logError(e);
-			}
-		return groupInterface;
-	}
-
-	public String toString() {
-		return "\"" + getName() + "\" (" + getGroupID() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	public int getPriority() {
-		if (priority == NEGATIVE_PRIORITY)
-			priority = Integer.parseInt(element.getAttribute(GROUP_PRIORITY_ATTR));
-		return priority;
-	}
-
-	public boolean isEnabled(IProject project) {
-		if (getInitializerClass() != null)
-			return getInitializerClass().isGroupEnabled(project);
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Comparable#compareTo(java.lang.Object)
-	 */
-	public int compareTo(Object o) {
-		if (this.equals(o))
-			return 0;
-		else if (!(o instanceof FunctionGroup))
-			return 1;
-
-		FunctionGroup group = (FunctionGroup) o;
-		if (getPriority() == group.getPriority())
-			return getGroupID().compareTo(group.getGroupID());
-
-		else if (getPriority() < group.getPriority())
-			return -1;
-		else
-			return 1;
-	}
-
-	public boolean isMatch(String string) {
-		if (functionGroupPatternBindings == null) {
-			if (!errorReported) {
-				Logger.getLogger().logError(WTPResourceHandler.getString("30", new Object[]{getGroupID()})); //$NON-NLS-1$
-				errorReported = true;
-			}
-			return false;
-		}
-		for (Iterator iterator = functionGroupPatternBindings.iterator(); iterator.hasNext();) {
-			FunctionGroupPatternBinding functionGroupPatternBinding = (FunctionGroupPatternBinding) iterator.next();
-
-			if (functionGroupPatternBinding.getPattern().matcher(string).matches())
-				return true;
-		}
-
-		return false;
-	}
-
-	boolean setFunctionGroupPatternBindings(Set functionGroupPatternBindings) {
-		functionGroupPatternBindings = Util.safeCopy(functionGroupPatternBindings, FunctionGroupPatternBinding.class);
-
-		if (!Util.equals(functionGroupPatternBindings, this.functionGroupPatternBindings)) {
-			this.functionGroupPatternBindings = functionGroupPatternBindings;
-//			this.functionGroupPatternBindingsAsArray = (FunctionGroupPatternBinding[]) this.functionGroupPatternBindings.toArray(new FunctionGroupPatternBinding[this.functionGroupPatternBindings.size()]);
-
-			return true;
-		}
-
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupPatternBinding.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupPatternBinding.java
deleted file mode 100644
index d387771..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupPatternBinding.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- * 
- * 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.frameworks.internal.enablement;
-
-import java.util.regex.Pattern;
-
-
-/**
- * @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 FunctionGroupPatternBinding {
-
-	private final static int HASH_FACTOR = 89;
-	private final static int HASH_INITIAL = FunctionGroupPatternBinding.class.getName().hashCode();
-	private String functionGroupId;
-	private transient int hashCode;
-	private transient boolean hashCodeComputed;
-	private Pattern pattern;
-	private transient String string;
-
-	/**
-	 *  
-	 */
-	public FunctionGroupPatternBinding(String functionGroupId, Pattern pattern) {
-		if (pattern == null)
-			throw new NullPointerException();
-
-		this.functionGroupId = functionGroupId;
-		this.pattern = pattern;
-	}
-
-	public int compareTo(Object object) {
-		FunctionGroupPatternBinding castedObject = (FunctionGroupPatternBinding) object;
-		int compareTo = Util.compare(functionGroupId, castedObject.functionGroupId);
-
-		if (compareTo == 0)
-			compareTo = Util.compare(pattern.pattern(), castedObject.pattern.pattern());
-
-		return compareTo;
-	}
-
-	public boolean equals(Object object) {
-		if (!(object instanceof FunctionGroupPatternBinding))
-			return false;
-
-		FunctionGroupPatternBinding castedObject = (FunctionGroupPatternBinding) object;
-		boolean equals = true;
-		equals &= Util.equals(functionGroupId, castedObject.functionGroupId);
-		equals &= Util.equals(pattern, castedObject.pattern);
-		return equals;
-	}
-
-	public String getActivityId() {
-		return functionGroupId;
-	}
-
-	public Pattern getPattern() {
-		return pattern;
-	}
-
-	public int hashCode() {
-		if (!hashCodeComputed) {
-			hashCode = HASH_INITIAL;
-			hashCode = hashCode * HASH_FACTOR + Util.hashCode(functionGroupId);
-			hashCode = hashCode * HASH_FACTOR + Util.hashCode(pattern);
-			hashCodeComputed = true;
-		}
-
-		return hashCode;
-	}
-
-	public String toString() {
-		if (string == null) {
-			final StringBuffer stringBuffer = new StringBuffer();
-			stringBuffer.append('[').append(functionGroupId).append(",pattern=\"").append(pattern.pattern()).append("\"]"); //$NON-NLS-1$ //$NON-NLS-2$
-			string = stringBuffer.toString();
-		}
-
-		return string;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupRegistry.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupRegistry.java
deleted file mode 100644
index 996c92c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/FunctionGroupRegistry.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * The FunctionGroupRegistry will consume Configuration elements conforming to the FunctionGroup
- * Extension Point schema.
- * 
- * @author mdelder/blancett
- */
-public class FunctionGroupRegistry extends RegistryReader {
-
-	private static FunctionGroupRegistry INSTANCE = null;
-
-	public static final String GROUP_ELEMENT = "functionGroup"; //$NON-NLS-1$
-	public static final String GROUP_ID_ATTR = "functionGroupID"; //$NON-NLS-1$
-	public static final String FUNCTION_GROUP_PATTERN_BINDING_ELMT = "functionGroupPatternBinding"; //$NON-NLS-1$
-	public static final String PATTERN_ATTR = "pattern"; //$NON-NLS-1$
-
-	private Map groupMapById;
-	private List knownGroups;
-	private Map patternBindingsByGroupId;
-
-	private FunctionGroupRegistry() {
-		super(WTPCommonPlugin.PLUGIN_ID, WTPCommonPlugin.GROUP_REGISTRY_EXTENSION_POINT);
-		patternBindingsByGroupId = new HashMap();
-
-	}
-
-	public static FunctionGroupRegistry getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new FunctionGroupRegistry();
-			INSTANCE.readRegistry();
-		}
-		return INSTANCE;
-	}
-
-	/*
-	 * (non-Javadoc) Read all the elements first, then set the pattern bindings on the function
-	 * groups
-	 */
-	public void readRegistry() {
-		super.readRegistry();
-		setPatternBindings();
-	}
-
-	private void setPatternBindings() {
-		Iterator iter = patternBindingsByGroupId.entrySet().iterator();
-		while (iter.hasNext()) {
-			Map.Entry entry = (Entry) iter.next();
-			String groupId = (String) entry.getKey();
-			Set value = (Set) entry.getValue();
-			FunctionGroup aGroup = getGroupByID(groupId);
-			if (aGroup != null)
-				aGroup.setFunctionGroupPatternBindings(value);
-		}
-
-	}
-
-	public boolean readElement(IConfigurationElement element) {
-		if (element.getName().equals(GROUP_ELEMENT)) {
-			readGroup(element);
-			return true;
-		} else if (element.getName().equals(FUNCTION_GROUP_PATTERN_BINDING_ELMT)) {
-			readPatternBinding(element);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * @param element
-	 */
-	private void readPatternBinding(IConfigurationElement element) {
-		String groupID = element.getAttribute(GROUP_ID_ATTR);
-		String pattern = element.getAttribute(PATTERN_ATTR);
-		if (!isNullOrEmpty(groupID) && !isNullOrEmpty(pattern)) {
-			Pattern aPattern = Pattern.compile(pattern);
-			FunctionGroupPatternBinding binding = new FunctionGroupPatternBinding(groupID, aPattern);
-			addPatternBinding(groupID, binding);
-		}
-
-	}
-
-	/**
-	 * @param binding
-	 */
-	private void addPatternBinding(String groupID, FunctionGroupPatternBinding binding) {
-		Set bindings = (Set) patternBindingsByGroupId.get(groupID);
-		if (bindings == null) {
-			bindings = new HashSet();
-			patternBindingsByGroupId.put(groupID, bindings);
-		}
-		bindings.add(binding);
-	}
-
-	private boolean isNullOrEmpty(String aString) {
-		return aString == null || aString.length() == 0;
-	}
-
-	private void readGroup(IConfigurationElement element) {
-		String groupID = element.getAttribute(GROUP_ID_ATTR);
-		if (!isNullOrEmpty(groupID)) {
-			FunctionGroup group = new FunctionGroup(groupID, element);
-			getGroupMapById().put(groupID, group);
-			getKnownGroups().add(group);
-		}
-	}
-
-	private List getAscendingSortedGroups(IProject project) {
-		Comparator ascendingGrpComparator = AscendingGroupComparator.singleton();
-		List groupList = getKnownGroups(project);
-		Collections.sort(groupList, ascendingGrpComparator);
-		return groupList;
-	}
-
-	private List getDescendingSortedGroups(IProject project) {
-		Comparator descendingGrpComparator = DescendingGroupComparator.singleton();
-		List groupList = getKnownGroups(project);
-		Collections.sort(groupList, descendingGrpComparator);
-		return groupList;
-	}
-
-	public List getKnownGroups(IProject project) {
-		ArrayList groupByProjectList = new ArrayList(getKnownGroups().size());
-		List groupList = getKnownGroups();
-		for (int i = 0; i < groupList.size(); i++) {
-			FunctionGroup group = (FunctionGroup) groupList.get(i);
-			if (group.isEnabled(project))
-				groupByProjectList.add(group);
-		}
-		return groupByProjectList;
-	}
-
-	public List getAscendingPriorityGroupNames(IProject project) {
-		List sortedGroup = getAscendingSortedGroups(project);
-		return getGroupListNames(sortedGroup, new ArrayList(sortedGroup.size()));
-
-	}
-
-	public List getDescendingPriorityGroupNames(IProject project) {
-		List sortedGroup = getDescendingSortedGroups(project);
-		return getGroupListNames(sortedGroup, new ArrayList(sortedGroup.size()));
-	}
-
-	private List getGroupListNames(List sortedGroup, List sortedGroupNames) {
-		for (int i = 0; i < sortedGroup.size(); i++) {
-			FunctionGroup grp = (FunctionGroup) sortedGroup.get(i);
-			sortedGroupNames.add(grp.getGroupID());
-		}
-		return sortedGroupNames;
-	}
-
-	public Iterator getGroupIDs() {
-		return getGroupMapById().keySet().iterator();
-	}
-
-	public FunctionGroup getGroupByID(String groupID) {
-		return (FunctionGroup) getGroupMapById().get(groupID);
-	}
-
-	public boolean isGroupEnabled(IProject project, String groupID) {
-		FunctionGroup group = getGroupByID(groupID);
-		if (group != null)
-			return group.isEnabled(project);
-		return false;
-	}
-
-	public List getKnownGroups() {
-		if (knownGroups == null)
-			knownGroups = new ArrayList();
-		return knownGroups;
-	}
-
-	/**
-	 * @return Returns the groupMapById.
-	 */
-	protected Map getGroupMapById() {
-		if (groupMapById == null)
-			groupMapById = new HashMap();
-		return groupMapById;
-	}
-
-	/**
-	 * Check the priority of the two groups referenced by
-	 * 
-	 * @groupID1 and
-	 * @groupID2
-	 * 
-	 * @param groupID1
-	 * @param groupID2
-	 * @return 0 if the two groups are equal, 1 if
-	 * @groupID1 has a higher precedence, otherwise -1
-	 */
-	public int compare(String groupID1, String groupID2) {
-		FunctionGroup group1 = getGroupByID(groupID1);
-		FunctionGroup group2 = getGroupByID(groupID2);
-		if (group1 == null) {
-			Logger.getLogger().logError(new IllegalArgumentException(WTPResourceHandler.getString("28", new Object[]{groupID1}))); //$NON-NLS-1$
-			return -1;
-		}
-		if (group2 == null) {
-			Logger.getLogger().logError(new IllegalArgumentException(WTPResourceHandler.getString("28", new Object[]{groupID2}))); //$NON-NLS-1$
-			return 1;
-		}
-
-		return group1.compareTo(group2);
-	}
-
-	public int getGroupPriority(String grpId) {
-		FunctionGroup group = getGroupByID(grpId);
-		return (group != null) ? group.getPriority() : -1;
-	}
-
-	public int getFunctionPriority(String enablementID) {
-		int priority = Integer.MAX_VALUE;
-		Iterator iter = getKnownGroups().iterator();
-		while (iter.hasNext()) {
-			FunctionGroup group = (FunctionGroup) iter.next();
-			if (group.isMatch(enablementID))
-				priority = Math.min(priority, group.getPriority());
-		}
-		return priority;
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifier.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifier.java
deleted file mode 100644
index d73d812..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifier.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- *
- * 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.frameworks.internal.enablement;
-
-import java.util.Set;
-
-/**
- * @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 IEnablementIdentifier {
-
-
-	/**
-	 * Registers an instance of <code>IIdentifierListener</code> to listen for changes to
-	 * properties of this instance.
-	 * 
-	 * @param identifierListener
-	 *            the instance to register. Must not be <code>null</code>. If an attempt is made
-	 *            to register an instance which is already registered with this instance, no
-	 *            operation is performed.
-	 */
-	void addIdentifierListener(IEnablementIdentifierListener identifierListener);
-
-	/**
-	 * Returns the set of function group ids that this instance matches.
-	 * <p>
-	 * Notification is sent to all registered listeners if this property changes.
-	 * </p>
-	 * 
-	 * @return the set of activity ids that this instance matches. This set may be empty, but is
-	 *         guaranteed not to be <code>null</code>. If this set is not empty, it is guaranteed
-	 *         to only contain instances of <code>String</code>.
-	 */
-	Set getFunctionGroupIds();
-
-	/**
-	 * Returns the identifier of this instance.
-	 * 
-	 * @return the identifier of this instance. Guaranteed not to be <code>null</code>.
-	 */
-	String getId();
-
-	/**
-	 * Returns whether or not this instance is enabled.
-	 * <p>
-	 * Notification is sent to all registered listeners if this property changes.
-	 * </p>
-	 * 
-	 * @return true, iff this instance is enabled.
-	 */
-	boolean isEnabled();
-
-	/**
-	 * Unregisters an instance of <code>IEnablementIdentifierListener</code> listening for changes
-	 * to properties of this instance.
-	 * 
-	 * @param identifierListener
-	 *            the instance to unregister. Must not be <code>null</code>. If an attempt is
-	 *            made to unregister an instance which is not already registered with this instance,
-	 *            no operation is performed.
-	 */
-	void removeIdentifierListener(IEnablementIdentifierListener identifierListener);
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifierListener.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifierListener.java
deleted file mode 100644
index 90cf938..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementIdentifierListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 10, 2004
- *
- * 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.frameworks.internal.enablement;
-
-/**
- * @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 IEnablementIdentifierListener {
-	/**
-	 * Notifies that one or more properties of an instance of <code>IIdentifier</code> have
-	 * changed. Specific details are described in the <code>IdentifierEvent</code>.
-	 * 
-	 * @param identifierEvent
-	 *            the identifier event. Guaranteed not to be <code>null</code>.
-	 */
-	void identifierChanged(EnablementIdentifierEvent identifierEvent);
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementManager.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementManager.java
deleted file mode 100644
index 454c94c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IEnablementManager.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 12, 2004
- *
- * 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.frameworks.internal.enablement;
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.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 interface IEnablementManager {
-	String INTERNAL_ENABLEMENT_DETERMINATION_ID = "org.eclipse.wst.common.frameworks.internal.EnablementDetermination"; //$NON-NLS-1$
-
-	IEnablementManager INSTANCE = (IEnablementManager) UIContextDetermination.createInstance(INTERNAL_ENABLEMENT_DETERMINATION_ID);
-
-	IEnablementIdentifier getIdentifier(String identifierId, IProject project);
-
-	/**
-	 * Notify all identifier listeners that the state of a project has changed that affects the
-	 * enablement of a group for a project. This method is fail safe, in that if one listener throws
-	 * an exception while being notified, it will not stop the notification of other listeners.
-	 * 
-	 * @param evt
-	 * @throws CoreException
-	 *             if exceptions were caught notifying any of the listeners. Check the status of the
-	 *             core exception for the nested exceptions.
-	 */
-	void notifyFunctionGroupChanged(String groupID, IProject project) throws CoreException;
-
-	/**
-	 * Utility method for clients to dispose of listeners
-	 * 
-	 * @param enablementIdentifiers
-	 * @param listener
-	 */
-	void removeEnablementIdentifierListener(Collection enablementIdentifiers, IEnablementIdentifierListener listener);
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IGroupInitializer.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IGroupInitializer.java
deleted file mode 100644
index c1cdc9c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IGroupInitializer.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * @author blancett
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public interface IGroupInitializer {
-
-	public boolean isGroupEnabled(IProject project);
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Identifiable.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Identifiable.java
deleted file mode 100644
index bd364b9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Identifiable.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-
-/**
- * @author mdelder
- *  
- */
-public interface Identifiable {
-
-	/**
-	 * return id that uniquely identifies this instance of an extension point. It is up to each
-	 * individual extension point provider to decide what that might be (e.g., "editorID", "pageID",
-	 * etc.
-	 */
-	String getID();
-
-	/**
-	 * 
-	 * @return the order the Identifiable element was loaded
-	 */
-	int getLoadOrder();
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IdentifiableComparator.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IdentifiableComparator.java
deleted file mode 100644
index 0df26cf..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/IdentifiableComparator.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-
-/**
- * @author mdelder
- *  
- */
-public class IdentifiableComparator implements java.util.Comparator {
-
-	protected static final int GREATER_THAN = 1;
-
-	protected static final int LESS_THAN = -1;
-
-	protected static final int EQUAL = 0;
-
-	protected static final IdentifiableComparator instance = new IdentifiableComparator();
-
-	private static final int DEFAULT_PRIORITY = Integer.MAX_VALUE;
-
-	public static IdentifiableComparator getInstance() {
-		return instance;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-	 */
-	public int compare(Object o1, Object o2) {
-		Identifiable lvalue = null;
-		Identifiable rvalue = null;
-		if (o1 instanceof Identifiable)
-			lvalue = (Identifiable) o1;
-		if (o2 instanceof Identifiable)
-			rvalue = (Identifiable) o2;
-
-		if (rvalue == null)
-			return GREATER_THAN;
-		if (lvalue == null)
-			return LESS_THAN;
-
-		if ((lvalue.getID() == null && rvalue.getID() == null) || (getPriority(lvalue) == getPriority(rvalue)))
-			return compareLoadOrder(lvalue, rvalue);
-		/* R - L implies 0 is the highest priority */
-		return getPriority(lvalue) - getPriority(rvalue);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.util.Comparator#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof IdentifiableComparator;
-	}
-
-	private int compareLoadOrder(Identifiable lvalue, Identifiable rvalue) {
-		/* R - L implies 0 is the highest priority */
-		return lvalue.getLoadOrder() - rvalue.getLoadOrder();
-	}
-
-	public int getPriority(Identifiable identifiable) {
-		if (identifiable.getID() != null && identifiable.getID().length() > 0)
-			return FunctionGroupRegistry.getInstance().getFunctionPriority(identifiable.getID());
-		return DEFAULT_PRIORITY;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Util.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Util.java
deleted file mode 100644
index 740270a..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/enablement/Util.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.enablement;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.SortedSet;
-import java.util.TreeMap;
-import java.util.TreeSet;
-
-/*
- * Rename this class to EnablementsUtil
- */
-
-public final class Util {
-	public final static SortedMap EMPTY_SORTED_MAP = Collections.unmodifiableSortedMap(new TreeMap());
-	public final static SortedSet EMPTY_SORTED_SET = Collections.unmodifiableSortedSet(new TreeSet());
-	public final static String ZERO_LENGTH_STRING = ""; //$NON-NLS-1$
-
-	public static void assertInstance(Object object, Class c) {
-		assertInstance(object, c, false);
-	}
-
-	public static void assertInstance(Object object, Class c, boolean allowNull) {
-		if (object == null && allowNull)
-			return;
-
-		if (object == null || c == null)
-			throw new NullPointerException();
-		else if (!c.isInstance(object))
-			throw new IllegalArgumentException();
-	}
-
-	public static int compare(boolean left, boolean right) {
-		return left == false ? (right == true ? -1 : 0) : 1;
-	}
-
-	public static int compare(Comparable left, Comparable right) {
-		if (left == null && right == null)
-			return 0;
-		else if (left == null)
-			return -1;
-		else if (right == null)
-			return 1;
-		else
-			return left.compareTo(right);
-	}
-
-	public static int compare(Comparable[] left, Comparable[] right) {
-		if (left == null && right == null)
-			return 0;
-		else if (left == null)
-			return -1;
-		else if (right == null)
-			return 1;
-		else {
-			int l = left.length;
-			int r = right.length;
-
-			if (l != r)
-				return l - r;
-			for (int i = 0; i < l; i++) {
-				int compareTo = compare(left[i], right[i]);
-
-				if (compareTo != 0)
-					return compareTo;
-			}
-			return 0;
-		}
-	}
-
-	public static int compare(int left, int right) {
-		return left - right;
-	}
-
-	public static int compare(List left, List right) {
-		if (left == null && right == null)
-			return 0;
-		else if (left == null)
-			return -1;
-		else if (right == null)
-			return 1;
-		else {
-			int l = left.size();
-			int r = right.size();
-
-			if (l != r)
-				return l - r;
-			for (int i = 0; i < l; i++) {
-				int compareTo = compare((Comparable) left.get(i), (Comparable) right.get(i));
-
-				if (compareTo != 0)
-					return compareTo;
-			}
-			return 0;
-		}
-	}
-
-	public static void diff(Map left, Map right, Set leftOnly, Set different, Set rightOnly) {
-		if (left == null || right == null || leftOnly == null || different == null || rightOnly == null)
-			throw new NullPointerException();
-
-		Iterator iterator = left.keySet().iterator();
-
-		while (iterator.hasNext()) {
-			Object key = iterator.next();
-
-			if (!right.containsKey(key))
-				leftOnly.add(key);
-			else if (!Util.equals(left.get(key), right.get(key)))
-				different.add(key);
-		}
-
-		iterator = right.keySet().iterator();
-
-		while (iterator.hasNext()) {
-			Object key = iterator.next();
-
-			if (!left.containsKey(key))
-				rightOnly.add(key);
-		}
-	}
-
-	public static void diff(Set left, Set right, Set leftOnly, Set rightOnly) {
-		if (left == null || right == null || leftOnly == null || rightOnly == null)
-			throw new NullPointerException();
-
-		Iterator iterator = left.iterator();
-
-		while (iterator.hasNext()) {
-			Object object = iterator.next();
-
-			if (!right.contains(object))
-				leftOnly.add(object);
-		}
-
-		iterator = right.iterator();
-
-		while (iterator.hasNext()) {
-			Object object = iterator.next();
-
-			if (!left.contains(object))
-				rightOnly.add(object);
-		}
-	}
-
-	public static boolean endsWith(List left, List right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		int l = left.size();
-		int r = right.size();
-		if (r > l || !equals && r == l)
-			return false;
-
-		for (int i = 0; i < r; i++)
-			if (!equals(left.get(l - i - 1), right.get(r - i - 1)))
-				return false;
-		return true;
-	}
-
-	public static boolean endsWith(Object[] left, Object[] right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		int l = left.length;
-		int r = right.length;
-		if (r > l || !equals && r == l)
-			return false;
-		for (int i = 0; i < r; i++)
-			if (!equals(left[l - i - 1], right[r - i - 1]))
-				return false;
-		return true;
-	}
-
-	public static boolean equals(boolean left, boolean right) {
-		return left == right;
-	}
-
-	public static boolean equals(int left, int right) {
-		return left == right;
-	}
-
-	public static boolean equals(Object left, Object right) {
-		return left == null ? right == null : left.equals(right);
-	}
-
-	public static int hashCode(boolean b) {
-		return b ? Boolean.TRUE.hashCode() : Boolean.FALSE.hashCode();
-	}
-
-	public static int hashCode(int i) {
-		return i;
-	}
-
-	public static int hashCode(Object object) {
-		return object != null ? object.hashCode() : 0;
-	}
-
-	public static List safeCopy(List list, Class c) {
-		return safeCopy(list, c, false);
-	}
-
-	public static List safeCopy(List list, Class c, boolean allowNullElements) {
-		if (list == null || c == null)
-			throw new NullPointerException();
-
-		list = Collections.unmodifiableList(new ArrayList(list));
-		Iterator iterator = list.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return list;
-	}
-
-	public static Map safeCopy(Map map, Class keyClass, Class valueClass) {
-		return safeCopy(map, keyClass, valueClass, false, false);
-	}
-
-	public static Map safeCopy(Map map, Class keyClass, Class valueClass, boolean allowNullKeys, boolean allowNullValues) {
-		if (map == null || keyClass == null || valueClass == null)
-			throw new NullPointerException();
-
-		map = Collections.unmodifiableMap(new HashMap(map));
-		Iterator iterator = map.entrySet().iterator();
-
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			assertInstance(entry.getKey(), keyClass, allowNullKeys);
-			assertInstance(entry.getValue(), valueClass, allowNullValues);
-		}
-
-		return map;
-	}
-
-	public static Set safeCopy(Set set, Class c) {
-		return safeCopy(set, c, false);
-	}
-
-	public static Set safeCopy(Set set, Class c, boolean allowNullElements) {
-		if (set == null || c == null)
-			throw new NullPointerException();
-
-		set = Collections.unmodifiableSet(new HashSet(set));
-		Iterator iterator = set.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return set;
-	}
-
-	public static SortedMap safeCopy(SortedMap sortedMap, Class keyClass, Class valueClass) {
-		return safeCopy(sortedMap, keyClass, valueClass, false, false);
-	}
-
-	public static SortedMap safeCopy(SortedMap sortedMap, Class keyClass, Class valueClass, boolean allowNullKeys, boolean allowNullValues) {
-		if (sortedMap == null || keyClass == null || valueClass == null)
-			throw new NullPointerException();
-
-		sortedMap = Collections.unmodifiableSortedMap(new TreeMap(sortedMap));
-		Iterator iterator = sortedMap.entrySet().iterator();
-
-		while (iterator.hasNext()) {
-			Map.Entry entry = (Map.Entry) iterator.next();
-			assertInstance(entry.getKey(), keyClass, allowNullKeys);
-			assertInstance(entry.getValue(), valueClass, allowNullValues);
-		}
-
-		return sortedMap;
-	}
-
-	public static SortedSet safeCopy(SortedSet sortedSet, Class c) {
-		return safeCopy(sortedSet, c, false);
-	}
-
-	public static SortedSet safeCopy(SortedSet sortedSet, Class c, boolean allowNullElements) {
-		if (sortedSet == null || c == null)
-			throw new NullPointerException();
-
-		sortedSet = Collections.unmodifiableSortedSet(new TreeSet(sortedSet));
-		Iterator iterator = sortedSet.iterator();
-
-		while (iterator.hasNext())
-			assertInstance(iterator.next(), c, allowNullElements);
-
-		return sortedSet;
-	}
-
-	public static boolean startsWith(List left, List right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		int l = left.size();
-		int r = right.size();
-		if (r > l || !equals && r == l)
-			return false;
-		for (int i = 0; i < r; i++)
-			if (!equals(left.get(i), right.get(i)))
-				return false;
-		return true;
-	}
-
-	public static boolean startsWith(Object[] left, Object[] right, boolean equals) {
-		if (left == null || right == null)
-			return false;
-		int l = left.length;
-		int r = right.length;
-		if (r > l || !equals && r == l)
-			return false;
-
-		for (int i = 0; i < r; i++)
-			if (!equals(left[i], right[i]))
-				return false;
-		return true;
-	}
-
-	public static String translateString(ResourceBundle resourceBundle, String key) {
-		return Util.translateString(resourceBundle, key, key, true, true);
-	}
-
-	public static String translateString(ResourceBundle resourceBundle, String key, String string, boolean signal, boolean trim) {
-		if (resourceBundle != null && key != null)
-			try {
-				final String translatedString = resourceBundle.getString(key);
-
-				if (translatedString != null)
-					return trim ? translatedString.trim() : translatedString;
-			} catch (MissingResourceException eMissingResource) {
-				if (signal)
-					System.err.println(eMissingResource);
-			}
-
-		return trim ? string.trim() : string;
-	}
-
-	private Util() {
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ComposedExtendedOperationHolder.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ComposedExtendedOperationHolder.java
deleted file mode 100644
index 8b754b5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ComposedExtendedOperationHolder.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager;
-
-public class ComposedExtendedOperationHolder {
-
-	private ArrayList preOps = null;
-	private ArrayList postOps = null;
-
-	protected ComposedExtendedOperationHolder() {
-		super();
-	}
-
-	public static ComposedExtendedOperationHolder createExtendedOperationHolder(String operationID) {
-		Collection extensions = (Collection) OperationExtensionReader.getExtensionPoints().get(operationID);
-		if (extensions == null) {
-			return null;
-		}
-
-		ComposedExtendedOperationHolder extOperationHolder = new ComposedExtendedOperationHolder();
-		Object preOp = null;
-		Object postOp = null;
-		OperationExtension currentExt = null;
-		for (Iterator iterator = extensions.iterator(); iterator.hasNext();) {
-			currentExt = (OperationExtension) iterator.next();
-			if (EnablementManager.INSTANCE.getIdentifier(currentExt.getExtensionId(), null).isEnabled()) {
-				try {
-					preOp = currentExt.getPreOperation();
-					if (preOp != null) {
-						extOperationHolder.addPreOperation(preOp);
-					}
-				} catch (CoreException e) {
-					Logger.getLogger().logError(e);
-				}
-				try {
-					postOp = currentExt.getPostOperation();
-					if (postOp != null) {
-						extOperationHolder.addPostOperation(postOp);
-					}
-				} catch (CoreException e) {
-					Logger.getLogger().logError(e);
-				}
-			}
-		}
-		return extOperationHolder;
-	}
-
-	protected void addPreOperation(Object preOperation) {
-		if (preOps == null) {
-			preOps = new ArrayList();
-		}
-		preOps.add(preOperation);
-	}
-
-	protected void addPostOperation(Object postOperation) {
-		if (postOps == null) {
-			postOps = new ArrayList();
-		}
-		postOps.add(postOperation);
-	}
-
-	public boolean hasPreOps() {
-		return preOps != null;
-	}
-
-	public boolean hasPostOps() {
-		return postOps != null;
-	}
-
-	public ArrayList getPostOps() {
-		return postOps;
-	}
-
-	public ArrayList getPreOps() {
-		return preOps;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IHeadlessRunnableWithProgress.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IHeadlessRunnableWithProgress.java
deleted file mode 100644
index 35db85c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IHeadlessRunnableWithProgress.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Simialar to org.eclipse.jface.operation.IRunnableWithProgress, however without UI dependencies.
- * 
- * This class is EXPERIMENTAL and is subject to substantial changes.
- */
-public interface IHeadlessRunnableWithProgress {
-	/**
-	 * Runs this operation without forcing a UI dependency.
-	 * 
-	 * @param monitor
-	 *            the progress monitor to use to display progress and receive requests for
-	 *            cancelation
-	 * @exception InvocationTargetException
-	 *                if the run method must propagate a checked exception, it should wrap it inside
-	 *                an <code>InvocationTargetException</code>; runtime exceptions are
-	 *                automatically wrapped in an <code>InvocationTargetException</code> by the
-	 *                calling context
-	 * @exception InterruptedException
-	 *                if the operation detects a request to cancel, using
-	 *                <code>IProgressMonitor.isCanceled()</code>, it should exit by throwing
-	 *                <code>InterruptedException</code>
-	 * 
-	 * @see IRunnableWithProgress
-	 */
-	public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException;
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IOperationHandler.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IOperationHandler.java
deleted file mode 100644
index 633e4c1..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IOperationHandler.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-/**
- * Passed to complex methods that may require reporting of messages, or interactions from the user;
- * Defined as an interface because the actions may run in headless environments
- */
-public interface IOperationHandler {
-	int YES = 0;
-	int YES_TO_ALL = 1;
-	int NO = 2;
-	int CANCEL = 3;
-
-	/**
-	 * A decision needs to made as to whether an action/operation can continue
-	 */
-	public boolean canContinue(String message);
-
-	/**
-	 * A decision needs to made as to whether an action/operation can continue. <code>items</code>
-	 * is an array of details that accompany the <code>message</code>.
-	 */
-	public boolean canContinue(String message, String[] items);
-
-	/**
-	 * A decision needs to made as to whether an action/operation can continue. The boolean array
-	 * will return two booleans. The first indicates their response to the original question and the
-	 * second indicates if they selected the apply to all check box.
-	 * 
-	 * Return the return code for the dialog. 0 = Yes, 1 = Yes to all, 2 = No
-	 */
-	int canContinueWithAllCheck(String message);
-
-	int canContinueWithAllCheckAllowCancel(String message);
-
-	/**
-	 * An error has occurred
-	 */
-	public void error(String message);
-
-	/**
-	 * An informational message needs to be presented
-	 */
-	public void inform(String message);
-
-	public Object getContext();
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationProperties.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationProperties.java
deleted file mode 100644
index 214e6e5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationProperties.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-
-/**
- * @deprecated use IProjectCreationPropertiesNew
- */
-public interface IProjectCreationProperties {
-
-	/**
-	 * A required dataModel propertyName for a <code>java.lang.String</code> type. This is used to
-	 * specify the project name.
-	 */
-	public static final String PROJECT_NAME = "IProjectCreationProperties.PROJECT_NAME"; //$NON-NLS-1$
-
-	/**
-	 * An optonal dataModel propertyName for a <code>java.lang.String</code> type. Sets the local
-	 * file system location for the described project. The path must be either an absolute file
-	 * system path, or a relative path whose first segment is the name of a defined workspace path
-	 * variable. The default value is the workspace's default location.
-	 */
-	public static final String PROJECT_LOCATION = "IProjectCreationProperties.PROJECT_LOCATION"; //$NON-NLS-1$
-
-
-	/**
-	 * An optional dataModel propertyName for a <code>java.lang.String[]</code> type. This is a
-	 * list of all natures to add to the project. There is no default value.
-	 */
-	public static final String PROJECT_NATURES = "IProjectCreationProperties.PROJECT_NATURES"; //$NON-NLS-1$
-
-	/**
-	 * IProject. An non settable property. This is a conveniece for constructiong getting the
-	 * IProject
-	 */
-	public static final String PROJECT = "IProjectCreationProperties.PROJECT"; //$NON-NLS-1$
-
-	/**
-	 * IProjectDescription. An non settable property. This is a conveniece for constructiong a
-	 * project description.
-	 */
-	public static final String PROJECT_DESCRIPTION = "IProjectCreationProperties.PROJECT_DESCRIPTION"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationPropertiesNew.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationPropertiesNew.java
deleted file mode 100644
index 9ab6337..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/IProjectCreationPropertiesNew.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-public interface IProjectCreationPropertiesNew {
-
-	/**
-	 * A required dataModel propertyName for a <code>java.lang.String</code> type. This is used to
-	 * specify the project name.
-	 */
-	public static final String PROJECT_NAME = "IProjectCreationPropertiesNew.PROJECT_NAME"; //$NON-NLS-1$
-
-	/**
-	 * A Boolean property used for determining how the PROJECT_LOCATION is computed. If this
-	 * property is true then the PROJECT_LOCATION is null. Otherwise the PROJECT_LOCATION is the
-	 * value of USER_DEFINED_LOCATION.
-	 */
-	public static final String USE_DEFAULT_LOCATION = "IProjectCreationPropertiesNew.USE_DEFAULT_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * A String property used in conjuction with USE_DEFAULT_LOCATION to override the
-	 * DEFAULT_LOCATION.
-	 */
-	public static final String USER_DEFINED_LOCATION = "IProjectCreationPropertiesNew.USER_DEFINED_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * An unsettable property which specified the default location for a newly created project. The
-	 * value is computed by appending the project name to the workspace location.
-	 */
-	public static final String DEFAULT_LOCATION = "IProjectCreationPropertiesNew.DEFAULT_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * An unsettable property used to specify the project location. If USE_DEFAULT_LOCATION this
-	 * property evaluates to USER_DEFINED_LOCATION; otherwise it i <code>null</code>.
-	 */
-	public static final String PROJECT_LOCATION = "IProjectCreationPropertiesNew.PROJECT_LOCATION"; //$NON-NLS-1$
-
-	/**
-	 * An optional dataModel propertyName for a <code>java.lang.String[]</code> type. This is a
-	 * list of all natures to add to the project. There is no default value.
-	 */
-	public static final String PROJECT_NATURES = "IProjectCreationPropertiesNew.PROJECT_NATURES"; //$NON-NLS-1$
-
-	/**
-	 * IProject. An non settable property. This is a conveniece for constructiong getting the
-	 * IProject
-	 */
-	public static final String PROJECT = "IProjectCreationPropertiesNew.PROJECT"; //$NON-NLS-1$
-
-	/**
-	 * IProjectDescription. An non settable property. This is a conveniece for constructiong a
-	 * project description.
-	 */
-	public static final String PROJECT_DESCRIPTION = "IProjectCreationPropertiesNew.PROJECT_DESCRIPTION"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtension.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtension.java
deleted file mode 100644
index 2fcd16e..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtension.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-
-public class OperationExtension {
-
-	protected String opID = null;
-
-	protected IConfigurationElement baseElement = null;
-
-	protected String preOperationClass = null;
-
-	protected String postOperationClass = null;
-
-	protected String extensionId;
-
-	public OperationExtension(IConfigurationElement element, String id, String preOp, String postOp) {
-		super();
-		baseElement = element;
-		setUpExtension(id, preOp, postOp);
-	}
-
-	private void setUpExtension(String id, String preOp, String postOp) {
-		opID = id;
-		preOperationClass = preOp;
-		postOperationClass = postOp;
-		this.extensionId = baseElement.getDeclaringExtension().getUniqueIdentifier();
-		if (this.extensionId == null)
-			this.extensionId = baseElement.getDeclaringExtension().getNamespace();
-	}
-
-	public String getOpID() {
-		return opID;
-	}
-
-	public String getPostOperationClass() {
-		return postOperationClass;
-	}
-
-	public String getPreOperationClass() {
-		return preOperationClass;
-	}
-
-	public Object getPostOperation() throws CoreException {
-		if (postOperationClass == null)
-			return null;
-		return baseElement.createExecutableExtension(OperationExtensionReader.ATT_POST_OP);
-	}
-
-	public Object getPreOperation() throws CoreException {
-		if (preOperationClass == null)
-			return null;
-		return baseElement.createExecutableExtension(OperationExtensionReader.ATT_PRE_OP);
-	}
-
-	/**
-	 * @return Returns the extensionId.
-	 */
-	public String getExtensionId() {
-		return extensionId;
-	}
-
-	public IConfigurationElement getBaseElement() {
-		return baseElement;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtensionReader.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtensionReader.java
deleted file mode 100644
index 31f25db..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationExtensionReader.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 3, 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.frameworks.internal.operations;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class OperationExtensionReader extends RegistryReader {
-	protected static HashMap opExtensions = null;
-
-	public static final String ELEMENT_J2EEOPEXT = "operationExtension"; //$NON-NLS-1$
-	public static final String ATT_ID = "id"; //$NON-NLS-1$ 
-	public static final String ATT_PRE_OP = "preOperationClass"; //$NON-NLS-1$
-	public static final String ATT_POST_OP = "postOperationClass"; //$NON-NLS-1$
-
-	public OperationExtensionReader() {
-		super(WTPCommonPlugin.PLUGIN_ID, "OperationExtension"); //$NON-NLS-1$
-	}
-
-	/**
-	 * readElement() - parse and deal with an extension like: <operationExtension
-	 * preOperationClass="com.ibm.etools....PreDeleteOperation"
-	 * postOperationClass="com.ibm.etools....PostDeleteOperation"> </operationExtension>
-	 */
-
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(ELEMENT_J2EEOPEXT))
-			return false;
-		String id = element.getAttribute(ATT_ID);
-		String preOp = element.getAttribute(ATT_PRE_OP);
-		String postOp = element.getAttribute(ATT_POST_OP);
-		OperationExtension extension = new OperationExtension(element, id, preOp, postOp);
-		addExtensionPoint(extension);
-		return true;
-	}
-
-	/**
-	 * Sets the extension point.
-	 * 
-	 * @param extensions
-	 *            The extensions to set
-	 */
-	private static void addExtensionPoint(OperationExtension newExtension) {
-		Collection temp = null;
-		Object holder = opExtensions.get(newExtension.getOpID());
-		if (holder == null) {
-			temp = new ArrayList();
-			temp.add(newExtension);
-			opExtensions.put(newExtension.getOpID(), temp);
-		} else {
-			temp = (Collection) holder;
-			temp.add(newExtension);
-		}
-	}
-
-	public static HashMap getExtensionPoints() {
-		if(opExtensions == null){
-			opExtensions = new HashMap();
-			OperationExtensionReader opExtensionReader = new OperationExtensionReader();
-			opExtensionReader.readRegistry();
-		}
-		return opExtensions;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationStatus.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationStatus.java
deleted file mode 100644
index 0acebf5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/OperationStatus.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class OperationStatus extends MultiStatus {
-
-	public OperationStatus(String message, Throwable e) {
-		super(WTPCommonPlugin.PLUGIN_ID, 0, new IStatus[]{}, message, e);
-	}
-
-	public OperationStatus(IStatus[] children) {
-		this(WTPCommonPlugin.PLUGIN_ID, 0, children, "", null); //$NON-NLS-1$
-	}
-
-	public OperationStatus(String pluginId, int code, IStatus[] children, String message, Throwable exception) {
-		super(pluginId, code, children, message, exception);
-	}
-
-	public void addExtendedStatus(IStatus status) {
-		int oldSeverity = getSeverity();
-		super.add(status);
-		if (oldSeverity != IStatus.ERROR && getSeverity() == IStatus.ERROR) {
-			setSeverity(IStatus.WARNING);
-		}
-	}
-
-	public void setCode(int code) {
-		super.setCode(code);
-	}
-
-	public void setException(Throwable exception) {
-		super.setException(exception);
-	}
-
-	public void setMessage(String message) {
-		super.setMessage(message);
-	}
-
-	public void setSeverity(int severity) {
-		super.setSeverity(severity);
-	}
-
-	public void add(IStatus status) {
-		int newSev = status.getSeverity();
-		if (newSev > getSeverity()) {
-			setMessage(status.getMessage());
-			setException(status.getException());
-		}
-		super.add(status);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProvider.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProvider.java
deleted file mode 100644
index ccf044c..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProvider.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Oct 27, 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.frameworks.internal.operations;
-
-import java.io.File;
-import java.util.Set;
-
-import org.eclipse.core.internal.resources.Resource;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * @deprecated use ProjectCreationDataModelProviderNew instead.
- */
-public class ProjectCreationDataModelProvider extends AbstractDataModelProvider implements IProjectCreationProperties {
-
-	public IDataModelOperation getDefaultOperation() {
-		return new ProjectCreationOperation(model);
-	}
-
-	public void init() {
-		super.init();
-	}
-
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(PROJECT);
-		propertyNames.add(PROJECT_NAME);
-		propertyNames.add(PROJECT_LOCATION);
-		propertyNames.add(PROJECT_NATURES);
-		propertyNames.add(PROJECT_DESCRIPTION);
-		return propertyNames;
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(PROJECT_LOCATION))
-			return getDefaultLocation();
-		else if (propertyName.equals(PROJECT_DESCRIPTION))
-			return getProjectDescription();
-		return super.getDefaultProperty(propertyName);
-	}
-
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		if (propertyValue != null && propertyName.equals(PROJECT_LOCATION)) {
-			IPath path = getRootLocation();
-			if (path.equals(new Path((String) propertyValue))) {
-				model.setProperty(propertyName, null);
-			}
-			model.setProperty(PROJECT_DESCRIPTION, getProjectDescription());
-		} else if (propertyName.equals(PROJECT_NAME)) {
-			IStatus stat = model.validateProperty(PROJECT_NAME);
-			if (stat != OK_STATUS)
-				return false;
-			model.setProperty(PROJECT, getProject());
-			model.setProperty(PROJECT_DESCRIPTION, getProjectDescription());
-		}
-		return true;
-	}
-
-	private String getDefaultLocation() {
-		IPath path = getRootLocation();
-		String projectName = (String) getProperty(PROJECT_NAME);
-		if (projectName != null)
-			path = path.append(projectName);
-		return path.toOSString();
-	}
-
-	private IPath getRootLocation() {
-		return ResourcesPlugin.getWorkspace().getRoot().getLocation();
-	}
-
-	private IProjectDescription getProjectDescription() {
-		String projectName = (String) getProperty(PROJECT_NAME);
-		IProjectDescription desc = ResourcesPlugin.getWorkspace().newProjectDescription(projectName);
-		if (getDataModel().isPropertySet(PROJECT_LOCATION)) {
-			String projectLocation = (String) getProperty(IProjectCreationProperties.PROJECT_LOCATION);
-			if (projectLocation != null)
-				desc.setLocation(new Path(projectLocation));
-			else
-				desc.setLocation(null);
-		}
-		return desc;
-	}
-
-	protected IProject getProject() {
-		String projectName = (String) getProperty(PROJECT_NAME);
-		return (null != projectName && projectName.length() > 0) ? ResourcesPlugin.getWorkspace().getRoot().getProject(projectName) : null;
-	}
-
-	public IStatus validate(String propertyName) {
-		if (propertyName.equals(PROJECT_NAME)) {
-			IStatus status = validateName();
-			if (!status.isOK())
-				return status;
-		}
-		if (propertyName.equals(PROJECT_LOCATION)) {
-			IStatus status = validateLocation();
-			if (!status.isOK())
-				return status;
-		}
-		if (propertyName.equals(PROJECT_LOCATION) || propertyName.equals(PROJECT_NAME)) {
-			String projectName = getStringProperty(PROJECT_NAME);
-			String projectLoc = getStringProperty(PROJECT_LOCATION);
-			return validateExisting(projectName, projectLoc);
-		}
-		return OK_STATUS;
-	}
-
-	/**
-	 * @param projectName
-	 * @param projectLoc
-	 * @todo Generated comment
-	 */
-	private IStatus validateExisting(String projectName, String projectLoc) {
-		if (projectName != null && !projectName.equals("")) {//$NON-NLS-1$
-			File file = new File(projectLoc);
-			if (file.exists()) {
-				if (file.isDirectory()) {
-					File dotProject = new File(file, ".project");//$NON-NLS-1$
-					if (dotProject.exists()) {
-						return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_AT_LOCATION_ERROR, new Object[]{file.toString()}));
-					}
-				}
-			}
-		}
-		return OK_STATUS;
-	}
-
-	public static IProject getProjectHandleFromProjectName(String projectName) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateName(projectName, IResource.PROJECT);
-		return (null != projectName && projectName.length() > 0 && status.isOK()) ? ResourcesPlugin.getWorkspace().getRoot().getProject(projectName) : null;
-	}
-
-	public static IStatus validateProjectName(String projectName) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateName(projectName, IResource.PROJECT);
-		if (!status.isOK())
-			return status;
-		return OK_STATUS;
-	}
-
-	private IStatus validateName() {
-		String name = getStringProperty(PROJECT_NAME);
-		IStatus status = validateProjectName(name);
-		if (!status.isOK())
-			return status;
-		if (getProject().exists())
-			return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_ERROR, new Object[]{name}));
-
-		if (!WTPPlugin.isPlatformCaseSensitive()) {
-			// now look for a matching case variant in the tree
-			IResource variant = ((Resource) getProject()).findExistingResourceVariant(getProject().getFullPath());
-			if (variant != null) {
-				// TODO Fix this string
-				return WTPCommonPlugin.createErrorStatus("Resource already exists with a different case."); //$NON-NLS-1$
-			}
-		}
-		return OK_STATUS;
-	}
-
-	private IStatus validateLocation() {
-		if (getDataModel().isPropertySet(PROJECT_LOCATION)) {
-			String loc = (String) getProperty(PROJECT_LOCATION);
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IPath path = new Path(loc);
-			return workspace.validateProjectLocation(getProject(), path);
-		}
-		return OK_STATUS;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProviderNew.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProviderNew.java
deleted file mode 100644
index 4c683c3..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationDataModelProviderNew.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.frameworks.internal.operations;
-
-import java.io.File;
-import java.util.Set;
-
-import org.eclipse.core.internal.resources.Resource;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class ProjectCreationDataModelProviderNew extends AbstractDataModelProvider implements IProjectCreationPropertiesNew {
-
-	public IDataModelOperation getDefaultOperation() {
-		return new ProjectCreationOperation(model);
-	}
-
-	public void init() {
-		super.init();
-	}
-
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(PROJECT);
-		propertyNames.add(PROJECT_NAME);
-		propertyNames.add(PROJECT_LOCATION);
-		propertyNames.add(USE_DEFAULT_LOCATION);
-		propertyNames.add(DEFAULT_LOCATION);
-		propertyNames.add(USER_DEFINED_LOCATION);
-		propertyNames.add(PROJECT_NATURES);
-		propertyNames.add(PROJECT_DESCRIPTION);
-		return propertyNames;
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(PROJECT_LOCATION)) {
-			if (getBooleanProperty(USE_DEFAULT_LOCATION)) {
-				return null;
-			}
-			return getProperty(USER_DEFINED_LOCATION);
-		} else if (DEFAULT_LOCATION.equals(propertyName)) {
-			return getDefaultLocation();
-		} else if (USE_DEFAULT_LOCATION.equals(propertyName)) {
-			return Boolean.TRUE;
-		} else if (USER_DEFINED_LOCATION.equals(propertyName)) {
-			return ""; //$NON-NLS-1$
-		} else if (propertyName.equals(PROJECT_DESCRIPTION)){
-			return getProjectDescription();
-		}
-		
-		return super.getDefaultProperty(propertyName);
-	}
-
-	private String getDefaultLocation() {
-		IPath path = ResourcesPlugin.getWorkspace().getRoot().getLocation();
-		String projectName = (String) getProperty(PROJECT_NAME);
-		if (projectName != null)
-			path = path.append(projectName);
-		return path.toOSString();
-	}
-	
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		if (propertyName.equals(PROJECT_LOCATION) || propertyName.equals(DEFAULT_LOCATION) || propertyName.equals(PROJECT_DESCRIPTION)) {
-			throw new RuntimeException();
-		} else if (propertyName.equals(PROJECT_NAME)) {
-			IStatus stat = model.validateProperty(PROJECT_NAME);
-			if (stat != OK_STATUS)
-				return true;
-			model.setProperty(PROJECT, getProject());
-			model.notifyPropertyChange(DEFAULT_LOCATION, IDataModel.VALUE_CHG);
-			if (getBooleanProperty(USE_DEFAULT_LOCATION)) {
-				model.notifyPropertyChange(PROJECT_LOCATION, IDataModel.VALUE_CHG);
-			}
-		} else if (propertyName.equals(USE_DEFAULT_LOCATION)) {
-			model.notifyPropertyChange(PROJECT_LOCATION, IDataModel.VALUE_CHG);
-		} else if (propertyName.equals(USER_DEFINED_LOCATION) && !getBooleanProperty(USE_DEFAULT_LOCATION)) {
-			model.notifyPropertyChange(PROJECT_LOCATION, IDataModel.VALUE_CHG);
-		}
-		return true;
-	}
-
-	private IProjectDescription getProjectDescription() {
-		String projectName = (String) getProperty(PROJECT_NAME);
-		IProjectDescription desc = ResourcesPlugin.getWorkspace().newProjectDescription(projectName);
-		String projectLocation = (String) getProperty(PROJECT_LOCATION);
-		if (projectLocation != null)
-			desc.setLocation(new Path(projectLocation));
-		else
-			desc.setLocation(null);
-		return desc;
-	}
-
-	protected IProject getProject() {
-		String projectName = (String) getProperty(PROJECT_NAME);
-		return (null != projectName && projectName.length() > 0) ? ResourcesPlugin.getWorkspace().getRoot().getProject(projectName) : null;
-	}
-
-	public IStatus validate(String propertyName) {
-		if (propertyName.equals(PROJECT_NAME)) {
-			String name = model.getStringProperty(PROJECT_NAME);
-			IStatus status = validateName( name );
-			if (!status.isOK())
-				return status;
-		}
-		if (propertyName.equals(PROJECT_LOCATION)) {
-			IStatus status = validateLocation();
-			if (!status.isOK())
-				return status;
-		}
-		if (propertyName.equals(PROJECT_LOCATION) || propertyName.equals(PROJECT_NAME)) {
-			String projectName = getStringProperty(PROJECT_NAME);
-			
-			String projectLoc = ""; //$NON-NLS-1$
-			if( getBooleanProperty(USE_DEFAULT_LOCATION )){
-				projectLoc = getDefaultLocation();
-			}else{
-				projectLoc = getStringProperty(PROJECT_LOCATION);
-			}
-			return validateExisting(projectName, projectLoc);
-		}
-		return OK_STATUS;
-	}
-
-	/**
-	 * @param projectName
-	 * @param projectLoc
-	 * @todo Generated comment
-	 */
-	private IStatus validateExisting(String projectName, String projectLoc) {
-		if (projectName != null && !projectName.equals("")) {//$NON-NLS-1$
-			File file = new File(projectLoc);
-			if (file.exists()) {
-				if (file.isDirectory()) {
-					File dotProject = new File(file, ".project");//$NON-NLS-1$
-					if (dotProject.exists()) {
-						return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_AT_LOCATION_ERROR, new Object[]{file.toString()}));
-					}
-				}
-			}
-		}
-		return OK_STATUS;
-	}
-
-	public static IProject getProjectHandleFromProjectName(String projectName) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateName(projectName, IResource.PROJECT);
-		return (null != projectName && projectName.length() > 0 && status.isOK()) ? ResourcesPlugin.getWorkspace().getRoot().getProject(projectName) : null;
-	}
-
-	public static IStatus validateProjectName(String projectName) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateName(projectName, IResource.PROJECT);
-		if (!status.isOK())
-			return status;
-		if (projectName.endsWith(" ")) //$NON-NLS-1$
-			return WTPCommonPlugin.createErrorStatus(WTPResourceHandler.getString("41")); //$NON-NLS-1$
-		return OK_STATUS;
-	}
-
-	public static IStatus validateName(String name) {
-		IStatus status = validateProjectName(name);
-		if (!status.isOK())
-			return status;
-		IProject project = ProjectUtilities.getProject( name );
-		if (project.exists())
-			return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_ERROR, new Object[]{name}));
-
-		if (!WTPPlugin.isPlatformCaseSensitive()) {
-			// now look for a matching case variant in the tree
-			IResource variant = ((Resource) project).findExistingResourceVariant(project.getFullPath());
-			if (variant != null) {
-				return WTPCommonPlugin.createErrorStatus(WTPResourceHandler.getString("42")); //$NON-NLS-1$
-			}
-		}
-		return OK_STATUS;
-	}
-	
-
-	private IStatus validateLocation() {
-		String loc = (String) getProperty(PROJECT_LOCATION);
-		if (null != loc) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IPath path = new Path(loc);
-			return workspace.validateProjectLocation(getProject(), path);
-		}
-		return OK_STATUS;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperation.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperation.java
deleted file mode 100644
index 654f5b0..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/ProjectCreationOperation.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Oct 27, 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.frameworks.internal.operations;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class ProjectCreationOperation extends AbstractDataModelOperation implements IProjectCreationProperties {
-
-	public ProjectCreationOperation(IDataModel dataModel) {
-		super(dataModel);
-	}
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		try {
-			IProgressMonitor subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
-			IProjectDescription desc = (IProjectDescription) model.getProperty(PROJECT_DESCRIPTION);
-			IProject project = (IProject) model.getProperty(PROJECT);
-			if (!project.exists()) {
-				project.create(desc, subMonitor);
-			}
-			if (monitor.isCanceled())
-				throw new OperationCanceledException();
-			subMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN);
-
-			project.open(subMonitor);
-
-			String[] natureIds = (String[]) model.getProperty(PROJECT_NATURES);
-			if (null != natureIds) {
-				desc = project.getDescription();
-				desc.setNatureIds(natureIds);
-				project.setDescription(desc, monitor);
-			}
-		} catch (CoreException e) {
-			Logger.getLogger().logError(e);
-		} finally {
-			monitor.done();
-		}
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-		return OK_STATUS;
-	}
-
-	public boolean canUndo() {
-		return false;
-	}
-
-	public boolean canRedo() {
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.html b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.html
deleted file mode 100644
index 65a58f5..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../../..//apistyles.css" type="text/css">
-<title>wtp operation api overview</title>
-</head>
-<body>
-<p>The WTP Operation API allows clients to do...everything!</p>
-<table width="500">
-<tr>
-<td>
-<p>Under Construction.</p>
-</td>
-</tr>
-</table>
-<table cellpadding="10" cellspacing="10">
-<tr>
-<td>
-<p>
-<img src="escape_out_to_source_folder level/overview/your_image.jpg"></p>
-</td>
-</tr>
-<tr>
-<td>
-<p>
-<i>Figure 1: Image description</i>
-</p>
-</td>
-</tr>
-</table>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.xml b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.xml
deleted file mode 100644
index 9d050d4..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/operations/package.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> 
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../../" />
-        <title>wtp operation api overview</title>
-    </head>
-
-    <body>  
-        <abstract>The WTP Operation API allows clients to do...everything!</abstract>
-
-		<!-- formatting handled by XSLT Transformation -->
-		<p>Under Construction.</p>
-		<img src="escape_out_to_source_folder level/overview/your_image.jpg" caption ="Image description" />
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonMessages.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonMessages.java
deleted file mode 100644
index 80f12da..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonMessages.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 5, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.frameworks.internal.plugin;
-
-/**
- * @author DABERG
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class WTPCommonMessages {
-	public static final String PROJECT_EXISTS_ERROR = "1"; //$NON-NLS-1$
-	public static final String PROJECT_NOT_EAR = "2"; //$NON-NLS-1$
-	public static final String INCOMPATABLE_J2EE_VERSIONS = "3"; //$NON-NLS-1$
-	public static final String SAME_MODULE_AND_EAR_NAME = "4"; //$NON-NLS-1$
-	public static final String ARCHIVE_FILE_NAME_EMPTY_ERROR = "5"; //$NON-NLS-1$
-	public static final String FILE_DOES_NOT_EXIST_ERROR = "6"; //$NON-NLS-1$
-	public static final String INTERNAL_ERROR = "7"; //$NON-NLS-1$
-	public static final String PROJECT_NAME_INVALID = "8"; //$NON-NLS-1$
-	public static final String DESTINATION_ARCHIVE_SHOULD_END_WITH = "9"; //$NON-NLS-1$
-	public static final String DESTINATION_INVALID = "10"; //$NON-NLS-1$
-	public static final String IS_READ_ONLY = "11"; //$NON-NLS-1$
-	public static final String RESOURCE_EXISTS_ERROR = "12"; //$NON-NLS-1$
-	public static final String PROJECT_NOT_EXISTS_ERROR = "13"; //$NON-NLS-1$
-	public static final String SPEC_LEVEL_NOT_FOUND = "14"; //$NON-NLS-1$
-	public static final String PROJECT_NAME_EMPTY = "15"; //$NON-NLS-1$
-	public static final String PROJECT_ClOSED = "31"; //$NON-NLS-1$
-	public static final String PROJECT_EXISTS_AT_LOCATION_ERROR = "32"; //$NON-NLS-1$
-	public static final String ERR_EMPTY_MODULE_NAME = "34"; //$NON-NLS-1$
-	public static final String ERR_INVALID_CHARS = "35"; //$NON-NLS-1$ 
-	public static final String DUPLICATE_COMPONENT_NAME="36";//$NON-NLS-1$ 
-	public static final String MODULE_NOT_SUPPORTED="37";//$NON-NLS-1$ 
-    
-    public static final String MODULE_EXISTS_ERROR = "38"; //$NON-NLS-1$
-	public static final String SOURCEFOLDER_EMPTY = "39"; //$NON-NLS-1$
-	public static final String WEBCONTENTFOLDER_EMPTY = "40"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonPlugin.java b/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonPlugin.java
deleted file mode 100644
index 377e7f9..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/org/eclipse/wst/common/frameworks/internal/plugin/WTPCommonPlugin.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Oct 29, 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.frameworks.internal.plugin;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-
-/**
- * @author jsholl
- * 
- * 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 WTPCommonPlugin extends WTPPlugin {
-
-	public static final String PLUGIN_ID = "org.eclipse.wst.common.frameworks"; //$NON-NLS-1$
-	public static final String GROUP_REGISTRY_EXTENSION_POINT = "functionGroup"; //$NON-NLS-1$
-	public static final IStatus OK_STATUS = new Status(IStatus.OK, PLUGIN_ID, 0, "OK", null); //$NON-NLS-1$
-
-	//	The shared instance.
-	private static WTPCommonPlugin plugin;
-
-	public WTPCommonPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("wtp_common"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	public static WTPCommonPlugin getDefault() {
-		return plugin;
-	}
-
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createErrorStatus(String message) {
-		return createErrorStatus(message, null);
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createWarningStatus(String message) {
-		return createWarningStatus(message, null);
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createWarningStatus(String message, Throwable exception) {
-		return new Status(IStatus.WARNING, PLUGIN_ID, -1, message, exception);
-	}
-
-	/**
-	 * @param string
-	 * @return
-	 */
-	public static IStatus createErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, PLUGIN_ID, -1, message, exception);
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle, or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = WTPCommonPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null ? bundle.getString(key) : key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-		String pattern = getResourceString(key);
-		if (pattern != null)
-			return MessageFormat.format(pattern, args);
-		return null;
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.WTPPlugin#getPluginID()
-	 */
-	public String getPluginID() {
-		return PLUGIN_ID;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.frameworks/src/wtp_common.properties b/plugins/org.eclipse.wst.common.frameworks/src/wtp_common.properties
deleted file mode 100644
index f6db565..0000000
--- a/plugins/org.eclipse.wst.common.frameworks/src/wtp_common.properties
+++ /dev/null
@@ -1,52 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-1=A project already exists with this name and location.
-2=The specified EAR project "{0}" is not an EAR project.
-3=The EAR project "{0}" has a J2EEVersion of {1} which is not compatable with the specified module version.
-4=The EAR project name, "{0}", can not be the same as the project name.
-5={0} file name must be entered.
-6=The {0} does not exist.
-7=An internal error occurred.  View log files for details.
-8=Project name is invalid.
-9=Destination archive should end with {0}.
-10=Destination archive is invalid.
-11=Destination location is read only.
-12=Resource {0} already exists. If you wish to overwrite select the "Overwrite Existing file" option.
-13=Project {0} does not exist.
-14=The selected version is not supported by the server.
-15=Enter a project name.
-16=Save problems
-17=Save could not be completed.  Some related files may have already been saved.\n\nReason
-18={0} has been locked. Please ensure the operation is not currently executing.
-19=The extendedRoot is null. Make sure that isExtended() returns true.
-20=Property not located:
-21=Nested model not located:
-22=Cannot modify id once it has been set.
-23=The id cannot be null.
-24=ERROR:
-25=Extended Operation failure: {0}
-26=The Job completed successfully
-27=Exception occurred running job.
-28=Group cannot be resolved:
-29=Class not found for attribute {0} : {1}, Declaring plugin extension: {2}
-30=Function group {0} contains no pattern bindings
-31=Project {0} is closed.
-32=A project already exists on the file system at this location: {0}.  Either use "Import Existing Projects into Workspace" to create a project at this location or delete the contents of {0} from the file system.
-33=A model instance may only be nested once under another model instance.
-34=Module name cannot be empty.
-35=Invalid characters.
-36=The module with this name already exists.
-37=The module is not supported by this server.
-38=Module name is invalid.
-39=Enter Source Folder
-40=Enter Web content Folder
-41=Project names cannot end with white space.
-42=Resource already exists with a different case.
diff --git a/plugins/org.eclipse.wst.common.infopop/.cvsignore b/plugins/org.eclipse.wst.common.infopop/.cvsignore
new file mode 100644
index 0000000..c14487c
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.infopop/.cvsignore
@@ -0,0 +1 @@
+build.xml
diff --git a/plugins/org.eclipse.wst.common.frameworks/.project b/plugins/org.eclipse.wst.common.infopop/.project
similarity index 67%
copy from plugins/org.eclipse.wst.common.frameworks/.project
copy to plugins/org.eclipse.wst.common.infopop/.project
index 30f458a..d8e0250 100644
--- a/plugins/org.eclipse.wst.common.frameworks/.project
+++ b/plugins/org.eclipse.wst.common.infopop/.project
@@ -1,16 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.wst.common.frameworks</name>
+	<name>org.eclipse.wst.common.infopop</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>
@@ -22,7 +17,6 @@
 		</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.infopop/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1be75da
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.infopop/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Common WST infopops
+Bundle-SymbolicName: org.eclipse.wst.common.infopop; singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Eclipse.org
+Bundle-Localization: plugin
+Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml b/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml
new file mode 100644
index 0000000..b3b0c43
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.infopop/SnippetsContexts.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS type="org.eclipse.help.contexts"?>
+<!-- /*******************************************************************************
+ * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/ -->
+
+<contexts>
+<context id="libv1000">
+<description>Use this view to catalog and organize reusable programming objects, such as HTML tagging, JavaScript, and JSP markup, along with custom tags, that can be embedded in existing files.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+</context>
+
+<context id="libv1100">
+<description>Supply values in this dialog to define the Snippets view object to be inserted in the current file at the cursor position. Assign a value to the variables being inserted.
+</description>
+<topic label="Inserting and editing items in the active editor" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+</context>
+
+<context id="libv1200">
+<description>In the <b>Name</b> field, type the name of the object as you want it be displayed in the Snippets view.  Optionally, add a description of the object in the <b>Description</b> field.
+
+Select the <b>Hide</b> check box to make this snippet object not visible in the view.
+
+To add a new variable, click the <b>New</b> push button, and type values in the cells of the <b>Variables</b> table. The <b>Name</b> field represents name of the variable that will be inserted when you add it to a document. <b>Default value</b> is the initial value of the named variable. Optionally, add a description of the variable.
+
+Insert the variables that you define into the <b>Template Pattern</b> field using the <b>Insert Variable Placeholder</b> push button.
+</description>
+<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+</context>
+
+<context id="libv1300">
+<description>Type the name of the new category in the <b>Name</b> field and optionally add a description of the category in the <b>Description</b> field.
+
+Select <b>Open drawer at start-up</b> to have the category drawer opened in the Snippets view when the workbench starts up.
+
+You can specify how you want the category drawer displayed in the Snippets view by selecting a radio button for the <b>Show/Hide Drawer</b> field.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
+</context>
+
+<context id="snip0010">
+<description>Select this option to open the <b>Import</b> dialog, which lets you import snippet categories from the file system.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
+</context>
+
+<context id="snip0020">
+<description>Select this option to open the <b>Export</b> dialog, which lets you export snippet categories to the file system.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
+</context>
+
+<context id="snip0030">
+<description>Select the content types that should be visible in this drawer for in the Snippets view.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Deleting or hiding snippet items or drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt016.html"/>
+</context>
+
+<context id="snip0040">
+<description>This menu item adds the selected text to the Snippets view as a new item.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
+</context>
+
+<context id="snip0050">
+<description>This menu item cuts the selected Snippet item to the clipboard.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Editing snippet items" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt022.html"/>
+</context>
+
+<context id="snip0060">
+<description>This menu item copies the selected Snippet item to the clipboard.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Editing snippet items" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt022.html"/>
+</context>
+
+<context id="snip0070">
+<description>This menu item creates a new Snippets view item containing the current contents of the clipboard.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
+</context>
+<context id="snip0080">
+<description>Type a name for the category. The category appears in the Customize Palette dialog box. Once you have created a category, you can add items to the category.
+</description>
+<topic label="Snippets view" href="../org.eclipse.wst.sse.doc.user/topics/csrcedt001.html"/>
+<topic label="Adding items to snippets drawers" href="../org.eclipse.wst.sse.doc.user/topics/tsrcedt015.html"/>
+</context>
+
+</contexts>
diff --git a/plugins/org.eclipse.wst.common.infopop/about.html b/plugins/org.eclipse.wst.common.infopop/about.html
new file mode 100644
index 0000000..4c99086
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.infopop/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>February 24, 2005</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.infopop/build.properties b/plugins/org.eclipse.wst.common.infopop/build.properties
new file mode 100644
index 0000000..ed51e16
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.infopop/build.properties
@@ -0,0 +1,6 @@
+bin.includes = plugin.xml,\
+               about.html,\
+               SnippetsContexts.xml,\
+               EditorCssContexts.xml,\
+               META-INF/
+src.includes = build.properties
diff --git a/plugins/org.eclipse.wst.common.infopop/plugin.xml b/plugins/org.eclipse.wst.common.infopop/plugin.xml
new file mode 100644
index 0000000..f1e178c
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.infopop/plugin.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<!-- ================================================= -->
+<!-- This is the plugin for declaring the help         -->
+<!-- contributions for using the tool.                 -->
+<!-- ================================================= -->
+
+<plugin>
+
+<extension point="org.eclipse.help.contexts">
+       <contexts file="SnippetsContexts.xml" plugin ="org.eclipse.wst.common.snippets"/>
+</extension>
+
+
+</plugin>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/.options b/plugins/org.eclipse.wst.common.modulecore/.options
deleted file mode 100644
index c56819a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/.options
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.common.modulecore/ComponentResolver=true
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/.project b/plugins/org.eclipse.wst.common.modulecore/.project
deleted file mode 100644
index 8cdcd11..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.common.modulecore</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.modulecore/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.wst.common.modulecore/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index a2fa4f5..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Dec 02 14:54:59 EST 2005
-eclipse.preferences.version=1
-encoding//schema/componentCore.xsd=UTF8
diff --git a/plugins/org.eclipse.wst.common.modulecore/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.modulecore/META-INF/MANIFEST.MF
deleted file mode 100644
index d153b24..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Modulecore Plug-in
-Bundle-Vendor: %provider
-Bundle-SymbolicName: org.eclipse.wst.common.modulecore; singleton:=true
-Bundle-Version: 1.0.2.qualifier
-Bundle-Activator: org.eclipse.wst.common.componentcore.internal.ModulecorePlugin
-Bundle-Localization: plugin
-Export-Package: org.eclipse.wst.common.componentcore,
- org.eclipse.wst.common.componentcore.datamodel,
- org.eclipse.wst.common.componentcore.datamodel.properties,
- org.eclipse.wst.common.componentcore.internal,
- org.eclipse.wst.common.componentcore.internal.builder,
- org.eclipse.wst.common.componentcore.internal.impl,
- org.eclipse.wst.common.componentcore.internal.operation,
- org.eclipse.wst.common.componentcore.internal.resources,
- org.eclipse.wst.common.componentcore.internal.util,
- org.eclipse.wst.common.componentcore.resources
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.wst.common.frameworks,
- org.eclipse.core.resources,
- org.eclipse.emf.ecore,
- org.eclipse.wst.common.emfworkbench.integration,
- org.eclipse.wst.common.emf,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.core.commands,
- org.eclipse.emf.edit,
- org.eclipse.jem.util,
- org.eclipse.wst.common.uriresolver,
- org.eclipse.wst.common.project.facet.core
-Eclipse-AutoStart: true
diff --git a/plugins/org.eclipse.wst.common.modulecore/component.xml b/plugins/org.eclipse.wst.common.modulecore/component.xml
deleted file mode 100644
index 48daa95..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/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.componentcore"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.common.modulecore" fragment="false"/></component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentCore.xsd b/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentCore.xsd
deleted file mode 100644
index a2d8828..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentCore.xsd
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/webtools/moduleCore" xmlns:tns="http://www.eclipse.org/webtools/moduleCore">

-	<element name="project-modules">

-		<complexType>

-			<sequence minOccurs="1" maxOccurs="unbounded">

-				<element name="wb-module">

-					<complexType>

-                        <sequence minOccurs="0" maxOccurs="1">

-                        	<element name="module-type">

-                        		<complexType>

-                        			<attribute name="module-type-id"

-                        				type="string">

-                        			</attribute>

-                        		</complexType>

-                        	</element>

-                        	<sequence minOccurs="0" maxOccurs="unbounded">

-                        		<element name="wb-resource">

-                                    <complexType>

-                                    	<attribute name="source-path"

-                                    		type="string" use="required">

-                                    	</attribute>

-                                    	<attribute name="deploy-path"

-                                    		type="string" use="required">

-                                    	</attribute>

-                                    </complexType>

-                        		</element>

-                        	</sequence>

-                        	<sequence minOccurs="0" maxOccurs="unbounded">

-                        		<element name="dependent-module">

-                                    <complexType>

-                                    	<attribute name="handle"

-                                    		type="string" use="required">

-                                    	</attribute>

-                                    	<attribute name="deploy-path"

-                                    		type="string" use="required">

-                                    	</attribute>

-                                    	<attribute name="dependency-type"

-                                    		type="string">

-                                    	</attribute>

-                                    </complexType>

-                        		</element>

-                        	</sequence>

-                        </sequence>

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

-					</complexType>

-				</element>

-			</sequence>

-			<attribute name="id" type="string"></attribute>

-		</complexType>

-	</element>

-

-</schema>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentcore_model.jpg b/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentcore_model.jpg
deleted file mode 100644
index b48d673..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentcore_model.jpg
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentcore_package.jpg b/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentcore_package.jpg
deleted file mode 100644
index b1c04b6..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/componentcore_package.jpg
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/mapping.jpg b/plugins/org.eclipse.wst.common.modulecore/javadoc-images/mapping.jpg
deleted file mode 100644
index 6df6e50..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/mapping.jpg
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/metamodel_components.jpg b/plugins/org.eclipse.wst.common.modulecore/javadoc-images/metamodel_components.jpg
deleted file mode 100644
index 68cb831..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/metamodel_components.jpg
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/module_structural_model.jpg b/plugins/org.eclipse.wst.common.modulecore/javadoc-images/module_structural_model.jpg
deleted file mode 100644
index c2fe295..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/module_structural_model.jpg
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/modulecore.jpg b/plugins/org.eclipse.wst.common.modulecore/javadoc-images/modulecore.jpg
deleted file mode 100644
index e45a99a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/modulecore.jpg
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/virtual_path_api.jpg b/plugins/org.eclipse.wst.common.modulecore/javadoc-images/virtual_path_api.jpg
deleted file mode 100644
index 5da3e99..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/javadoc-images/virtual_path_api.jpg
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/Java.epx b/plugins/org.eclipse.wst.common.modulecore/model/Java.epx
deleted file mode 100644
index d2fd1cf..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/model/Java.epx
+++ /dev/null
@@ -1,6127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--xtools2_universal_type_manager-->
-<uml:Profile xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xmi:id="_-ZoywJSkEdmjauSjG8qO2A" name="Java" metamodelReference="_-ZoywZSkEdmjauSjG8qO2A">
-  <eAnnotations xmi:id="_-ZoyxJSkEdmjauSjG8qO2A" source="roseProperties">
-    <details xmi:id="_-ZoyxZSkEdmjauSjG8qO2A" key="propertyId" value="809135966"/>
-  </eAnnotations>
-  <eAnnotations xmi:id="_-asi1ZSkEdmjauSjG8qO2A" source="attributes">
-    <details xmi:id="_-asi1pSkEdmjauSjG8qO2A" key="version" value="0"/>
-  </eAnnotations>
-  <eAnnotations xmi:id="_-asi15SkEdmjauSjG8qO2A" source="ePackages">
-    <contents xmi:type="ecore:EPackage" xmi:id="_-a4v8JSkEdmjauSjG8qO2A" name="Java_0" nsURI="http:///_-asi2JSkEdmjauSjG8qO2A.profile.uml2" nsPrefix="Java_0">
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4v8ZSkEdmjauSjG8qO2A" name="Java__default__ModuleSpec">
-        <eAnnotations xmi:id="_-a4v8pSkEdmjauSjG8qO2A" source="stereotype" references="_-asix5SkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v85SkEdmjauSjG8qO2A" name="CmIdentification" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v9JSkEdmjauSjG8qO2A" name="CopyrightNotice" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4v9ZSkEdmjauSjG8qO2A" name="Java__default__Project">
-        <eAnnotations xmi:id="_-a4v9pSkEdmjauSjG8qO2A" source="stereotype" references="_-aB0mZSkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v95SkEdmjauSjG8qO2A" name="UserDefineTagApply3" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v-JSkEdmjauSjG8qO2A" name="JavadocSince" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v-ZSkEdmjauSjG8qO2A" name="GlobalImports" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v-pSkEdmjauSjG8qO2A" name="GenerateDefaultReturnLine" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v-5SkEdmjauSjG8qO2A" name="InstanceVariablePrefix" lowerBound="1" defaultValueLiteral="m_">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v_JSkEdmjauSjG8qO2A" name="ShowCodegenDlg" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v_ZSkEdmjauSjG8qO2A" name="NoClassCustomDlg" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v_pSkEdmjauSjG8qO2A" name="SCCProjectName" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4v_5SkEdmjauSjG8qO2A" name="UseTabs" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wAJSkEdmjauSjG8qO2A" name="DefaultAttributeDataType" lowerBound="1" defaultValueLiteral="int">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wAZSkEdmjauSjG8qO2A" name="LocalPrefix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wApSkEdmjauSjG8qO2A" name="UserDefineJavaDocTags" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wA5SkEdmjauSjG8qO2A" name="LocalHomeSuffix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wBJSkEdmjauSjG8qO2A" name="UserDefineTagText2" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wBZSkEdmjauSjG8qO2A" name="HomeSuffix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wBpSkEdmjauSjG8qO2A" name="VAJavaWorkingFolder" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wB5SkEdmjauSjG8qO2A" name="DefaultEJBVersion" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wCJSkEdmjauSjG8qO2A" name="MaxNumChars" lowerBound="1" defaultValueLiteral="80">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wCZSkEdmjauSjG8qO2A" name="UserDefineTagName2" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wCpSkEdmjauSjG8qO2A" name="ServletDTDLocation" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wC5SkEdmjauSjG8qO2A" name="UserDefineTagApply1" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wDJSkEdmjauSjG8qO2A" name="GenerateRoseID" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wDZSkEdmjauSjG8qO2A" name="StopOnError" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wDpSkEdmjauSjG8qO2A" name="JavadocVersion" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wD5SkEdmjauSjG8qO2A" name="JavadocDefaultAuthor" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wEJSkEdmjauSjG8qO2A" name="OpenBraceMethodStyle" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wEZSkEdmjauSjG8qO2A" name="AsteriskCommentStyle" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wEpSkEdmjauSjG8qO2A" name="PrimaryKeySuffix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wE5SkEdmjauSjG8qO2A" name="Editor" lowerBound="1" eType="_-a4wO5SkEdmjauSjG8qO2A" defaultValueLiteral="BuiltIn"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wFJSkEdmjauSjG8qO2A" name="UserDefineTagApply2" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wFZSkEdmjauSjG8qO2A" name="GenerateDefaultJ2EEJavadoc" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wFpSkEdmjauSjG8qO2A" name="SpacingItems" lowerBound="1" defaultValueLiteral="3">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wF5SkEdmjauSjG8qO2A" name="EJBDTDLocation" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wGJSkEdmjauSjG8qO2A" name="CreateMissingDirectories" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wGZSkEdmjauSjG8qO2A" name="UserDefineTagText3" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wGpSkEdmjauSjG8qO2A" name="RemoteSuffix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wG5SkEdmjauSjG8qO2A" name="ReferenceClasspath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wHJSkEdmjauSjG8qO2A" name="OpenBraceClassStyle" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wHZSkEdmjauSjG8qO2A" name="LocalSuffix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wHpSkEdmjauSjG8qO2A" name="VM" lowerBound="1" eType="_-a4wQJSkEdmjauSjG8qO2A" defaultValueLiteral="Sun"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wH5SkEdmjauSjG8qO2A" name="DefaultServletVersion" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wIJSkEdmjauSjG8qO2A" name="UsePrefixes" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wIZSkEdmjauSjG8qO2A" name="BeanSuffix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wIpSkEdmjauSjG8qO2A" name="BeanPrefix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wI5SkEdmjauSjG8qO2A" name="SCCComment" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wJJSkEdmjauSjG8qO2A" name="RootDir" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wJZSkEdmjauSjG8qO2A" name="UserDefineTagText1" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wJpSkEdmjauSjG8qO2A" name="UserDefineTagName1" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wJ5SkEdmjauSjG8qO2A" name="AutoSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wKJSkEdmjauSjG8qO2A" name="JavadocAuthor" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wKZSkEdmjauSjG8qO2A" name="RoseDefaultCommentStyle" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wKpSkEdmjauSjG8qO2A" name="SCCProjectSourceRoot" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wK5SkEdmjauSjG8qO2A" name="JavaCommentStyle" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wLJSkEdmjauSjG8qO2A" name="DefaultOperationReturnType" lowerBound="1" defaultValueLiteral="void">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wLZSkEdmjauSjG8qO2A" name="UserDefineTagName3" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wLpSkEdmjauSjG8qO2A" name="JavadocDefaultVersion" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wL5SkEdmjauSjG8qO2A" name="NotShowRoseIDDlg" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wMJSkEdmjauSjG8qO2A" name="RemotePrefix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wMZSkEdmjauSjG8qO2A" name="UseSpaces" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wMpSkEdmjauSjG8qO2A" name="ClassVariablePrefix" lowerBound="1" defaultValueLiteral="s_">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wM5SkEdmjauSjG8qO2A" name="JavadocDefaultSince" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wNJSkEdmjauSjG8qO2A" name="SCCSelected" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wNZSkEdmjauSjG8qO2A" name="HomePrefix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wNpSkEdmjauSjG8qO2A" name="LocalHomePrefix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wN5SkEdmjauSjG8qO2A" name="ClassPath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wOJSkEdmjauSjG8qO2A" name="SourceControl" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wOZSkEdmjauSjG8qO2A" name="JavadocNumAsterisks" lowerBound="1" defaultValueLiteral="0">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wOpSkEdmjauSjG8qO2A" name="PrimaryKeyPrefix" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4wO5SkEdmjauSjG8qO2A" name="Java__default__ProjectEditorType">
-        <eLiterals xmi:id="_-a4wPJSkEdmjauSjG8qO2A" name="BuiltIn">
-          <eAnnotations xmi:id="_-a4wPZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aH685SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wPpSkEdmjauSjG8qO2A" name="WindowsShell" value="1">
-          <eAnnotations xmi:id="_-a4wP5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aH69pSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4wQJSkEdmjauSjG8qO2A" name="Java__default__ProjectVMType">
-        <eLiterals xmi:id="_-a4wQZSkEdmjauSjG8qO2A" name="Sun">
-          <eAnnotations xmi:id="_-a4wQpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aB0pJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wQ5SkEdmjauSjG8qO2A" name="Microsoft" value="1">
-          <eAnnotations xmi:id="_-a4wRJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aB0p5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wRZSkEdmjauSjG8qO2A" name="IBM" value="2">
-          <eAnnotations xmi:id="_-a4wRpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aB0qpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4wR5SkEdmjauSjG8qO2A" name="Java__default__Class">
-        <eAnnotations xmi:id="_-a4wSJSkEdmjauSjG8qO2A" source="stereotype" references="_-Z1nbZSkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wSZSkEdmjauSjG8qO2A" name="EJBNameInJAR" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wSpSkEdmjauSjG8qO2A" name="ServletgetInfo" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wS5SkEdmjauSjG8qO2A" name="GenerateInstanceInitializer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wTJSkEdmjauSjG8qO2A" name="Final" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wTZSkEdmjauSjG8qO2A" name="ServletIntHeader" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wTpSkEdmjauSjG8qO2A" name="GenerateStaticInitializer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wT5SkEdmjauSjG8qO2A" name="EJBCmpField" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wUJSkEdmjauSjG8qO2A" name="MethodForHeaders" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wUZSkEdmjauSjG8qO2A" name="ServletContentType" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wUpSkEdmjauSjG8qO2A" name="Static" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wU5SkEdmjauSjG8qO2A" name="MethodForRequestAttributes" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wVJSkEdmjauSjG8qO2A" name="ServletSecurityRoles" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wVZSkEdmjauSjG8qO2A" name="ServletInitParameter" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wVpSkEdmjauSjG8qO2A" name="DispatcherForward" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wV5SkEdmjauSjG8qO2A" name="ServletRequestParameterNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wWJSkEdmjauSjG8qO2A" name="ServletCookie" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wWZSkEdmjauSjG8qO2A" name="EJBReferences" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wWpSkEdmjauSjG8qO2A" name="ServletContextRef" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wW5SkEdmjauSjG8qO2A" name="GenerateDefaultConstructor" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wXJSkEdmjauSjG8qO2A" name="ServletIsSecure" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wXZSkEdmjauSjG8qO2A" name="GenerateFinalizer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wXpSkEdmjauSjG8qO2A" name="EJBSessionType" lowerBound="1" eType="_-a4wf5SkEdmjauSjG8qO2A" defaultValueLiteral=""/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wX5SkEdmjauSjG8qO2A" name="ServletInitParameterNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wYJSkEdmjauSjG8qO2A" name="DisableAutoSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wYZSkEdmjauSjG8qO2A" name="BMP_Extend_CMP" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wYpSkEdmjauSjG8qO2A" name="EJBTransactionType" lowerBound="1" eType="_-a4whpSkEdmjauSjG8qO2A" defaultValueLiteral="Container"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wY5SkEdmjauSjG8qO2A" name="DispatcherInclude" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wZJSkEdmjauSjG8qO2A" name="ServletXMLFilePath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wZZSkEdmjauSjG8qO2A" name="ServletHeader" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wZpSkEdmjauSjG8qO2A" name="ServletDateHeader" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wZ5SkEdmjauSjG8qO2A" name="Strictfp" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4waJSkEdmjauSjG8qO2A" name="EJBSessionSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4waZSkEdmjauSjG8qO2A" name="EJBSecurityRoles" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wapSkEdmjauSjG8qO2A" name="IsSingleThread" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wa5SkEdmjauSjG8qO2A" name="ServletRequestAttributesNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wbJSkEdmjauSjG8qO2A" name="ServletRequestDispatcherPath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wbZSkEdmjauSjG8qO2A" name="ServletHeaderNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wbpSkEdmjauSjG8qO2A" name="MethodForCookie" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wb5SkEdmjauSjG8qO2A" name="EJBVersion" lowerBound="1" eType="_-a4wi5SkEdmjauSjG8qO2A" defaultValueLiteral="2.0"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wcJSkEdmjauSjG8qO2A" name="EJBPersistenceType" lowerBound="1" eType="_-a4wkJSkEdmjauSjG8qO2A" defaultValueLiteral=""/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wcZSkEdmjauSjG8qO2A" name="ConstructorIs" lowerBound="1" eType="_-a4wl5SkEdmjauSjG8qO2A" defaultValueLiteral="public"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wcpSkEdmjauSjG8qO2A" name="ReadOnly" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wc5SkEdmjauSjG8qO2A" name="Generate_XML_DD" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wdJSkEdmjauSjG8qO2A" name="ServletName" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wdZSkEdmjauSjG8qO2A" name="EJBXMLFilePath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wdpSkEdmjauSjG8qO2A" name="EJBCnxFactory" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wd5SkEdmjauSjG8qO2A" name="ServletRequestDispatcher" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4weJSkEdmjauSjG8qO2A" name="EJBReentrant" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4weZSkEdmjauSjG8qO2A" name="MethodForRequestParameters" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wepSkEdmjauSjG8qO2A" name="EJBEnvironmentProperties" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4we5SkEdmjauSjG8qO2A" name="GenerateCode" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wfJSkEdmjauSjG8qO2A" name="ServletRequestParameter" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wfZSkEdmjauSjG8qO2A" name="GenerateHTML" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wfpSkEdmjauSjG8qO2A" name="ServletRequestAttribute" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4wf5SkEdmjauSjG8qO2A" name="Java__default__ClassEJBSessionType_Set">
-        <eLiterals xmi:id="_-a4wgJSkEdmjauSjG8qO2A" name="">
-          <eAnnotations xmi:id="_-a4wgZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7tw5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wgpSkEdmjauSjG8qO2A" name="Stateless" value="1">
-          <eAnnotations xmi:id="_-a4wg5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7txpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4whJSkEdmjauSjG8qO2A" name="Stateful" value="2">
-          <eAnnotations xmi:id="_-a4whZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7tyZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4whpSkEdmjauSjG8qO2A" name="Java__default__ClassEJBTransactionType_Set">
-        <eLiterals xmi:id="_-a4wh5SkEdmjauSjG8qO2A" name="Container">
-          <eAnnotations xmi:id="_-a4wiJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t5JSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wiZSkEdmjauSjG8qO2A" name="Bean" value="1">
-          <eAnnotations xmi:id="_-a4wipSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t55SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4wi5SkEdmjauSjG8qO2A" name="Java__default__ClassEJBVersion_Set">
-        <eLiterals xmi:id="_-a4wjJSkEdmjauSjG8qO2A" name="2.0">
-          <eAnnotations xmi:id="_-a4wjZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t65SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wjpSkEdmjauSjG8qO2A" name="1.x" value="1">
-          <eAnnotations xmi:id="_-a4wj5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t7pSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4wkJSkEdmjauSjG8qO2A" name="Java__default__ClassEJBPersistenceType_Set">
-        <eLiterals xmi:id="_-a4wkZSkEdmjauSjG8qO2A" name="">
-          <eAnnotations xmi:id="_-a4wkpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7tzZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wk5SkEdmjauSjG8qO2A" name="Bean" value="1">
-          <eAnnotations xmi:id="_-a4wlJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t0JSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wlZSkEdmjauSjG8qO2A" name="Container" value="2">
-          <eAnnotations xmi:id="_-a4wlpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t05SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4wl5SkEdmjauSjG8qO2A" name="Java__default__ClassCtor_Set">
-        <eLiterals xmi:id="_-a4wmJSkEdmjauSjG8qO2A" name="public">
-          <eAnnotations xmi:id="_-a4wmZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t15SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wmpSkEdmjauSjG8qO2A" name="protected" value="1">
-          <eAnnotations xmi:id="_-a4wm5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t2pSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wnJSkEdmjauSjG8qO2A" name="private" value="2">
-          <eAnnotations xmi:id="_-a4wnZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t3ZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4wnpSkEdmjauSjG8qO2A" name="package" value="3">
-          <eAnnotations xmi:id="_-a4wn5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Z7t4JSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4woJSkEdmjauSjG8qO2A" name="Java__default__ModuleBody">
-        <eAnnotations xmi:id="_-a4woZSkEdmjauSjG8qO2A" source="stereotype" references="_-ZoyxpSkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wopSkEdmjauSjG8qO2A" name="CmIdentification" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wo5SkEdmjauSjG8qO2A" name="CopyrightNotice" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4wpJSkEdmjauSjG8qO2A" name="Java__default__Operation">
-        <eAnnotations xmi:id="_-a4wpZSkEdmjauSjG8qO2A" source="stereotype" references="_-aaO7pSkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wppSkEdmjauSjG8qO2A" name="ReplaceExistingCode" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wp5SkEdmjauSjG8qO2A" name="Final" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wqJSkEdmjauSjG8qO2A" name="GenerateFullyQualifiedReturn" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wqZSkEdmjauSjG8qO2A" name="Strictfp" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wqpSkEdmjauSjG8qO2A" name="Native" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wq5SkEdmjauSjG8qO2A" name="Abstract" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wrJSkEdmjauSjG8qO2A" name="Synchronized" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wrZSkEdmjauSjG8qO2A" name="Static" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4wrpSkEdmjauSjG8qO2A" name="Java__Default_EJB__Class">
-        <eAnnotations xmi:id="_-a4wr5SkEdmjauSjG8qO2A" source="stereotype" references="_-aOBo5SkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wsJSkEdmjauSjG8qO2A" name="EJBNameInJAR" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wsZSkEdmjauSjG8qO2A" name="GenerateInstanceInitializer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wspSkEdmjauSjG8qO2A" name="ServletgetInfo" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4ws5SkEdmjauSjG8qO2A" name="Final" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wtJSkEdmjauSjG8qO2A" name="ServletIntHeader" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wtZSkEdmjauSjG8qO2A" name="GenerateStaticInitializer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wtpSkEdmjauSjG8qO2A" name="EJBCmpField" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wt5SkEdmjauSjG8qO2A" name="MethodForHeaders" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wuJSkEdmjauSjG8qO2A" name="ServletContentType" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wuZSkEdmjauSjG8qO2A" name="Static" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wupSkEdmjauSjG8qO2A" name="MethodForRequestAttributes" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wu5SkEdmjauSjG8qO2A" name="ServletSecurityRoles" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wvJSkEdmjauSjG8qO2A" name="ServletInitParameter" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wvZSkEdmjauSjG8qO2A" name="DispatcherForward" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wvpSkEdmjauSjG8qO2A" name="ServletRequestParameterNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wv5SkEdmjauSjG8qO2A" name="ServletCookie" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wwJSkEdmjauSjG8qO2A" name="EJBReferences" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wwZSkEdmjauSjG8qO2A" name="ServletContextRef" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wwpSkEdmjauSjG8qO2A" name="GenerateDefaultConstructor" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4ww5SkEdmjauSjG8qO2A" name="ServletIsSecure" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wxJSkEdmjauSjG8qO2A" name="GenerateFinalizer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wxZSkEdmjauSjG8qO2A" name="EJBSessionType" lowerBound="1" eType="_-a4w5pSkEdmjauSjG8qO2A" defaultValueLiteral=""/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wxpSkEdmjauSjG8qO2A" name="DisableAutoSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wx5SkEdmjauSjG8qO2A" name="ServletInitParameterNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wyJSkEdmjauSjG8qO2A" name="BMP_Extend_CMP" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wyZSkEdmjauSjG8qO2A" name="EJBTransactionType" lowerBound="1" eType="_-a4w7ZSkEdmjauSjG8qO2A" defaultValueLiteral="Container"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wypSkEdmjauSjG8qO2A" name="DispatcherInclude" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wy5SkEdmjauSjG8qO2A" name="ServletXMLFilePath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wzJSkEdmjauSjG8qO2A" name="ServletHeader" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wzZSkEdmjauSjG8qO2A" name="ServletDateHeader" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wzpSkEdmjauSjG8qO2A" name="Strictfp" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4wz5SkEdmjauSjG8qO2A" name="EJBSessionSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w0JSkEdmjauSjG8qO2A" name="EJBSecurityRoles" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w0ZSkEdmjauSjG8qO2A" name="IsSingleThread" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w0pSkEdmjauSjG8qO2A" name="ServletRequestDispatcherPath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w05SkEdmjauSjG8qO2A" name="ServletRequestAttributesNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w1JSkEdmjauSjG8qO2A" name="ServletHeaderNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w1ZSkEdmjauSjG8qO2A" name="MethodForCookie" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w1pSkEdmjauSjG8qO2A" name="EJBVersion" lowerBound="1" eType="_-a4w8pSkEdmjauSjG8qO2A" defaultValueLiteral="2.0"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w15SkEdmjauSjG8qO2A" name="EJBPersistenceType" lowerBound="1" eType="_-a4w95SkEdmjauSjG8qO2A" defaultValueLiteral=""/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w2JSkEdmjauSjG8qO2A" name="ConstructorIs" lowerBound="1" eType="_-a4w_pSkEdmjauSjG8qO2A" defaultValueLiteral="public"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w2ZSkEdmjauSjG8qO2A" name="ReadOnly" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w2pSkEdmjauSjG8qO2A" name="Generate_XML_DD" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w25SkEdmjauSjG8qO2A" name="ServletName" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w3JSkEdmjauSjG8qO2A" name="EJBXMLFilePath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w3ZSkEdmjauSjG8qO2A" name="EJBCnxFactory" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w3pSkEdmjauSjG8qO2A" name="ServletRequestDispatcher" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w35SkEdmjauSjG8qO2A" name="EJBReentrant" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w4JSkEdmjauSjG8qO2A" name="MethodForRequestParameters" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w4ZSkEdmjauSjG8qO2A" name="EJBEnvironmentProperties" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w4pSkEdmjauSjG8qO2A" name="GenerateCode" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w45SkEdmjauSjG8qO2A" name="ServletRequestParameter" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w5JSkEdmjauSjG8qO2A" name="GenerateHTML" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4w5ZSkEdmjauSjG8qO2A" name="ServletRequestAttribute" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4w5pSkEdmjauSjG8qO2A" name="Java__Default_EJB__ClassEJBSessionType_Set">
-        <eLiterals xmi:id="_-a4w55SkEdmjauSjG8qO2A" name="">
-          <eAnnotations xmi:id="_-a4w6JSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOBwpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4w6ZSkEdmjauSjG8qO2A" name="Stateless" value="1">
-          <eAnnotations xmi:id="_-a4w6pSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOBxZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4w65SkEdmjauSjG8qO2A" name="Stateful" value="2">
-          <eAnnotations xmi:id="_-a4w7JSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOByJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4w7ZSkEdmjauSjG8qO2A" name="Java__Default_EJB__ClassEJBTransactionType_Set">
-        <eLiterals xmi:id="_-a4w7pSkEdmjauSjG8qO2A" name="Container">
-          <eAnnotations xmi:id="_-a4w75SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB45SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4w8JSkEdmjauSjG8qO2A" name="Bean" value="1">
-          <eAnnotations xmi:id="_-a4w8ZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB5pSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4w8pSkEdmjauSjG8qO2A" name="Java__Default_EJB__ClassEJBVersion_Set">
-        <eLiterals xmi:id="_-a4w85SkEdmjauSjG8qO2A" name="2.0">
-          <eAnnotations xmi:id="_-a4w9JSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB6pSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4w9ZSkEdmjauSjG8qO2A" name="1.x" value="1">
-          <eAnnotations xmi:id="_-a4w9pSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB7ZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4w95SkEdmjauSjG8qO2A" name="Java__Default_EJB__ClassEJBPersistenceType_Set">
-        <eLiterals xmi:id="_-a4w-JSkEdmjauSjG8qO2A" name="">
-          <eAnnotations xmi:id="_-a4w-ZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB2ZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4w-pSkEdmjauSjG8qO2A" name="Bean" value="1">
-          <eAnnotations xmi:id="_-a4w-5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB3JSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4w_JSkEdmjauSjG8qO2A" name="Container" value="2">
-          <eAnnotations xmi:id="_-a4w_ZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB35SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4w_pSkEdmjauSjG8qO2A" name="Java__Default_EJB__ClassCtor_Set">
-        <eLiterals xmi:id="_-a4w_5SkEdmjauSjG8qO2A" name="public">
-          <eAnnotations xmi:id="_-a4xAJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOBzJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xAZSkEdmjauSjG8qO2A" name="protected" value="1">
-          <eAnnotations xmi:id="_-a4xApSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOBz5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xA5SkEdmjauSjG8qO2A" name="private" value="2">
-          <eAnnotations xmi:id="_-a4xBJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB0pSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xBZSkEdmjauSjG8qO2A" name="package" value="3">
-          <eAnnotations xmi:id="_-a4xBpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aOB1ZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4xB5SkEdmjauSjG8qO2A" name="Java__Http_Servlet__Class">
-        <eAnnotations xmi:id="_-a4xCJSkEdmjauSjG8qO2A" source="stereotype" references="_-agVhpSkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xCZSkEdmjauSjG8qO2A" name="EJBNameInJAR" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xCpSkEdmjauSjG8qO2A" name="GenerateInstanceInitializer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xC5SkEdmjauSjG8qO2A" name="ServletgetInfo" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xDJSkEdmjauSjG8qO2A" name="Final" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xDZSkEdmjauSjG8qO2A" name="ServletIntHeader" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xDpSkEdmjauSjG8qO2A" name="GenerateStaticInitializer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xD5SkEdmjauSjG8qO2A" name="EJBCmpField" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xEJSkEdmjauSjG8qO2A" name="ServletContentType" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xEZSkEdmjauSjG8qO2A" name="MethodForHeaders" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xEpSkEdmjauSjG8qO2A" name="Static" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xE5SkEdmjauSjG8qO2A" name="MethodForRequestAttributes" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xFJSkEdmjauSjG8qO2A" name="ServletSecurityRoles" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xFZSkEdmjauSjG8qO2A" name="ServletInitParameter" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xFpSkEdmjauSjG8qO2A" name="DispatcherForward" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xF5SkEdmjauSjG8qO2A" name="ServletRequestParameterNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xGJSkEdmjauSjG8qO2A" name="ServletCookie" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xGZSkEdmjauSjG8qO2A" name="EJBReferences" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xGpSkEdmjauSjG8qO2A" name="ServletContextRef" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xG5SkEdmjauSjG8qO2A" name="GenerateDefaultConstructor" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xHJSkEdmjauSjG8qO2A" name="ServletIsSecure" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xHZSkEdmjauSjG8qO2A" name="GenerateFinalizer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xHpSkEdmjauSjG8qO2A" name="EJBSessionType" lowerBound="1" eType="_-a4xP5SkEdmjauSjG8qO2A" defaultValueLiteral=""/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xH5SkEdmjauSjG8qO2A" name="DisableAutoSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xIJSkEdmjauSjG8qO2A" name="ServletInitParameterNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xIZSkEdmjauSjG8qO2A" name="BMP_Extend_CMP" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xIpSkEdmjauSjG8qO2A" name="EJBTransactionType" lowerBound="1" eType="_-a4xRpSkEdmjauSjG8qO2A" defaultValueLiteral="Container"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xI5SkEdmjauSjG8qO2A" name="DispatcherInclude" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xJJSkEdmjauSjG8qO2A" name="ServletHeader" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xJZSkEdmjauSjG8qO2A" name="ServletXMLFilePath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xJpSkEdmjauSjG8qO2A" name="ServletDateHeader" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xJ5SkEdmjauSjG8qO2A" name="Strictfp" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xKJSkEdmjauSjG8qO2A" name="EJBSessionSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xKZSkEdmjauSjG8qO2A" name="EJBSecurityRoles" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xKpSkEdmjauSjG8qO2A" name="IsSingleThread" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xK5SkEdmjauSjG8qO2A" name="ServletRequestAttributesNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xLJSkEdmjauSjG8qO2A" name="ServletRequestDispatcherPath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xLZSkEdmjauSjG8qO2A" name="ServletHeaderNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xLpSkEdmjauSjG8qO2A" name="MethodForCookie" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xL5SkEdmjauSjG8qO2A" name="EJBVersion" lowerBound="1" eType="_-a4xS5SkEdmjauSjG8qO2A" defaultValueLiteral="2.0"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xMJSkEdmjauSjG8qO2A" name="EJBPersistenceType" lowerBound="1" eType="_-a4xUJSkEdmjauSjG8qO2A" defaultValueLiteral=""/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xMZSkEdmjauSjG8qO2A" name="ConstructorIs" lowerBound="1" eType="_-a4xV5SkEdmjauSjG8qO2A" defaultValueLiteral="public"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xMpSkEdmjauSjG8qO2A" name="ReadOnly" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xM5SkEdmjauSjG8qO2A" name="Generate_XML_DD" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xNJSkEdmjauSjG8qO2A" name="ServletName" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xNZSkEdmjauSjG8qO2A" name="EJBXMLFilePath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xNpSkEdmjauSjG8qO2A" name="EJBCnxFactory" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xN5SkEdmjauSjG8qO2A" name="ServletRequestDispatcher" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xOJSkEdmjauSjG8qO2A" name="EJBReentrant" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xOZSkEdmjauSjG8qO2A" name="MethodForRequestParameters" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xOpSkEdmjauSjG8qO2A" name="EJBEnvironmentProperties" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xO5SkEdmjauSjG8qO2A" name="GenerateCode" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xPJSkEdmjauSjG8qO2A" name="ServletRequestParameter" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xPZSkEdmjauSjG8qO2A" name="GenerateHTML" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xPpSkEdmjauSjG8qO2A" name="ServletRequestAttribute" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xP5SkEdmjauSjG8qO2A" name="Java__Http_Servlet__ClassEJBSessionType_Set">
-        <eLiterals xmi:id="_-a4xQJSkEdmjauSjG8qO2A" name="">
-          <eAnnotations xmi:id="_-a4xQZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVpZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xQpSkEdmjauSjG8qO2A" name="Stateless" value="1">
-          <eAnnotations xmi:id="_-a4xQ5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVqJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xRJSkEdmjauSjG8qO2A" name="Stateful" value="2">
-          <eAnnotations xmi:id="_-a4xRZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVq5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xRpSkEdmjauSjG8qO2A" name="Java__Http_Servlet__ClassEJBTransactionType_Set">
-        <eLiterals xmi:id="_-a4xR5SkEdmjauSjG8qO2A" name="Container">
-          <eAnnotations xmi:id="_-a4xSJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVxpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xSZSkEdmjauSjG8qO2A" name="Bean" value="1">
-          <eAnnotations xmi:id="_-a4xSpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVyZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xS5SkEdmjauSjG8qO2A" name="Java__Http_Servlet__ClassEJBVersion_Set">
-        <eLiterals xmi:id="_-a4xTJSkEdmjauSjG8qO2A" name="2.0">
-          <eAnnotations xmi:id="_-a4xTZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVzZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xTpSkEdmjauSjG8qO2A" name="1.x" value="1">
-          <eAnnotations xmi:id="_-a4xT5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agV0JSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xUJSkEdmjauSjG8qO2A" name="Java__Http_Servlet__ClassEJBPersistenceType_Set">
-        <eLiterals xmi:id="_-a4xUZSkEdmjauSjG8qO2A" name="">
-          <eAnnotations xmi:id="_-a4xUpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVr5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xU5SkEdmjauSjG8qO2A" name="Bean" value="1">
-          <eAnnotations xmi:id="_-a4xVJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVspSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xVZSkEdmjauSjG8qO2A" name="Container" value="2">
-          <eAnnotations xmi:id="_-a4xVpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVtZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xV5SkEdmjauSjG8qO2A" name="Java__Http_Servlet__ClassCtor_Set">
-        <eLiterals xmi:id="_-a4xWJSkEdmjauSjG8qO2A" name="public">
-          <eAnnotations xmi:id="_-a4xWZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVuZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xWpSkEdmjauSjG8qO2A" name="protected" value="1">
-          <eAnnotations xmi:id="_-a4xW5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVvJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xXJSkEdmjauSjG8qO2A" name="private" value="2">
-          <eAnnotations xmi:id="_-a4xXZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVv5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xXpSkEdmjauSjG8qO2A" name="package" value="3">
-          <eAnnotations xmi:id="_-a4xX5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-agVwpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4xYJSkEdmjauSjG8qO2A" name="Java__default__Role">
-        <eAnnotations xmi:id="_-a4xYZSkEdmjauSjG8qO2A" source="stereotype" references="_-aaPCJSkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xYpSkEdmjauSjG8qO2A" name="ReadWrite" lowerBound="1" eType="_-a4xbJSkEdmjauSjG8qO2A" defaultValueLiteral="Read &amp; Write"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xY5SkEdmjauSjG8qO2A" name="InitialValue" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xZJSkEdmjauSjG8qO2A" name="PropertyType" lowerBound="1" eType="_-a4xc5SkEdmjauSjG8qO2A" defaultValueLiteral="Not A Property"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xZZSkEdmjauSjG8qO2A" name="GenerateFullyQualifiedTypes" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xZpSkEdmjauSjG8qO2A" name="Final" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xZ5SkEdmjauSjG8qO2A" name="Transient" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xaJSkEdmjauSjG8qO2A" name="Volatile" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xaZSkEdmjauSjG8qO2A" name="IsNavigable" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xapSkEdmjauSjG8qO2A" name="IndividualChangeMgt" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xa5SkEdmjauSjG8qO2A" name="ContainerClass" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xbJSkEdmjauSjG8qO2A" name="Java__default__RoleReadWrite_Set">
-        <eLiterals xmi:id="_-a4xbZSkEdmjauSjG8qO2A" name="Read &amp; Write">
-          <eAnnotations xmi:id="_-a4xbpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aaPE5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xb5SkEdmjauSjG8qO2A" name="Read Only" value="1">
-          <eAnnotations xmi:id="_-a4xcJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aaPFpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xcZSkEdmjauSjG8qO2A" name="Write Only" value="2">
-          <eAnnotations xmi:id="_-a4xcpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aaPGZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xc5SkEdmjauSjG8qO2A" name="Java__default__RoleBeanProperty_Set">
-        <eLiterals xmi:id="_-a4xdJSkEdmjauSjG8qO2A" name="Not A Property">
-          <eAnnotations xmi:id="_-a4xdZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aaPHZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xdpSkEdmjauSjG8qO2A" name="Simple" value="1">
-          <eAnnotations xmi:id="_-a4xd5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aaPIJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xeJSkEdmjauSjG8qO2A" name="Bound" value="2">
-          <eAnnotations xmi:id="_-a4xeZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aaPI5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xepSkEdmjauSjG8qO2A" name="Constrained" value="3">
-          <eAnnotations xmi:id="_-a4xe5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-aaPJpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4xfJSkEdmjauSjG8qO2A" name="Java__Default_Servlet__Class">
-        <eAnnotations xmi:id="_-a4xfZSkEdmjauSjG8qO2A" source="stereotype" references="_-Zu5lJSkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xfpSkEdmjauSjG8qO2A" name="EJBNameInJAR" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xf5SkEdmjauSjG8qO2A" name="GenerateInstanceInitializer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xgJSkEdmjauSjG8qO2A" name="ServletgetInfo" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xgZSkEdmjauSjG8qO2A" name="Final" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xgpSkEdmjauSjG8qO2A" name="ServletIntHeader" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xg5SkEdmjauSjG8qO2A" name="GenerateStaticInitializer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xhJSkEdmjauSjG8qO2A" name="EJBCmpField" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xhZSkEdmjauSjG8qO2A" name="MethodForHeaders" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xhpSkEdmjauSjG8qO2A" name="ServletContentType" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xh5SkEdmjauSjG8qO2A" name="Static" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xiJSkEdmjauSjG8qO2A" name="MethodForRequestAttributes" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xiZSkEdmjauSjG8qO2A" name="ServletSecurityRoles" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xipSkEdmjauSjG8qO2A" name="ServletInitParameter" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xi5SkEdmjauSjG8qO2A" name="DispatcherForward" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xjJSkEdmjauSjG8qO2A" name="ServletRequestParameterNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xjZSkEdmjauSjG8qO2A" name="ServletCookie" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xjpSkEdmjauSjG8qO2A" name="EJBReferences" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xj5SkEdmjauSjG8qO2A" name="ServletContextRef" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xkJSkEdmjauSjG8qO2A" name="GenerateDefaultConstructor" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xkZSkEdmjauSjG8qO2A" name="ServletIsSecure" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xkpSkEdmjauSjG8qO2A" name="GenerateFinalizer" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xk5SkEdmjauSjG8qO2A" name="EJBSessionType" lowerBound="1" eType="_-a4xtJSkEdmjauSjG8qO2A" defaultValueLiteral=""/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xlJSkEdmjauSjG8qO2A" name="DisableAutoSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xlZSkEdmjauSjG8qO2A" name="ServletInitParameterNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xlpSkEdmjauSjG8qO2A" name="BMP_Extend_CMP" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xl5SkEdmjauSjG8qO2A" name="EJBTransactionType" lowerBound="1" eType="_-a4xu5SkEdmjauSjG8qO2A" defaultValueLiteral="Container"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xmJSkEdmjauSjG8qO2A" name="DispatcherInclude" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xmZSkEdmjauSjG8qO2A" name="ServletXMLFilePath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xmpSkEdmjauSjG8qO2A" name="ServletHeader" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xm5SkEdmjauSjG8qO2A" name="ServletDateHeader" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xnJSkEdmjauSjG8qO2A" name="Strictfp" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xnZSkEdmjauSjG8qO2A" name="EJBSessionSync" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xnpSkEdmjauSjG8qO2A" name="EJBSecurityRoles" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xn5SkEdmjauSjG8qO2A" name="IsSingleThread" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xoJSkEdmjauSjG8qO2A" name="ServletRequestAttributesNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xoZSkEdmjauSjG8qO2A" name="ServletRequestDispatcherPath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xopSkEdmjauSjG8qO2A" name="ServletHeaderNames" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xo5SkEdmjauSjG8qO2A" name="MethodForCookie" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xpJSkEdmjauSjG8qO2A" name="EJBVersion" lowerBound="1" eType="_-a4xwJSkEdmjauSjG8qO2A" defaultValueLiteral="2.0"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xpZSkEdmjauSjG8qO2A" name="EJBPersistenceType" lowerBound="1" eType="_-a4xxZSkEdmjauSjG8qO2A" defaultValueLiteral=""/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xppSkEdmjauSjG8qO2A" name="ConstructorIs" lowerBound="1" eType="_-a4xzJSkEdmjauSjG8qO2A" defaultValueLiteral="public"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xp5SkEdmjauSjG8qO2A" name="ReadOnly" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xqJSkEdmjauSjG8qO2A" name="Generate_XML_DD" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xqZSkEdmjauSjG8qO2A" name="ServletName" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xqpSkEdmjauSjG8qO2A" name="EJBXMLFilePath" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xq5SkEdmjauSjG8qO2A" name="EJBCnxFactory" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xrJSkEdmjauSjG8qO2A" name="ServletRequestDispatcher" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xrZSkEdmjauSjG8qO2A" name="EJBReentrant" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xrpSkEdmjauSjG8qO2A" name="MethodForRequestParameters" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xr5SkEdmjauSjG8qO2A" name="EJBEnvironmentProperties" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xsJSkEdmjauSjG8qO2A" name="GenerateCode" lowerBound="1" defaultValueLiteral="true">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xsZSkEdmjauSjG8qO2A" name="ServletRequestParameter" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xspSkEdmjauSjG8qO2A" name="GenerateHTML" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4xs5SkEdmjauSjG8qO2A" name="ServletRequestAttribute" lowerBound="1" defaultValueLiteral="">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xtJSkEdmjauSjG8qO2A" name="Java__Default_Servlet__ClassEJBSessionType_Set">
-        <eLiterals xmi:id="_-a4xtZSkEdmjauSjG8qO2A" name="">
-          <eAnnotations xmi:id="_-a4xtpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5s5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xt5SkEdmjauSjG8qO2A" name="Stateless" value="1">
-          <eAnnotations xmi:id="_-a4xuJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5tpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xuZSkEdmjauSjG8qO2A" name="Stateful" value="2">
-          <eAnnotations xmi:id="_-a4xupSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5uZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xu5SkEdmjauSjG8qO2A" name="Java__Default_Servlet__ClassEJBTransactionType_Set">
-        <eLiterals xmi:id="_-a4xvJSkEdmjauSjG8qO2A" name="Container">
-          <eAnnotations xmi:id="_-a4xvZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu51JSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xvpSkEdmjauSjG8qO2A" name="Bean" value="1">
-          <eAnnotations xmi:id="_-a4xv5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu515SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xwJSkEdmjauSjG8qO2A" name="Java__Default_Servlet__ClassEJBVersion_Set">
-        <eLiterals xmi:id="_-a4xwZSkEdmjauSjG8qO2A" name="2.0">
-          <eAnnotations xmi:id="_-a4xwpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu525SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xw5SkEdmjauSjG8qO2A" name="1.x" value="1">
-          <eAnnotations xmi:id="_-a4xxJSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu53pSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xxZSkEdmjauSjG8qO2A" name="Java__Default_Servlet__ClassEJBPersistenceType_Set">
-        <eLiterals xmi:id="_-a4xxpSkEdmjauSjG8qO2A" name="">
-          <eAnnotations xmi:id="_-a4xx5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5vZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xyJSkEdmjauSjG8qO2A" name="Bean" value="1">
-          <eAnnotations xmi:id="_-a4xyZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5wJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xypSkEdmjauSjG8qO2A" name="Container" value="2">
-          <eAnnotations xmi:id="_-a4xy5SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5w5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4xzJSkEdmjauSjG8qO2A" name="Java__Default_Servlet__ClassCtor_Set">
-        <eLiterals xmi:id="_-a4xzZSkEdmjauSjG8qO2A" name="public">
-          <eAnnotations xmi:id="_-a4xzpSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5x5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4xz5SkEdmjauSjG8qO2A" name="protected" value="1">
-          <eAnnotations xmi:id="_-a4x0JSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5ypSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4x0ZSkEdmjauSjG8qO2A" name="private" value="2">
-          <eAnnotations xmi:id="_-a4x0pSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5zZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4x05SkEdmjauSjG8qO2A" name="package" value="3">
-          <eAnnotations xmi:id="_-a4x1JSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu50JSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EClass" xmi:id="_-a4x1ZSkEdmjauSjG8qO2A" name="Java__default__Attribute">
-        <eAnnotations xmi:id="_-a4x1pSkEdmjauSjG8qO2A" source="stereotype" references="_-Zu5YZSkEdmjauSjG8qO2A"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4x15SkEdmjauSjG8qO2A" name="ReadWrite" lowerBound="1" eType="_-a4x3pSkEdmjauSjG8qO2A" defaultValueLiteral="Read &amp; Write"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4x2JSkEdmjauSjG8qO2A" name="PropertyType" lowerBound="1" eType="_-a4x5ZSkEdmjauSjG8qO2A" defaultValueLiteral="Not A Property"/>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4x2ZSkEdmjauSjG8qO2A" name="GenerateFullyQualifiedTypes" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4x2pSkEdmjauSjG8qO2A" name="Final" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4x25SkEdmjauSjG8qO2A" name="Transient" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4x3JSkEdmjauSjG8qO2A" name="Volatile" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-        <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_-a4x3ZSkEdmjauSjG8qO2A" name="IndividualChangeMgt" lowerBound="1" defaultValueLiteral="false">
-          <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-        </eStructuralFeatures>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4x3pSkEdmjauSjG8qO2A" name="Java__default__AttributeReadWrite_Set">
-        <eLiterals xmi:id="_-a4x35SkEdmjauSjG8qO2A" name="Read &amp; Write">
-          <eAnnotations xmi:id="_-a4x4JSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5cJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4x4ZSkEdmjauSjG8qO2A" name="Read Only" value="1">
-          <eAnnotations xmi:id="_-a4x4pSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5c5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4x45SkEdmjauSjG8qO2A" name="Write Only" value="2">
-          <eAnnotations xmi:id="_-a4x5JSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5dpSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-      <eClassifiers xmi:type="ecore:EEnum" xmi:id="_-a4x5ZSkEdmjauSjG8qO2A" name="Java__default__AttributeBeanProperty_Set">
-        <eLiterals xmi:id="_-a4x5pSkEdmjauSjG8qO2A" name="Not A Property">
-          <eAnnotations xmi:id="_-a4x55SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5epSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4x6JSkEdmjauSjG8qO2A" name="Simple" value="1">
-          <eAnnotations xmi:id="_-a4x6ZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5fZSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4x6pSkEdmjauSjG8qO2A" name="Bound" value="2">
-          <eAnnotations xmi:id="_-a4x65SkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5gJSkEdmjauSjG8qO2A"/>
-        </eLiterals>
-        <eLiterals xmi:id="_-a4x7JSkEdmjauSjG8qO2A" name="Constrained" value="3">
-          <eAnnotations xmi:id="_-a4x7ZSkEdmjauSjG8qO2A" source="enumerationLiteral" references="_-Zu5g5SkEdmjauSjG8qO2A"/>
-        </eLiterals>
-      </eClassifiers>
-    </contents>
-  </eAnnotations>
-  <eAnnotations xmi:id="_-bjeq5SkEdmjauSjG8qO2A" source="uml2.versions">
-    <details xmi:id="_-bjerJSkEdmjauSjG8qO2A" key="0" value="1.0"/>
-  </eAnnotations>
-  <packageImport xmi:id="_-ZoywZSkEdmjauSjG8qO2A" visibility="private">
-    <eAnnotations xmi:id="_-bE9MJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bE9MZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Model" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m8qbA686EdiEh75YJ_3n8g"/>
-  </packageImport>
-  <packageImport xmi:id="_-ZoywpSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bE9MpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bE9M5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Model" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_EfRZoK86EdieaYgxtVWN8Q"/>
-  </packageImport>
-  <packageImport xmi:id="_-Zoyw5SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bE9NJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bE9NZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Model" href="pathmap://UML2_LIBRARIES/JavaPrimitiveTypes.library.uml2#_RjmyoK86EdieaYgxtVWN8Q"/>
-  </packageImport>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-ZoyxpSkEdmjauSjG8qO2A" name="default__ModuleBody">
-    <eAnnotations xmi:id="_-Zoyx5SkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-ZoyyJSkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-ZoyyZSkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bE9NpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-ZoyypSkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-Zoyy5SkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-Zoyz5SkEdmjauSjG8qO2A" name="base$Component" association="_-ZoyzJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bE9N5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9OJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJjK86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zoy0JSkEdmjauSjG8qO2A" name="CmIdentification">
-      <eAnnotations xmi:id="_-bE9OZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9OpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Zoy0ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9O5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9PJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zoy0pSkEdmjauSjG8qO2A" name="CopyrightNotice">
-      <eAnnotations xmi:id="_-bE9PZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9PpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Zu5YJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9P5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9QJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-ZoyzJSkEdmjauSjG8qO2A" name="Component_default__ModuleBody" memberEnd="_-ZoyzZSkEdmjauSjG8qO2A _-Zoyz5SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bE9QZSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bE9QpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-ZoyzZSkEdmjauSjG8qO2A" name="extension$default__ModuleBody" type="_-ZoyxpSkEdmjauSjG8qO2A" association="_-ZoyzJSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bE9Q5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9RJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-ZoyzpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9RZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9RpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-Zu5YZSkEdmjauSjG8qO2A" name="default__Attribute">
-    <eAnnotations xmi:id="_-Zu5YpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-Zu5Y5SkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-Zu5ZJSkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bE9R5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-Zu5ZZSkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-Zu5ZpSkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-Zu5apSkEdmjauSjG8qO2A" name="base$EnumerationLiteral" association="_-Zu5Z5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bE9SJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9SZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRga86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5bpSkEdmjauSjG8qO2A" name="base$Property" association="_-Zu5a5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bE9SpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9S5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9C1la86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5hpSkEdmjauSjG8qO2A" name="ReadWrite" type="_-Zu5b5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bE9TJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9TZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-Zu5h5SkEdmjauSjG8qO2A" instance="_-Zu5cJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9TpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9T5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5iJSkEdmjauSjG8qO2A" name="PropertyType" type="_-Zu5eZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bE9UJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9UZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-Zu5iZSkEdmjauSjG8qO2A" instance="_-Zu5epSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9UpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9U5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5ipSkEdmjauSjG8qO2A" name="GenerateFullyQualifiedTypes">
-      <eAnnotations xmi:id="_-bE9VJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9VZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu5i5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9VpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9V5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5jJSkEdmjauSjG8qO2A" name="Final">
-      <eAnnotations xmi:id="_-bE9WJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9WZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu5jZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9WpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9W5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5jpSkEdmjauSjG8qO2A" name="Transient">
-      <eAnnotations xmi:id="_-bE9XJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9XZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu5j5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9XpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9X5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5kJSkEdmjauSjG8qO2A" name="Volatile">
-      <eAnnotations xmi:id="_-bE9YJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9YZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu5kZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9YpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9Y5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5kpSkEdmjauSjG8qO2A" name="IndividualChangeMgt">
-      <eAnnotations xmi:id="_-bE9ZJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9ZZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu5k5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9ZpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9Z5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Zu5Z5SkEdmjauSjG8qO2A" name="EnumerationLiteral_default__Attribute" memberEnd="_-Zu5aJSkEdmjauSjG8qO2A _-Zu5apSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bE9aJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bE9aZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Zu5aJSkEdmjauSjG8qO2A" name="extension$default__Attribute" type="_-Zu5YZSkEdmjauSjG8qO2A" association="_-Zu5Z5SkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bE9apSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9a5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Zu5aZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9bJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9bZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Zu5a5SkEdmjauSjG8qO2A" name="Property_default__Attribute" memberEnd="_-Zu5bJSkEdmjauSjG8qO2A _-Zu5bpSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bE9bpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bE9b5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Zu5bJSkEdmjauSjG8qO2A" name="extension$default__Attribute" type="_-Zu5YZSkEdmjauSjG8qO2A" association="_-Zu5a5SkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bE9cJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9cZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Zu5bZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bE9cpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bE9c5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Zu5b5SkEdmjauSjG8qO2A" name="default__AttributeReadWrite_Set">
-    <eAnnotations xmi:id="_-bE9dJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bE9dZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Zu5cJSkEdmjauSjG8qO2A" name="Read &amp; Write">
-      <eAnnotations xmi:id="_-Zu5cZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5cpSkEdmjauSjG8qO2A" key="cardinal" value="81"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bE9dpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bE9d5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5c5SkEdmjauSjG8qO2A" name="Read Only">
-      <eAnnotations xmi:id="_-Zu5dJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5dZSkEdmjauSjG8qO2A" key="cardinal" value="82"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bE9eJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD0JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5dpSkEdmjauSjG8qO2A" name="Write Only">
-      <eAnnotations xmi:id="_-Zu5d5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5eJSkEdmjauSjG8qO2A" key="cardinal" value="83"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLD0ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD0pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Zu5eZSkEdmjauSjG8qO2A" name="default__AttributeBeanProperty_Set">
-    <eAnnotations xmi:id="_-bLD05SkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLD1JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Zu5epSkEdmjauSjG8qO2A" name="Not A Property">
-      <eAnnotations xmi:id="_-Zu5e5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5fJSkEdmjauSjG8qO2A" key="cardinal" value="71"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLD1ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD1pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5fZSkEdmjauSjG8qO2A" name="Simple">
-      <eAnnotations xmi:id="_-Zu5fpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5f5SkEdmjauSjG8qO2A" key="cardinal" value="72"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLD15SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD2JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5gJSkEdmjauSjG8qO2A" name="Bound">
-      <eAnnotations xmi:id="_-Zu5gZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5gpSkEdmjauSjG8qO2A" key="cardinal" value="73"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLD2ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD2pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5g5SkEdmjauSjG8qO2A" name="Constrained">
-      <eAnnotations xmi:id="_-Zu5hJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5hZSkEdmjauSjG8qO2A" key="cardinal" value="74"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLD25SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD3JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-Zu5lJSkEdmjauSjG8qO2A" name="Default_Servlet__Class">
-    <eAnnotations xmi:id="_-Zu5lZSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-Zu5lpSkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-Zu5l5SkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bLD3ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-Zu5mJSkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-Zu5mZSkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-Zu5nZSkEdmjauSjG8qO2A" name="base$Actor" association="_-Zu5mpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLD3pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD35SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9ndca86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5oZSkEdmjauSjG8qO2A" name="base$Class" association="_-Zu5npSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLD4JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD4ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m88uxq86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5pZSkEdmjauSjG8qO2A" name="base$Enumeration" association="_-Zu5opSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLD4pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD45SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRea86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5qZSkEdmjauSjG8qO2A" name="base$Interface" association="_-Zu5ppSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLD5JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD5ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJoq86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5rZSkEdmjauSjG8qO2A" name="base$Signal" association="_-Zu5qpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLD5pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD55SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJza86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu5sZSkEdmjauSjG8qO2A" name="base$PrimitiveType" association="_-Zu5rpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLD6JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD6ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRsa86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu54ZSkEdmjauSjG8qO2A" name="EJBNameInJAR">
-      <eAnnotations xmi:id="_-bLD6pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD65SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Zu54pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLD7JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLD7ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu545SkEdmjauSjG8qO2A" name="GenerateInstanceInitializer">
-      <eAnnotations xmi:id="_-bLD7pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD75SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu55JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLD8JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLD8ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu55ZSkEdmjauSjG8qO2A" name="ServletgetInfo">
-      <eAnnotations xmi:id="_-bLD8pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD85SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Zu55pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLD9JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLD9ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu555SkEdmjauSjG8qO2A" name="Final">
-      <eAnnotations xmi:id="_-bLD9pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD95SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu56JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLD-JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLD-ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu56ZSkEdmjauSjG8qO2A" name="ServletIntHeader">
-      <eAnnotations xmi:id="_-bLD-pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD-5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu56pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLD_JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLD_ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu565SkEdmjauSjG8qO2A" name="GenerateStaticInitializer">
-      <eAnnotations xmi:id="_-bLD_pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLD_5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Zu57JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEAJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEAZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu57ZSkEdmjauSjG8qO2A" name="EJBCmpField">
-      <eAnnotations xmi:id="_-bLEApSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEA5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Zu57pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEBJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEBZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Zu575SkEdmjauSjG8qO2A" name="MethodForHeaders">
-      <eAnnotations xmi:id="_-bLEBpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEB5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nEJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLECJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLECZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nEZSkEdmjauSjG8qO2A" name="ServletContentType">
-      <eAnnotations xmi:id="_-bLECpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEC5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nEpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEDJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEDZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nE5SkEdmjauSjG8qO2A" name="Static">
-      <eAnnotations xmi:id="_-bLEDpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLED5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nFJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEEJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEEZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nFZSkEdmjauSjG8qO2A" name="MethodForRequestAttributes">
-      <eAnnotations xmi:id="_-bLEEpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEE5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nFpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEFJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEFZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nF5SkEdmjauSjG8qO2A" name="ServletSecurityRoles">
-      <eAnnotations xmi:id="_-bLEFpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEF5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nGJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEGJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEGZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nGZSkEdmjauSjG8qO2A" name="ServletInitParameter">
-      <eAnnotations xmi:id="_-bLEGpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEG5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nGpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEHJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEHZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nG5SkEdmjauSjG8qO2A" name="DispatcherForward">
-      <eAnnotations xmi:id="_-bLEHpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEH5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nHJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEIJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEIZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nHZSkEdmjauSjG8qO2A" name="ServletRequestParameterNames">
-      <eAnnotations xmi:id="_-bLEIpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEI5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nHpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEJJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEJZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nH5SkEdmjauSjG8qO2A" name="ServletCookie">
-      <eAnnotations xmi:id="_-bLEJpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEJ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nIJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEKJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEKZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nIZSkEdmjauSjG8qO2A" name="EJBReferences">
-      <eAnnotations xmi:id="_-bLEKpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEK5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nIpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLELJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLELZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nI5SkEdmjauSjG8qO2A" name="ServletContextRef">
-      <eAnnotations xmi:id="_-bLELpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEL5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nJJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEMJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEMZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nJZSkEdmjauSjG8qO2A" name="GenerateDefaultConstructor">
-      <eAnnotations xmi:id="_-bLEMpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEM5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nJpSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bLENJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLENZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nJ5SkEdmjauSjG8qO2A" name="ServletIsSecure">
-      <eAnnotations xmi:id="_-bLENpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEN5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nKJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEOJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEOZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nKZSkEdmjauSjG8qO2A" name="GenerateFinalizer">
-      <eAnnotations xmi:id="_-bLEOpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEO5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nKpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEPJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEPZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nK5SkEdmjauSjG8qO2A" name="EJBSessionType" type="_-Zu5spSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLEPpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEP5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-Z1nLJSkEdmjauSjG8qO2A" instance="_-Zu5s5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEQJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEQZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nLZSkEdmjauSjG8qO2A" name="DisableAutoSync">
-      <eAnnotations xmi:id="_-bLEQpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEQ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nLpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLERJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLERZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nL5SkEdmjauSjG8qO2A" name="ServletInitParameterNames">
-      <eAnnotations xmi:id="_-bLERpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLER5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nMJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLESJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLESZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nMZSkEdmjauSjG8qO2A" name="BMP_Extend_CMP">
-      <eAnnotations xmi:id="_-bLESpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLES5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nMpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLETJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLETZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nM5SkEdmjauSjG8qO2A" name="EJBTransactionType" type="_-Zu505SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLETpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLET5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-Z1nNJSkEdmjauSjG8qO2A" instance="_-Zu51JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEUJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEUZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nNZSkEdmjauSjG8qO2A" name="DispatcherInclude">
-      <eAnnotations xmi:id="_-bLEUpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEU5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nNpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEVJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEVZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nN5SkEdmjauSjG8qO2A" name="ServletXMLFilePath">
-      <eAnnotations xmi:id="_-bLEVpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEV5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nOJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEWJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEWZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nOZSkEdmjauSjG8qO2A" name="ServletHeader">
-      <eAnnotations xmi:id="_-bLEWpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEW5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nOpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEXJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEXZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nO5SkEdmjauSjG8qO2A" name="ServletDateHeader">
-      <eAnnotations xmi:id="_-bLEXpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEX5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nPJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEYJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEYZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nPZSkEdmjauSjG8qO2A" name="Strictfp">
-      <eAnnotations xmi:id="_-bLEYpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEY5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nPpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEZJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEZZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nP5SkEdmjauSjG8qO2A" name="EJBSessionSync">
-      <eAnnotations xmi:id="_-bLEZpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEZ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nQJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEaJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEaZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nQZSkEdmjauSjG8qO2A" name="EJBSecurityRoles">
-      <eAnnotations xmi:id="_-bLEapSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEa5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nQpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEbJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEbZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nQ5SkEdmjauSjG8qO2A" name="IsSingleThread">
-      <eAnnotations xmi:id="_-bLEbpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEb5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nRJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEcJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEcZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nRZSkEdmjauSjG8qO2A" name="ServletRequestAttributesNames">
-      <eAnnotations xmi:id="_-bLEcpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEc5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nRpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEdJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEdZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nR5SkEdmjauSjG8qO2A" name="ServletRequestDispatcherPath">
-      <eAnnotations xmi:id="_-bLEdpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEd5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nSJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEeJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEeZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nSZSkEdmjauSjG8qO2A" name="ServletHeaderNames">
-      <eAnnotations xmi:id="_-bLEepSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEe5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nSpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEfJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEfZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nS5SkEdmjauSjG8qO2A" name="MethodForCookie">
-      <eAnnotations xmi:id="_-bLEfpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEf5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nTJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEgJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEgZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nTZSkEdmjauSjG8qO2A" name="EJBVersion" type="_-Zu52pSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLEgpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEg5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-Z1nTpSkEdmjauSjG8qO2A" instance="_-Zu525SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEhJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEhZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nT5SkEdmjauSjG8qO2A" name="EJBPersistenceType" type="_-Zu5vJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLEhpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEh5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-Z1nUJSkEdmjauSjG8qO2A" instance="_-Zu5vZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEiJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEiZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nUZSkEdmjauSjG8qO2A" name="ConstructorIs" type="_-Zu5xpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLEipSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEi5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-Z1nUpSkEdmjauSjG8qO2A" instance="_-Zu5x5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEjJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEjZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nU5SkEdmjauSjG8qO2A" name="ReadOnly">
-      <eAnnotations xmi:id="_-bLEjpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEj5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nVJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEkJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEkZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nVZSkEdmjauSjG8qO2A" name="Generate_XML_DD">
-      <eAnnotations xmi:id="_-bLEkpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEk5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nVpSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bLElJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLElZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nV5SkEdmjauSjG8qO2A" name="ServletName">
-      <eAnnotations xmi:id="_-bLElpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEl5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nWJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEmJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEmZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nWZSkEdmjauSjG8qO2A" name="EJBXMLFilePath">
-      <eAnnotations xmi:id="_-bLEmpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEm5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nWpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEnJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEnZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nW5SkEdmjauSjG8qO2A" name="EJBCnxFactory">
-      <eAnnotations xmi:id="_-bLEnpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEn5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nXJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEoJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEoZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nXZSkEdmjauSjG8qO2A" name="ServletRequestDispatcher">
-      <eAnnotations xmi:id="_-bLEopSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEo5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nXpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEpJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEpZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nX5SkEdmjauSjG8qO2A" name="EJBReentrant">
-      <eAnnotations xmi:id="_-bLEppSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEp5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nYJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEqJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEqZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nYZSkEdmjauSjG8qO2A" name="MethodForRequestParameters">
-      <eAnnotations xmi:id="_-bLEqpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEq5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nYpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLErJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLErZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nY5SkEdmjauSjG8qO2A" name="EJBEnvironmentProperties">
-      <eAnnotations xmi:id="_-bLErpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEr5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nZJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEsJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEsZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nZZSkEdmjauSjG8qO2A" name="GenerateCode">
-      <eAnnotations xmi:id="_-bLEspSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEs5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1nZpSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bLEtJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEtZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1nZ5SkEdmjauSjG8qO2A" name="ServletRequestParameter">
-      <eAnnotations xmi:id="_-bLEtpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEt5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1naJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEuJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEuZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1naZSkEdmjauSjG8qO2A" name="GenerateHTML">
-      <eAnnotations xmi:id="_-bLEupSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEu5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z1napSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEvJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEvZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z1na5SkEdmjauSjG8qO2A" name="ServletRequestAttribute">
-      <eAnnotations xmi:id="_-bLEvpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEv5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z1nbJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEwJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEwZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Zu5mpSkEdmjauSjG8qO2A" name="Actor_Default_Servlet__Class" memberEnd="_-Zu5m5SkEdmjauSjG8qO2A _-Zu5nZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bLEwpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLEw5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Zu5m5SkEdmjauSjG8qO2A" name="extension$Default_Servlet__Class" type="_-Zu5lJSkEdmjauSjG8qO2A" association="_-Zu5mpSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bLExJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLExZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Zu5nJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLExpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEx5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Zu5npSkEdmjauSjG8qO2A" name="Class_Default_Servlet__Class" memberEnd="_-Zu5n5SkEdmjauSjG8qO2A _-Zu5oZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bLEyJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLEyZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Zu5n5SkEdmjauSjG8qO2A" name="extension$Default_Servlet__Class" type="_-Zu5lJSkEdmjauSjG8qO2A" association="_-Zu5npSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bLEypSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLEy5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Zu5oJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLEzJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLEzZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Zu5opSkEdmjauSjG8qO2A" name="Enumeration_Default_Servlet__Class" memberEnd="_-Zu5o5SkEdmjauSjG8qO2A _-Zu5pZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bLEzpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLEz5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Zu5o5SkEdmjauSjG8qO2A" name="extension$Default_Servlet__Class" type="_-Zu5lJSkEdmjauSjG8qO2A" association="_-Zu5opSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bLE0JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE0ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Zu5pJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLE0pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLE05SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Zu5ppSkEdmjauSjG8qO2A" name="Interface_Default_Servlet__Class" memberEnd="_-Zu5p5SkEdmjauSjG8qO2A _-Zu5qZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bLE1JSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLE1ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Zu5p5SkEdmjauSjG8qO2A" name="extension$Default_Servlet__Class" type="_-Zu5lJSkEdmjauSjG8qO2A" association="_-Zu5ppSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bLE1pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE15SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Zu5qJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLE2JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLE2ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Zu5qpSkEdmjauSjG8qO2A" name="Signal_Default_Servlet__Class" memberEnd="_-Zu5q5SkEdmjauSjG8qO2A _-Zu5rZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bLE2pSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLE25SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Zu5q5SkEdmjauSjG8qO2A" name="extension$Default_Servlet__Class" type="_-Zu5lJSkEdmjauSjG8qO2A" association="_-Zu5qpSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bLE3JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE3ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Zu5rJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLE3pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLE35SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Zu5rpSkEdmjauSjG8qO2A" name="PrimitiveType_Default_Servlet__Class" memberEnd="_-Zu5r5SkEdmjauSjG8qO2A _-Zu5sZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bLE4JSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLE4ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Zu5r5SkEdmjauSjG8qO2A" name="extension$Default_Servlet__Class" type="_-Zu5lJSkEdmjauSjG8qO2A" association="_-Zu5rpSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bLE4pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE45SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Zu5sJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLE5JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLE5ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Zu5spSkEdmjauSjG8qO2A" name="Default_Servlet__ClassEJBSessionType_Set">
-    <eAnnotations xmi:id="_-bLE5pSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLE55SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Zu5s5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-Zu5tJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5tZSkEdmjauSjG8qO2A" key="cardinal" value="200"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE6JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE6ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5tpSkEdmjauSjG8qO2A" name="Stateless">
-      <eAnnotations xmi:id="_-Zu5t5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5uJSkEdmjauSjG8qO2A" key="cardinal" value="201"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE6pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE65SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5uZSkEdmjauSjG8qO2A" name="Stateful">
-      <eAnnotations xmi:id="_-Zu5upSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5u5SkEdmjauSjG8qO2A" key="cardinal" value="202"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE7JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE7ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Zu5vJSkEdmjauSjG8qO2A" name="Default_Servlet__ClassEJBPersistenceType_Set">
-    <eAnnotations xmi:id="_-bLE7pSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLE75SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Zu5vZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-Zu5vpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5v5SkEdmjauSjG8qO2A" key="cardinal" value="220"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE8JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE8ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5wJSkEdmjauSjG8qO2A" name="Bean">
-      <eAnnotations xmi:id="_-Zu5wZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5wpSkEdmjauSjG8qO2A" key="cardinal" value="221"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE8pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE85SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5w5SkEdmjauSjG8qO2A" name="Container">
-      <eAnnotations xmi:id="_-Zu5xJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5xZSkEdmjauSjG8qO2A" key="cardinal" value="222"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE9JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE9ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Zu5xpSkEdmjauSjG8qO2A" name="Default_Servlet__ClassCtor_Set">
-    <eAnnotations xmi:id="_-bLE9pSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLE95SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Zu5x5SkEdmjauSjG8qO2A" name="public">
-      <eAnnotations xmi:id="_-Zu5yJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5yZSkEdmjauSjG8qO2A" key="cardinal" value="62"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE-JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE-ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5ypSkEdmjauSjG8qO2A" name="protected">
-      <eAnnotations xmi:id="_-Zu5y5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5zJSkEdmjauSjG8qO2A" key="cardinal" value="63"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE-pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE-5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu5zZSkEdmjauSjG8qO2A" name="private">
-      <eAnnotations xmi:id="_-Zu5zpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu5z5SkEdmjauSjG8qO2A" key="cardinal" value="64"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE_JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE_ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu50JSkEdmjauSjG8qO2A" name="package">
-      <eAnnotations xmi:id="_-Zu50ZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu50pSkEdmjauSjG8qO2A" key="cardinal" value="65"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLE_pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLE_5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Zu505SkEdmjauSjG8qO2A" name="Default_Servlet__ClassEJBTransactionType_Set">
-    <eAnnotations xmi:id="_-bLFAJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLFAZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Zu51JSkEdmjauSjG8qO2A" name="Container">
-      <eAnnotations xmi:id="_-Zu51ZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu51pSkEdmjauSjG8qO2A" key="cardinal" value="211"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLFApSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFA5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu515SkEdmjauSjG8qO2A" name="Bean">
-      <eAnnotations xmi:id="_-Zu52JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu52ZSkEdmjauSjG8qO2A" key="cardinal" value="212"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLFBJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFBZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Zu52pSkEdmjauSjG8qO2A" name="Default_Servlet__ClassEJBVersion_Set">
-    <eAnnotations xmi:id="_-bLFBpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bLFB5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Zu525SkEdmjauSjG8qO2A" name="2.0">
-      <eAnnotations xmi:id="_-Zu53JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu53ZSkEdmjauSjG8qO2A" key="cardinal" value="230"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLFCJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFCZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Zu53pSkEdmjauSjG8qO2A" name="1.x">
-      <eAnnotations xmi:id="_-Zu535SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Zu54JSkEdmjauSjG8qO2A" key="cardinal" value="231"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bLFCpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFC5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-Z1nbZSkEdmjauSjG8qO2A" name="default__Class">
-    <eAnnotations xmi:id="_-Z1nbpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-Z1nb5SkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-Z1ncJSkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bLFDJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-Z1ncZSkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-Z1ncpSkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-Z1ndpSkEdmjauSjG8qO2A" name="base$Actor" association="_-Z1nc5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLFDZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFDpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9ndca86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7tsZSkEdmjauSjG8qO2A" name="base$Class" association="_-Z1nd5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLFD5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFEJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m88uxq86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7ttZSkEdmjauSjG8qO2A" name="base$Enumeration" association="_-Z7tspSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLFEZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFEpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRea86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7tuZSkEdmjauSjG8qO2A" name="base$Interface" association="_-Z7ttpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLFE5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFFJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJoq86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7tvZSkEdmjauSjG8qO2A" name="base$Signal" association="_-Z7tupSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLFFZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFFpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJza86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7twZSkEdmjauSjG8qO2A" name="base$PrimitiveType" association="_-Z7tvpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLFF5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFGJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRsa86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7t8ZSkEdmjauSjG8qO2A" name="EJBNameInJAR">
-      <eAnnotations xmi:id="_-bLFGZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFGpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7t8pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFG5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFHJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7t85SkEdmjauSjG8qO2A" name="ServletgetInfo">
-      <eAnnotations xmi:id="_-bLFHZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFHpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7t9JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFH5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFIJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7t9ZSkEdmjauSjG8qO2A" name="GenerateInstanceInitializer">
-      <eAnnotations xmi:id="_-bLFIZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFIpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z7t9pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFI5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFJJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7t95SkEdmjauSjG8qO2A" name="Final">
-      <eAnnotations xmi:id="_-bLFJZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFJpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z7t-JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFJ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFKJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7t-ZSkEdmjauSjG8qO2A" name="ServletIntHeader">
-      <eAnnotations xmi:id="_-bLFKZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFKpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z7t-pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFK5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFLJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7t-5SkEdmjauSjG8qO2A" name="GenerateStaticInitializer">
-      <eAnnotations xmi:id="_-bLFLZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFLpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z7t_JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFL5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFMJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7t_ZSkEdmjauSjG8qO2A" name="EJBCmpField">
-      <eAnnotations xmi:id="_-bLFMZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFMpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7t_pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFM5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFNJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7t_5SkEdmjauSjG8qO2A" name="MethodForHeaders">
-      <eAnnotations xmi:id="_-bLFNZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFNpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7uAJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFN5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFOJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uAZSkEdmjauSjG8qO2A" name="ServletContentType">
-      <eAnnotations xmi:id="_-bLFOZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFOpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7uApSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFO5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFPJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uA5SkEdmjauSjG8qO2A" name="Static">
-      <eAnnotations xmi:id="_-bLFPZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFPpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z7uBJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFP5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFQJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uBZSkEdmjauSjG8qO2A" name="MethodForRequestAttributes">
-      <eAnnotations xmi:id="_-bLFQZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFQpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7uBpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFQ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFRJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uB5SkEdmjauSjG8qO2A" name="ServletSecurityRoles">
-      <eAnnotations xmi:id="_-bLFRZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFRpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7uCJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFR5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFSJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uCZSkEdmjauSjG8qO2A" name="ServletInitParameter">
-      <eAnnotations xmi:id="_-bLFSZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFSpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7uCpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFS5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFTJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uC5SkEdmjauSjG8qO2A" name="DispatcherForward">
-      <eAnnotations xmi:id="_-bLFTZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFTpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z7uDJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFT5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFUJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uDZSkEdmjauSjG8qO2A" name="ServletRequestParameterNames">
-      <eAnnotations xmi:id="_-bLFUZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFUpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z7uDpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFU5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFVJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uD5SkEdmjauSjG8qO2A" name="ServletCookie">
-      <eAnnotations xmi:id="_-bLFVZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFVpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-Z7uEJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFV5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFWJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uEZSkEdmjauSjG8qO2A" name="EJBReferences">
-      <eAnnotations xmi:id="_-bLFWZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFWpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-Z7uEpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFW5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFXJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-Z7uE5SkEdmjauSjG8qO2A" name="ServletContextRef">
-      <eAnnotations xmi:id="_-bLFXZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFXpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0UJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFX5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFYJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0UZSkEdmjauSjG8qO2A" name="GenerateDefaultConstructor">
-      <eAnnotations xmi:id="_-bLFYZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFYpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0UpSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bLFY5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFZJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0U5SkEdmjauSjG8qO2A" name="ServletIsSecure">
-      <eAnnotations xmi:id="_-bLFZZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFZpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0VJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFZ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFaJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0VZSkEdmjauSjG8qO2A" name="GenerateFinalizer">
-      <eAnnotations xmi:id="_-bLFaZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFapSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0VpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFa5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFbJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0V5SkEdmjauSjG8qO2A" name="EJBSessionType" type="_-Z7twpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLFbZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFbpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aB0WJSkEdmjauSjG8qO2A" instance="_-Z7tw5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFb5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFcJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0WZSkEdmjauSjG8qO2A" name="ServletInitParameterNames">
-      <eAnnotations xmi:id="_-bLFcZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFcpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0WpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFc5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFdJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0W5SkEdmjauSjG8qO2A" name="DisableAutoSync">
-      <eAnnotations xmi:id="_-bLFdZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFdpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0XJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFd5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFeJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0XZSkEdmjauSjG8qO2A" name="BMP_Extend_CMP">
-      <eAnnotations xmi:id="_-bLFeZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFepSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0XpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFe5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFfJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0X5SkEdmjauSjG8qO2A" name="EJBTransactionType" type="_-Z7t45SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bLFfZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFfpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aB0YJSkEdmjauSjG8qO2A" instance="_-Z7t5JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bLFf5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bLFgJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0YZSkEdmjauSjG8qO2A" name="DispatcherInclude">
-      <eAnnotations xmi:id="_-bLFgZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bLFgpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0YpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKcJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKcZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0Y5SkEdmjauSjG8qO2A" name="ServletXMLFilePath">
-      <eAnnotations xmi:id="_-bRKcpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKc5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0ZJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKdJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKdZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0ZZSkEdmjauSjG8qO2A" name="ServletHeader">
-      <eAnnotations xmi:id="_-bRKdpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKd5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0ZpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKeJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKeZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0Z5SkEdmjauSjG8qO2A" name="ServletDateHeader">
-      <eAnnotations xmi:id="_-bRKepSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKe5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0aJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKfJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKfZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0aZSkEdmjauSjG8qO2A" name="Strictfp">
-      <eAnnotations xmi:id="_-bRKfpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKf5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0apSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKgJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKgZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0a5SkEdmjauSjG8qO2A" name="EJBSessionSync">
-      <eAnnotations xmi:id="_-bRKgpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKg5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0bJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKhJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKhZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0bZSkEdmjauSjG8qO2A" name="EJBSecurityRoles">
-      <eAnnotations xmi:id="_-bRKhpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKh5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0bpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKiJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKiZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0b5SkEdmjauSjG8qO2A" name="IsSingleThread">
-      <eAnnotations xmi:id="_-bRKipSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKi5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0cJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKjJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKjZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0cZSkEdmjauSjG8qO2A" name="ServletRequestAttributesNames">
-      <eAnnotations xmi:id="_-bRKjpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKj5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0cpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKkJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKkZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0c5SkEdmjauSjG8qO2A" name="ServletRequestDispatcherPath">
-      <eAnnotations xmi:id="_-bRKkpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKk5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0dJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKlJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKlZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0dZSkEdmjauSjG8qO2A" name="ServletHeaderNames">
-      <eAnnotations xmi:id="_-bRKlpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKl5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0dpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKmJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKmZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0d5SkEdmjauSjG8qO2A" name="MethodForCookie">
-      <eAnnotations xmi:id="_-bRKmpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKm5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0eJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKnJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKnZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0eZSkEdmjauSjG8qO2A" name="EJBVersion" type="_-Z7t6pSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bRKnpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKn5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aB0epSkEdmjauSjG8qO2A" instance="_-Z7t65SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKoJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKoZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0e5SkEdmjauSjG8qO2A" name="EJBPersistenceType" type="_-Z7tzJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bRKopSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKo5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aB0fJSkEdmjauSjG8qO2A" instance="_-Z7tzZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKpJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKpZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0fZSkEdmjauSjG8qO2A" name="ConstructorIs" type="_-Z7t1pSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bRKppSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKp5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aB0fpSkEdmjauSjG8qO2A" instance="_-Z7t15SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKqJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKqZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0f5SkEdmjauSjG8qO2A" name="ReadOnly">
-      <eAnnotations xmi:id="_-bRKqpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKq5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0gJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKrJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKrZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0gZSkEdmjauSjG8qO2A" name="Generate_XML_DD">
-      <eAnnotations xmi:id="_-bRKrpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKr5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0gpSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRKsJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKsZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0g5SkEdmjauSjG8qO2A" name="ServletName">
-      <eAnnotations xmi:id="_-bRKspSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKs5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0hJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKtJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKtZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0hZSkEdmjauSjG8qO2A" name="EJBXMLFilePath">
-      <eAnnotations xmi:id="_-bRKtpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKt5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0hpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKuJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKuZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0h5SkEdmjauSjG8qO2A" name="EJBCnxFactory">
-      <eAnnotations xmi:id="_-bRKupSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKu5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0iJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKvJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKvZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0iZSkEdmjauSjG8qO2A" name="ServletRequestDispatcher">
-      <eAnnotations xmi:id="_-bRKvpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKv5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0ipSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKwJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKwZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0i5SkEdmjauSjG8qO2A" name="EJBReentrant">
-      <eAnnotations xmi:id="_-bRKwpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKw5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0jJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKxJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKxZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0jZSkEdmjauSjG8qO2A" name="MethodForRequestParameters">
-      <eAnnotations xmi:id="_-bRKxpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKx5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0jpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKyJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKyZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0j5SkEdmjauSjG8qO2A" name="EJBEnvironmentProperties">
-      <eAnnotations xmi:id="_-bRKypSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKy5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0kJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRKzJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRKzZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0kZSkEdmjauSjG8qO2A" name="GenerateCode">
-      <eAnnotations xmi:id="_-bRKzpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRKz5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0kpSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRK0JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK0ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0k5SkEdmjauSjG8qO2A" name="ServletRequestParameter">
-      <eAnnotations xmi:id="_-bRK0pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK05SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0lJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRK1JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK1ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0lZSkEdmjauSjG8qO2A" name="GenerateHTML">
-      <eAnnotations xmi:id="_-bRK1pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK15SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aB0lpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRK2JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK2ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aB0l5SkEdmjauSjG8qO2A" name="ServletRequestAttribute">
-      <eAnnotations xmi:id="_-bRK2pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK25SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aB0mJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRK3JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK3ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Z1nc5SkEdmjauSjG8qO2A" name="Actor_default__Class" memberEnd="_-Z1ndJSkEdmjauSjG8qO2A _-Z1ndpSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bRK3pSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRK35SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Z1ndJSkEdmjauSjG8qO2A" name="extension$default__Class" type="_-Z1nbZSkEdmjauSjG8qO2A" association="_-Z1nc5SkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bRK4JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK4ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Z1ndZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRK4pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK45SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Z1nd5SkEdmjauSjG8qO2A" name="Class_default__Class" memberEnd="_-Z1neJSkEdmjauSjG8qO2A _-Z7tsZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bRK5JSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRK5ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Z1neJSkEdmjauSjG8qO2A" name="extension$default__Class" type="_-Z1nbZSkEdmjauSjG8qO2A" association="_-Z1nd5SkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bRK5pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK55SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Z7tsJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRK6JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK6ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Z7tspSkEdmjauSjG8qO2A" name="Enumeration_default__Class" memberEnd="_-Z7ts5SkEdmjauSjG8qO2A _-Z7ttZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bRK6pSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRK65SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Z7ts5SkEdmjauSjG8qO2A" name="extension$default__Class" type="_-Z1nbZSkEdmjauSjG8qO2A" association="_-Z7tspSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bRK7JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK7ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Z7ttJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRK7pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK75SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Z7ttpSkEdmjauSjG8qO2A" name="Interface_default__Class" memberEnd="_-Z7tt5SkEdmjauSjG8qO2A _-Z7tuZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bRK8JSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRK8ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Z7tt5SkEdmjauSjG8qO2A" name="extension$default__Class" type="_-Z1nbZSkEdmjauSjG8qO2A" association="_-Z7ttpSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bRK8pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK85SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Z7tuJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRK9JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK9ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Z7tupSkEdmjauSjG8qO2A" name="Signal_default__Class" memberEnd="_-Z7tu5SkEdmjauSjG8qO2A _-Z7tvZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bRK9pSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRK95SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Z7tu5SkEdmjauSjG8qO2A" name="extension$default__Class" type="_-Z1nbZSkEdmjauSjG8qO2A" association="_-Z7tupSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bRK-JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK-ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Z7tvJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRK-pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRK-5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-Z7tvpSkEdmjauSjG8qO2A" name="PrimitiveType_default__Class" memberEnd="_-Z7tv5SkEdmjauSjG8qO2A _-Z7twZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bRK_JSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRK_ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-Z7tv5SkEdmjauSjG8qO2A" name="extension$default__Class" type="_-Z1nbZSkEdmjauSjG8qO2A" association="_-Z7tvpSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bRK_pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRK_5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-Z7twJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLAJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLAZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Z7twpSkEdmjauSjG8qO2A" name="default__ClassEJBSessionType_Set">
-    <eAnnotations xmi:id="_-bRLApSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRLA5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Z7tw5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-Z7txJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7txZSkEdmjauSjG8qO2A" key="cardinal" value="200"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLBJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLBZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7txpSkEdmjauSjG8qO2A" name="Stateless">
-      <eAnnotations xmi:id="_-Z7tx5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7tyJSkEdmjauSjG8qO2A" key="cardinal" value="201"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLBpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLB5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7tyZSkEdmjauSjG8qO2A" name="Stateful">
-      <eAnnotations xmi:id="_-Z7typSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7ty5SkEdmjauSjG8qO2A" key="cardinal" value="202"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLCJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLCZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Z7tzJSkEdmjauSjG8qO2A" name="default__ClassEJBPersistenceType_Set">
-    <eAnnotations xmi:id="_-bRLCpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRLC5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Z7tzZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-Z7tzpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7tz5SkEdmjauSjG8qO2A" key="cardinal" value="220"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLDJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLDZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7t0JSkEdmjauSjG8qO2A" name="Bean">
-      <eAnnotations xmi:id="_-Z7t0ZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t0pSkEdmjauSjG8qO2A" key="cardinal" value="221"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLDpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLD5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7t05SkEdmjauSjG8qO2A" name="Container">
-      <eAnnotations xmi:id="_-Z7t1JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t1ZSkEdmjauSjG8qO2A" key="cardinal" value="222"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLEJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLEZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Z7t1pSkEdmjauSjG8qO2A" name="default__ClassCtor_Set">
-    <eAnnotations xmi:id="_-bRLEpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRLE5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Z7t15SkEdmjauSjG8qO2A" name="public">
-      <eAnnotations xmi:id="_-Z7t2JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t2ZSkEdmjauSjG8qO2A" key="cardinal" value="62"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLFJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLFZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7t2pSkEdmjauSjG8qO2A" name="protected">
-      <eAnnotations xmi:id="_-Z7t25SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t3JSkEdmjauSjG8qO2A" key="cardinal" value="63"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLFpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLF5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7t3ZSkEdmjauSjG8qO2A" name="private">
-      <eAnnotations xmi:id="_-Z7t3pSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t35SkEdmjauSjG8qO2A" key="cardinal" value="64"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLGJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLGZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7t4JSkEdmjauSjG8qO2A" name="package">
-      <eAnnotations xmi:id="_-Z7t4ZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t4pSkEdmjauSjG8qO2A" key="cardinal" value="65"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLGpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLG5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Z7t45SkEdmjauSjG8qO2A" name="default__ClassEJBTransactionType_Set">
-    <eAnnotations xmi:id="_-bRLHJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRLHZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Z7t5JSkEdmjauSjG8qO2A" name="Container">
-      <eAnnotations xmi:id="_-Z7t5ZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t5pSkEdmjauSjG8qO2A" key="cardinal" value="211"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLHpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLH5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7t55SkEdmjauSjG8qO2A" name="Bean">
-      <eAnnotations xmi:id="_-Z7t6JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t6ZSkEdmjauSjG8qO2A" key="cardinal" value="212"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLIJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLIZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-Z7t6pSkEdmjauSjG8qO2A" name="default__ClassEJBVersion_Set">
-    <eAnnotations xmi:id="_-bRLIpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bRLI5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-Z7t65SkEdmjauSjG8qO2A" name="2.0">
-      <eAnnotations xmi:id="_-Z7t7JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t7ZSkEdmjauSjG8qO2A" key="cardinal" value="230"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLJJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLJZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-Z7t7pSkEdmjauSjG8qO2A" name="1.x">
-      <eAnnotations xmi:id="_-Z7t75SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-Z7t8JSkEdmjauSjG8qO2A" key="cardinal" value="231"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bRLJpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLJ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-aB0mZSkEdmjauSjG8qO2A" name="default__Project">
-    <eAnnotations xmi:id="_-aB0mpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-aB0m5SkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-aB0nJSkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bRLKJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-aB0nZSkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-aB0npSkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-aB0opSkEdmjauSjG8qO2A" name="base$Model" association="_-aB0n5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bRLKZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLKpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9ndba86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH6-ZSkEdmjauSjG8qO2A" name="UserDefineTagApply3">
-      <eAnnotations xmi:id="_-bRLK5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLLJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH6-pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLLZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLLpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH6-5SkEdmjauSjG8qO2A" name="JavadocSince">
-      <eAnnotations xmi:id="_-bRLL5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLMJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH6_JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLMZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLMpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH6_ZSkEdmjauSjG8qO2A" name="GlobalImports">
-      <eAnnotations xmi:id="_-bRLM5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLNJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH6_pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLNZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLNpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH6_5SkEdmjauSjG8qO2A" name="GenerateDefaultReturnLine">
-      <eAnnotations xmi:id="_-bRLN5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLOJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7AJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRLOZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLOpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7AZSkEdmjauSjG8qO2A" name="InstanceVariablePrefix">
-      <eAnnotations xmi:id="_-bRLO5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLPJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7ApSkEdmjauSjG8qO2A" value="m_">
-        <eAnnotations xmi:id="_-bRLPZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLPpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7A5SkEdmjauSjG8qO2A" name="ShowCodegenDlg">
-      <eAnnotations xmi:id="_-bRLP5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLQJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7BJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLQZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLQpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7BZSkEdmjauSjG8qO2A" name="NoClassCustomDlg">
-      <eAnnotations xmi:id="_-bRLQ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLRJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7BpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLRZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLRpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7B5SkEdmjauSjG8qO2A" name="SCCProjectName">
-      <eAnnotations xmi:id="_-bRLR5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLSJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7CJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLSZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLSpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7CZSkEdmjauSjG8qO2A" name="UseTabs">
-      <eAnnotations xmi:id="_-bRLS5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLTJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7CpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLTZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLTpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7C5SkEdmjauSjG8qO2A" name="DefaultAttributeDataType">
-      <eAnnotations xmi:id="_-bRLT5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLUJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7DJSkEdmjauSjG8qO2A" value="int">
-        <eAnnotations xmi:id="_-bRLUZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLUpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7DZSkEdmjauSjG8qO2A" name="LocalPrefix">
-      <eAnnotations xmi:id="_-bRLU5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLVJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7DpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLVZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLVpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7D5SkEdmjauSjG8qO2A" name="UserDefineJavaDocTags">
-      <eAnnotations xmi:id="_-bRLV5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLWJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7EJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLWZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLWpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7EZSkEdmjauSjG8qO2A" name="LocalHomeSuffix">
-      <eAnnotations xmi:id="_-bRLW5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLXJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7EpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLXZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLXpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7E5SkEdmjauSjG8qO2A" name="UserDefineTagText2">
-      <eAnnotations xmi:id="_-bRLX5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLYJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7FJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLYZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLYpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7FZSkEdmjauSjG8qO2A" name="HomeSuffix">
-      <eAnnotations xmi:id="_-bRLY5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLZJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7FpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLZZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLZpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7F5SkEdmjauSjG8qO2A" name="VAJavaWorkingFolder">
-      <eAnnotations xmi:id="_-bRLZ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLaJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7GJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLaZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLapSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7GZSkEdmjauSjG8qO2A" name="DefaultEJBVersion">
-      <eAnnotations xmi:id="_-bRLa5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLbJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7GpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLbZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLbpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7G5SkEdmjauSjG8qO2A" name="MaxNumChars">
-      <eAnnotations xmi:id="_-bRLb5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLcJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8K86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_-aH7HJSkEdmjauSjG8qO2A" value="80">
-        <eAnnotations xmi:id="_-bRLcZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLcpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7HZSkEdmjauSjG8qO2A" name="UserDefineTagName2">
-      <eAnnotations xmi:id="_-bRLc5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLdJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7HpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLdZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLdpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7H5SkEdmjauSjG8qO2A" name="ServletDTDLocation">
-      <eAnnotations xmi:id="_-bRLd5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLeJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7IJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLeZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLepSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7IZSkEdmjauSjG8qO2A" name="UserDefineTagApply1">
-      <eAnnotations xmi:id="_-bRLe5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLfJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7IpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLfZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLfpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7I5SkEdmjauSjG8qO2A" name="GenerateRoseID">
-      <eAnnotations xmi:id="_-bRLf5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLgJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7JJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRLgZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLgpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7JZSkEdmjauSjG8qO2A" name="StopOnError">
-      <eAnnotations xmi:id="_-bRLg5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLhJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7JpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLhZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLhpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7J5SkEdmjauSjG8qO2A" name="JavadocVersion">
-      <eAnnotations xmi:id="_-bRLh5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLiJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7KJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLiZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLipSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7KZSkEdmjauSjG8qO2A" name="JavadocDefaultAuthor">
-      <eAnnotations xmi:id="_-bRLi5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLjJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7KpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLjZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLjpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7K5SkEdmjauSjG8qO2A" name="OpenBraceMethodStyle">
-      <eAnnotations xmi:id="_-bRLj5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLkJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7LJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRLkZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLkpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7LZSkEdmjauSjG8qO2A" name="AsteriskCommentStyle">
-      <eAnnotations xmi:id="_-bRLk5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLlJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7LpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLlZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLlpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7L5SkEdmjauSjG8qO2A" name="PrimaryKeySuffix">
-      <eAnnotations xmi:id="_-bRLl5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLmJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7MJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLmZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLmpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7MZSkEdmjauSjG8qO2A" name="Editor" type="_-aH68pSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bRLm5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLnJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aH7MpSkEdmjauSjG8qO2A" instance="_-aH685SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLnZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLnpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7M5SkEdmjauSjG8qO2A" name="UserDefineTagApply2">
-      <eAnnotations xmi:id="_-bRLn5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLoJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7NJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLoZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLopSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7NZSkEdmjauSjG8qO2A" name="GenerateDefaultJ2EEJavadoc">
-      <eAnnotations xmi:id="_-bRLo5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLpJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7NpSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRLpZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLppSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7N5SkEdmjauSjG8qO2A" name="SpacingItems">
-      <eAnnotations xmi:id="_-bRLp5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLqJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8K86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_-aH7OJSkEdmjauSjG8qO2A" value="3">
-        <eAnnotations xmi:id="_-bRLqZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLqpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7OZSkEdmjauSjG8qO2A" name="EJBDTDLocation">
-      <eAnnotations xmi:id="_-bRLq5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLrJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7OpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLrZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLrpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7O5SkEdmjauSjG8qO2A" name="CreateMissingDirectories">
-      <eAnnotations xmi:id="_-bRLr5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLsJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7PJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRLsZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLspSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7PZSkEdmjauSjG8qO2A" name="UserDefineTagText3">
-      <eAnnotations xmi:id="_-bRLs5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLtJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7PpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLtZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLtpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7P5SkEdmjauSjG8qO2A" name="RemoteSuffix">
-      <eAnnotations xmi:id="_-bRLt5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLuJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7QJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLuZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLupSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7QZSkEdmjauSjG8qO2A" name="ReferenceClasspath">
-      <eAnnotations xmi:id="_-bRLu5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLvJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7QpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLvZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLvpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7Q5SkEdmjauSjG8qO2A" name="OpenBraceClassStyle">
-      <eAnnotations xmi:id="_-bRLv5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLwJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7RJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRLwZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLwpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7RZSkEdmjauSjG8qO2A" name="LocalSuffix">
-      <eAnnotations xmi:id="_-bRLw5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLxJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7RpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLxZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLxpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7R5SkEdmjauSjG8qO2A" name="VM" type="_-aB0o5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bRLx5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLyJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aH7SJSkEdmjauSjG8qO2A" instance="_-aB0pJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLyZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLypSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7SZSkEdmjauSjG8qO2A" name="DefaultServletVersion">
-      <eAnnotations xmi:id="_-bRLy5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRLzJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7SpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRLzZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRLzpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7S5SkEdmjauSjG8qO2A" name="UsePrefixes">
-      <eAnnotations xmi:id="_-bRLz5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL0JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7TJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL0ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL0pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7TZSkEdmjauSjG8qO2A" name="BeanSuffix">
-      <eAnnotations xmi:id="_-bRL05SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL1JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7TpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL1ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL1pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7T5SkEdmjauSjG8qO2A" name="BeanPrefix">
-      <eAnnotations xmi:id="_-bRL15SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL2JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7UJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL2ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL2pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7UZSkEdmjauSjG8qO2A" name="SCCComment">
-      <eAnnotations xmi:id="_-bRL25SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL3JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7UpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL3ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL3pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7U5SkEdmjauSjG8qO2A" name="RootDir">
-      <eAnnotations xmi:id="_-bRL35SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL4JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7VJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL4ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL4pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7VZSkEdmjauSjG8qO2A" name="UserDefineTagText1">
-      <eAnnotations xmi:id="_-bRL45SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL5JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7VpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL5ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL5pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7V5SkEdmjauSjG8qO2A" name="UserDefineTagName1">
-      <eAnnotations xmi:id="_-bRL55SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL6JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7WJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL6ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL6pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7WZSkEdmjauSjG8qO2A" name="AutoSync">
-      <eAnnotations xmi:id="_-bRL65SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL7JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7WpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL7ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL7pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7W5SkEdmjauSjG8qO2A" name="JavadocAuthor">
-      <eAnnotations xmi:id="_-bRL75SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL8JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7XJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL8ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL8pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7XZSkEdmjauSjG8qO2A" name="RoseDefaultCommentStyle">
-      <eAnnotations xmi:id="_-bRL85SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL9JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7XpSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bRL9ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL9pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7X5SkEdmjauSjG8qO2A" name="SCCProjectSourceRoot">
-      <eAnnotations xmi:id="_-bRL95SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL-JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7YJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL-ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL-pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7YZSkEdmjauSjG8qO2A" name="JavaCommentStyle">
-      <eAnnotations xmi:id="_-bRL-5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bRL_JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7YpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bRL_ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bRL_pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7Y5SkEdmjauSjG8qO2A" name="DefaultOperationReturnType">
-      <eAnnotations xmi:id="_-bRL_5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXREJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7ZJSkEdmjauSjG8qO2A" value="void">
-        <eAnnotations xmi:id="_-bXREZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXREpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7ZZSkEdmjauSjG8qO2A" name="UserDefineTagName3">
-      <eAnnotations xmi:id="_-bXRE5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRFJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7ZpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRFZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRFpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7Z5SkEdmjauSjG8qO2A" name="JavadocDefaultVersion">
-      <eAnnotations xmi:id="_-bXRF5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRGJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7aJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRGZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRGpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7aZSkEdmjauSjG8qO2A" name="NotShowRoseIDDlg">
-      <eAnnotations xmi:id="_-bXRG5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRHJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aH7apSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRHZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRHpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7a5SkEdmjauSjG8qO2A" name="RemotePrefix">
-      <eAnnotations xmi:id="_-bXRH5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRIJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aH7bJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRIZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRIpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aH7bZSkEdmjauSjG8qO2A" name="UseSpaces">
-      <eAnnotations xmi:id="_-bXRI5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRJJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOBkJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bXRJZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRJpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBkZSkEdmjauSjG8qO2A" name="ClassVariablePrefix">
-      <eAnnotations xmi:id="_-bXRJ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRKJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOBkpSkEdmjauSjG8qO2A" value="s_">
-        <eAnnotations xmi:id="_-bXRKZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRKpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBk5SkEdmjauSjG8qO2A" name="JavadocDefaultSince">
-      <eAnnotations xmi:id="_-bXRK5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRLJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOBlJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRLZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRLpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBlZSkEdmjauSjG8qO2A" name="SCCSelected">
-      <eAnnotations xmi:id="_-bXRL5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRMJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOBlpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRMZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRMpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBl5SkEdmjauSjG8qO2A" name="HomePrefix">
-      <eAnnotations xmi:id="_-bXRM5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRNJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOBmJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRNZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRNpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBmZSkEdmjauSjG8qO2A" name="LocalHomePrefix">
-      <eAnnotations xmi:id="_-bXRN5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXROJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOBmpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXROZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXROpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBm5SkEdmjauSjG8qO2A" name="ClassPath">
-      <eAnnotations xmi:id="_-bXRO5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRPJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOBnJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRPZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRPpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBnZSkEdmjauSjG8qO2A" name="SourceControl">
-      <eAnnotations xmi:id="_-bXRP5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRQJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOBnpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRQZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRQpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBn5SkEdmjauSjG8qO2A" name="JavadocNumAsterisks">
-      <eAnnotations xmi:id="_-bXRQ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRRJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8K86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_-aOBoJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRRZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRRpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBoZSkEdmjauSjG8qO2A" name="PrimaryKeyPrefix">
-      <eAnnotations xmi:id="_-bXRR5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRSJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOBopSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRSZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRSpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aB0n5SkEdmjauSjG8qO2A" name="Model_default__Project" memberEnd="_-aB0oJSkEdmjauSjG8qO2A _-aB0opSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bXRS5SkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXRTJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aB0oJSkEdmjauSjG8qO2A" name="extension$default__Project" type="_-aB0mZSkEdmjauSjG8qO2A" association="_-aB0n5SkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bXRTZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRTpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aB0oZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRT5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRUJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aB0o5SkEdmjauSjG8qO2A" name="default__ProjectVMType">
-    <eAnnotations xmi:id="_-bXRUZSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXRUpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aB0pJSkEdmjauSjG8qO2A" name="Sun">
-      <eAnnotations xmi:id="_-aB0pZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aB0ppSkEdmjauSjG8qO2A" key="cardinal" value="200"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXRU5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRVJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aB0p5SkEdmjauSjG8qO2A" name="Microsoft">
-      <eAnnotations xmi:id="_-aB0qJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aB0qZSkEdmjauSjG8qO2A" key="cardinal" value="201"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXRVZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRVpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aB0qpSkEdmjauSjG8qO2A" name="IBM">
-      <eAnnotations xmi:id="_-aH68JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aH68ZSkEdmjauSjG8qO2A" key="cardinal" value="202"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXRV5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRWJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aH68pSkEdmjauSjG8qO2A" name="default__ProjectEditorType">
-    <eAnnotations xmi:id="_-bXRWZSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXRWpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aH685SkEdmjauSjG8qO2A" name="BuiltIn">
-      <eAnnotations xmi:id="_-aH69JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aH69ZSkEdmjauSjG8qO2A" key="cardinal" value="100"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXRW5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRXJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aH69pSkEdmjauSjG8qO2A" name="WindowsShell">
-      <eAnnotations xmi:id="_-aH695SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aH6-JSkEdmjauSjG8qO2A" key="cardinal" value="101"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXRXZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRXpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-aOBo5SkEdmjauSjG8qO2A" name="Default_EJB__Class">
-    <eAnnotations xmi:id="_-aOBpJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-aOBpZSkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-aOBppSkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bXRX5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-aOBp5SkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-aOBqJSkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-aOBrJSkEdmjauSjG8qO2A" name="base$Actor" association="_-aOBqZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXRYJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRYZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9ndca86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBsJSkEdmjauSjG8qO2A" name="base$Class" association="_-aOBrZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXRYpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRY5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m88uxq86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBtJSkEdmjauSjG8qO2A" name="base$Enumeration" association="_-aOBsZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXRZJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRZZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRea86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBuJSkEdmjauSjG8qO2A" name="base$Interface" association="_-aOBtZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXRZpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRZ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJoq86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBvJSkEdmjauSjG8qO2A" name="base$Signal" association="_-aOBuZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXRaJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRaZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJza86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOBwJSkEdmjauSjG8qO2A" name="base$PrimitiveType" association="_-aOBvZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXRapSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRa5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRsa86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOB8JSkEdmjauSjG8qO2A" name="EJBNameInJAR">
-      <eAnnotations xmi:id="_-bXRbJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRbZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOB8ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRbpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRb5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOB8pSkEdmjauSjG8qO2A" name="GenerateInstanceInitializer">
-      <eAnnotations xmi:id="_-bXRcJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRcZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOB85SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRcpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRc5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOB9JSkEdmjauSjG8qO2A" name="ServletgetInfo">
-      <eAnnotations xmi:id="_-bXRdJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRdZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOB9ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRdpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRd5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOB9pSkEdmjauSjG8qO2A" name="Final">
-      <eAnnotations xmi:id="_-bXReJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXReZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOB95SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRepSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRe5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOB-JSkEdmjauSjG8qO2A" name="ServletIntHeader">
-      <eAnnotations xmi:id="_-bXRfJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRfZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOB-ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRfpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRf5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOB-pSkEdmjauSjG8qO2A" name="GenerateStaticInitializer">
-      <eAnnotations xmi:id="_-bXRgJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRgZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOB-5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRgpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRg5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOB_JSkEdmjauSjG8qO2A" name="EJBCmpField">
-      <eAnnotations xmi:id="_-bXRhJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRhZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOB_ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRhpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRh5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOB_pSkEdmjauSjG8qO2A" name="MethodForHeaders">
-      <eAnnotations xmi:id="_-bXRiJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRiZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOB_5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRipSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRi5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCAJSkEdmjauSjG8qO2A" name="ServletContentType">
-      <eAnnotations xmi:id="_-bXRjJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRjZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOCAZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRjpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRj5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCApSkEdmjauSjG8qO2A" name="Static">
-      <eAnnotations xmi:id="_-bXRkJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRkZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCA5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRkpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRk5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCBJSkEdmjauSjG8qO2A" name="MethodForRequestAttributes">
-      <eAnnotations xmi:id="_-bXRlJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRlZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOCBZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRlpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRl5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCBpSkEdmjauSjG8qO2A" name="ServletSecurityRoles">
-      <eAnnotations xmi:id="_-bXRmJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRmZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOCB5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRmpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRm5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCCJSkEdmjauSjG8qO2A" name="ServletInitParameter">
-      <eAnnotations xmi:id="_-bXRnJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRnZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOCCZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRnpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRn5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCCpSkEdmjauSjG8qO2A" name="DispatcherForward">
-      <eAnnotations xmi:id="_-bXRoJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRoZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCC5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRopSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRo5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCDJSkEdmjauSjG8qO2A" name="ServletRequestParameterNames">
-      <eAnnotations xmi:id="_-bXRpJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRpZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCDZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRppSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRp5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCDpSkEdmjauSjG8qO2A" name="ServletCookie">
-      <eAnnotations xmi:id="_-bXRqJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRqZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCD5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRqpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRq5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCEJSkEdmjauSjG8qO2A" name="EJBReferences">
-      <eAnnotations xmi:id="_-bXRrJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRrZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aOCEZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRrpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRr5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCEpSkEdmjauSjG8qO2A" name="ServletContextRef">
-      <eAnnotations xmi:id="_-bXRsJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRsZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCE5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRspSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRs5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCFJSkEdmjauSjG8qO2A" name="GenerateDefaultConstructor">
-      <eAnnotations xmi:id="_-bXRtJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRtZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCFZSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bXRtpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRt5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCFpSkEdmjauSjG8qO2A" name="ServletIsSecure">
-      <eAnnotations xmi:id="_-bXRuJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRuZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCF5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRupSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRu5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCGJSkEdmjauSjG8qO2A" name="GenerateFinalizer">
-      <eAnnotations xmi:id="_-bXRvJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRvZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCGZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRvpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRv5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCGpSkEdmjauSjG8qO2A" name="EJBSessionType" type="_-aOBwZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXRwJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRwZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aOCG5SkEdmjauSjG8qO2A" instance="_-aOBwpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRwpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRw5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aOCHJSkEdmjauSjG8qO2A" name="DisableAutoSync">
-      <eAnnotations xmi:id="_-bXRxJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRxZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aOCHZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRxpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRx5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIMJSkEdmjauSjG8qO2A" name="ServletInitParameterNames">
-      <eAnnotations xmi:id="_-bXRyJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRyZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUIMZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRypSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRy5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIMpSkEdmjauSjG8qO2A" name="BMP_Extend_CMP">
-      <eAnnotations xmi:id="_-bXRzJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXRzZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUIM5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXRzpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXRz5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUINJSkEdmjauSjG8qO2A" name="EJBTransactionType" type="_-aOB4pSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXR0JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR0ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aUINZSkEdmjauSjG8qO2A" instance="_-aOB45SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR0pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR05SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUINpSkEdmjauSjG8qO2A" name="DispatcherInclude">
-      <eAnnotations xmi:id="_-bXR1JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR1ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUIN5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR1pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR15SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIOJSkEdmjauSjG8qO2A" name="ServletXMLFilePath">
-      <eAnnotations xmi:id="_-bXR2JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR2ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aUIOZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR2pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR25SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIOpSkEdmjauSjG8qO2A" name="ServletHeader">
-      <eAnnotations xmi:id="_-bXR3JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR3ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aUIO5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR3pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR35SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIPJSkEdmjauSjG8qO2A" name="ServletDateHeader">
-      <eAnnotations xmi:id="_-bXR4JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR4ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUIPZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR4pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR45SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIPpSkEdmjauSjG8qO2A" name="Strictfp">
-      <eAnnotations xmi:id="_-bXR5JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR5ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUIP5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR5pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR55SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIQJSkEdmjauSjG8qO2A" name="EJBSessionSync">
-      <eAnnotations xmi:id="_-bXR6JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR6ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUIQZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR6pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR65SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIQpSkEdmjauSjG8qO2A" name="EJBSecurityRoles">
-      <eAnnotations xmi:id="_-bXR7JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR7ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aUIQ5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR7pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR75SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIRJSkEdmjauSjG8qO2A" name="IsSingleThread">
-      <eAnnotations xmi:id="_-bXR8JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR8ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUIRZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR8pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR85SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUIRpSkEdmjauSjG8qO2A" name="ServletRequestDispatcherPath">
-      <eAnnotations xmi:id="_-bXR9JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR9ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aUIR5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR9pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR95SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUISJSkEdmjauSjG8qO2A" name="ServletRequestAttributesNames">
-      <eAnnotations xmi:id="_-bXR-JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR-ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUISZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR-pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR-5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUISpSkEdmjauSjG8qO2A" name="ServletHeaderNames">
-      <eAnnotations xmi:id="_-bXR_JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXR_ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aUIS5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXR_pSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXR_5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUITJSkEdmjauSjG8qO2A" name="MethodForCookie">
-      <eAnnotations xmi:id="_-bXSAJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSAZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aUITZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSApSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSA5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aUITpSkEdmjauSjG8qO2A" name="EJBVersion" type="_-aOB6ZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXSBJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSBZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aUIT5SkEdmjauSjG8qO2A" instance="_-aOB6pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSBpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSB5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO0JSkEdmjauSjG8qO2A" name="EJBPersistenceType" type="_-aOB2JSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXSCJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSCZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aaO0ZSkEdmjauSjG8qO2A" instance="_-aOB2ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSCpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSC5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO0pSkEdmjauSjG8qO2A" name="ConstructorIs" type="_-aOBy5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bXSDJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSDZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-aaO05SkEdmjauSjG8qO2A" instance="_-aOBzJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSDpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSD5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO1JSkEdmjauSjG8qO2A" name="ReadOnly">
-      <eAnnotations xmi:id="_-bXSEJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSEZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO1ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSEpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSE5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO1pSkEdmjauSjG8qO2A" name="Generate_XML_DD">
-      <eAnnotations xmi:id="_-bXSFJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSFZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO15SkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bXSFpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSF5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO2JSkEdmjauSjG8qO2A" name="ServletName">
-      <eAnnotations xmi:id="_-bXSGJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSGZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aaO2ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSGpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSG5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO2pSkEdmjauSjG8qO2A" name="EJBXMLFilePath">
-      <eAnnotations xmi:id="_-bXSHJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSHZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aaO25SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSHpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSH5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO3JSkEdmjauSjG8qO2A" name="EJBCnxFactory">
-      <eAnnotations xmi:id="_-bXSIJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSIZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aaO3ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSIpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSI5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO3pSkEdmjauSjG8qO2A" name="ServletRequestDispatcher">
-      <eAnnotations xmi:id="_-bXSJJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSJZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO35SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSJpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSJ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO4JSkEdmjauSjG8qO2A" name="EJBReentrant">
-      <eAnnotations xmi:id="_-bXSKJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSKZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO4ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSKpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSK5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO4pSkEdmjauSjG8qO2A" name="MethodForRequestParameters">
-      <eAnnotations xmi:id="_-bXSLJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSLZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aaO45SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSLpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSL5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO5JSkEdmjauSjG8qO2A" name="EJBEnvironmentProperties">
-      <eAnnotations xmi:id="_-bXSMJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSMZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aaO5ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSMpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSM5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO5pSkEdmjauSjG8qO2A" name="GenerateCode">
-      <eAnnotations xmi:id="_-bXSNJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSNZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO55SkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bXSNpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSN5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO6JSkEdmjauSjG8qO2A" name="ServletRequestParameter">
-      <eAnnotations xmi:id="_-bXSOJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSOZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aaO6ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSOpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSO5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO6pSkEdmjauSjG8qO2A" name="GenerateHTML">
-      <eAnnotations xmi:id="_-bXSPJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSPZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO65SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSPpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSP5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO7JSkEdmjauSjG8qO2A" name="ServletRequestAttribute">
-      <eAnnotations xmi:id="_-bXSQJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSQZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-aaO7ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSQpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSQ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aOBqZSkEdmjauSjG8qO2A" name="Actor_Default_EJB__Class" memberEnd="_-aOBqpSkEdmjauSjG8qO2A _-aOBrJSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bXSRJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXSRZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aOBqpSkEdmjauSjG8qO2A" name="extension$Default_EJB__Class" type="_-aOBo5SkEdmjauSjG8qO2A" association="_-aOBqZSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bXSRpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSR5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aOBq5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSSJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSSZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aOBrZSkEdmjauSjG8qO2A" name="Class_Default_EJB__Class" memberEnd="_-aOBrpSkEdmjauSjG8qO2A _-aOBsJSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bXSSpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXSS5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aOBrpSkEdmjauSjG8qO2A" name="extension$Default_EJB__Class" type="_-aOBo5SkEdmjauSjG8qO2A" association="_-aOBrZSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bXSTJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSTZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aOBr5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSTpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXST5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aOBsZSkEdmjauSjG8qO2A" name="Enumeration_Default_EJB__Class" memberEnd="_-aOBspSkEdmjauSjG8qO2A _-aOBtJSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bXSUJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXSUZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aOBspSkEdmjauSjG8qO2A" name="extension$Default_EJB__Class" type="_-aOBo5SkEdmjauSjG8qO2A" association="_-aOBsZSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bXSUpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSU5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aOBs5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSVJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSVZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aOBtZSkEdmjauSjG8qO2A" name="Interface_Default_EJB__Class" memberEnd="_-aOBtpSkEdmjauSjG8qO2A _-aOBuJSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bXSVpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXSV5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aOBtpSkEdmjauSjG8qO2A" name="extension$Default_EJB__Class" type="_-aOBo5SkEdmjauSjG8qO2A" association="_-aOBtZSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bXSWJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSWZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aOBt5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSWpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSW5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aOBuZSkEdmjauSjG8qO2A" name="Signal_Default_EJB__Class" memberEnd="_-aOBupSkEdmjauSjG8qO2A _-aOBvJSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bXSXJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXSXZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aOBupSkEdmjauSjG8qO2A" name="extension$Default_EJB__Class" type="_-aOBo5SkEdmjauSjG8qO2A" association="_-aOBuZSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bXSXpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSX5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aOBu5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSYJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSYZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aOBvZSkEdmjauSjG8qO2A" name="PrimitiveType_Default_EJB__Class" memberEnd="_-aOBvpSkEdmjauSjG8qO2A _-aOBwJSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bXSYpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXSY5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aOBvpSkEdmjauSjG8qO2A" name="extension$Default_EJB__Class" type="_-aOBo5SkEdmjauSjG8qO2A" association="_-aOBvZSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bXSZJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSZZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aOBv5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bXSZpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bXSZ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aOBwZSkEdmjauSjG8qO2A" name="Default_EJB__ClassEJBSessionType_Set">
-    <eAnnotations xmi:id="_-bXSaJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXSaZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aOBwpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-aOBw5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOBxJSkEdmjauSjG8qO2A" key="cardinal" value="200"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXSapSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSa5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOBxZSkEdmjauSjG8qO2A" name="Stateless">
-      <eAnnotations xmi:id="_-aOBxpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOBx5SkEdmjauSjG8qO2A" key="cardinal" value="201"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXSbJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSbZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOByJSkEdmjauSjG8qO2A" name="Stateful">
-      <eAnnotations xmi:id="_-aOByZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOBypSkEdmjauSjG8qO2A" key="cardinal" value="202"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXSbpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSb5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aOBy5SkEdmjauSjG8qO2A" name="Default_EJB__ClassCtor_Set">
-    <eAnnotations xmi:id="_-bXScJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXScZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aOBzJSkEdmjauSjG8qO2A" name="public">
-      <eAnnotations xmi:id="_-aOBzZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOBzpSkEdmjauSjG8qO2A" key="cardinal" value="62"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXScpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSc5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOBz5SkEdmjauSjG8qO2A" name="protected">
-      <eAnnotations xmi:id="_-aOB0JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB0ZSkEdmjauSjG8qO2A" key="cardinal" value="63"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXSdJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSdZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOB0pSkEdmjauSjG8qO2A" name="private">
-      <eAnnotations xmi:id="_-aOB05SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB1JSkEdmjauSjG8qO2A" key="cardinal" value="64"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXSdpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSd5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOB1ZSkEdmjauSjG8qO2A" name="package">
-      <eAnnotations xmi:id="_-aOB1pSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB15SkEdmjauSjG8qO2A" key="cardinal" value="65"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bXSeJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bXSeZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aOB2JSkEdmjauSjG8qO2A" name="Default_EJB__ClassEJBPersistenceType_Set">
-    <eAnnotations xmi:id="_-bXSepSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bXSe5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aOB2ZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-aOB2pSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB25SkEdmjauSjG8qO2A" key="cardinal" value="220"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdXsJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXsZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOB3JSkEdmjauSjG8qO2A" name="Bean">
-      <eAnnotations xmi:id="_-aOB3ZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB3pSkEdmjauSjG8qO2A" key="cardinal" value="221"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdXspSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXs5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOB35SkEdmjauSjG8qO2A" name="Container">
-      <eAnnotations xmi:id="_-aOB4JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB4ZSkEdmjauSjG8qO2A" key="cardinal" value="222"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdXtJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXtZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aOB4pSkEdmjauSjG8qO2A" name="Default_EJB__ClassEJBTransactionType_Set">
-    <eAnnotations xmi:id="_-bdXtpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bdXt5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aOB45SkEdmjauSjG8qO2A" name="Container">
-      <eAnnotations xmi:id="_-aOB5JSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB5ZSkEdmjauSjG8qO2A" key="cardinal" value="211"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdXuJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXuZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOB5pSkEdmjauSjG8qO2A" name="Bean">
-      <eAnnotations xmi:id="_-aOB55SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB6JSkEdmjauSjG8qO2A" key="cardinal" value="212"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdXupSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXu5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aOB6ZSkEdmjauSjG8qO2A" name="Default_EJB__ClassEJBVersion_Set">
-    <eAnnotations xmi:id="_-bdXvJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bdXvZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aOB6pSkEdmjauSjG8qO2A" name="2.0">
-      <eAnnotations xmi:id="_-aOB65SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB7JSkEdmjauSjG8qO2A" key="cardinal" value="230"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdXvpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXv5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aOB7ZSkEdmjauSjG8qO2A" name="1.x">
-      <eAnnotations xmi:id="_-aOB7pSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aOB75SkEdmjauSjG8qO2A" key="cardinal" value="231"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdXwJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXwZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-aaO7pSkEdmjauSjG8qO2A" name="default__Operation">
-    <eAnnotations xmi:id="_-aaO75SkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-aaO8JSkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-aaO8ZSkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bdXwpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-aaO8pSkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-aaO85SkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-aaO95SkEdmjauSjG8qO2A" name="base$Operation" association="_-aaO9JSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdXw5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXxJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9C2ja86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO-JSkEdmjauSjG8qO2A" name="ReplaceExistingCode">
-      <eAnnotations xmi:id="_-bdXxZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXxpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO-ZSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bdXx5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdXyJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO-pSkEdmjauSjG8qO2A" name="Final">
-      <eAnnotations xmi:id="_-bdXyZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXypSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO-5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdXy5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdXzJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO_JSkEdmjauSjG8qO2A" name="GenerateFullyQualifiedReturn">
-      <eAnnotations xmi:id="_-bdXzZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdXzpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO_ZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdXz5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX0JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaO_pSkEdmjauSjG8qO2A" name="Strictfp">
-      <eAnnotations xmi:id="_-bdX0ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX0pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaO_5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX05SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX1JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaPAJSkEdmjauSjG8qO2A" name="Native">
-      <eAnnotations xmi:id="_-bdX1ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX1pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaPAZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX15SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX2JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaPApSkEdmjauSjG8qO2A" name="Abstract">
-      <eAnnotations xmi:id="_-bdX2ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX2pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaPA5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX25SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX3JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaPBJSkEdmjauSjG8qO2A" name="Synchronized">
-      <eAnnotations xmi:id="_-bdX3ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX3pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaPBZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX35SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX4JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-aaPBpSkEdmjauSjG8qO2A" name="Static">
-      <eAnnotations xmi:id="_-bdX4ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX4pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-aaPB5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX45SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX5JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aaO9JSkEdmjauSjG8qO2A" name="Operation_default__Operation" memberEnd="_-aaO9ZSkEdmjauSjG8qO2A _-aaO95SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bdX5ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bdX5pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aaO9ZSkEdmjauSjG8qO2A" name="extension$default__Operation" type="_-aaO7pSkEdmjauSjG8qO2A" association="_-aaO9JSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bdX55SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX6JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aaO9pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX6ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX6pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-aaPCJSkEdmjauSjG8qO2A" name="default__Role">
-    <eAnnotations xmi:id="_-aaPCZSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-aaPCpSkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-aaPC5SkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bdX65SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-aaPDJSkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-aaPDZSkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-aaPEZSkEdmjauSjG8qO2A" name="base$Property" association="_-aaPDpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdX7JSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX7ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9C1la86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVcpSkEdmjauSjG8qO2A" name="ReadWrite" type="_-aaPEpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdX7pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX75SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-agVc5SkEdmjauSjG8qO2A" instance="_-aaPE5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX8JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX8ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVdJSkEdmjauSjG8qO2A" name="InitialValue">
-      <eAnnotations xmi:id="_-bdX8pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX85SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agVdZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX9JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX9ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVdpSkEdmjauSjG8qO2A" name="PropertyType" type="_-aaPHJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdX9pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX95SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-agVd5SkEdmjauSjG8qO2A" instance="_-aaPHZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX-JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX-ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVeJSkEdmjauSjG8qO2A" name="GenerateFullyQualifiedTypes">
-      <eAnnotations xmi:id="_-bdX-pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX-5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agVeZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdX_JSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdX_ZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVepSkEdmjauSjG8qO2A" name="Final">
-      <eAnnotations xmi:id="_-bdX_pSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdX_5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agVe5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYAJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYAZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVfJSkEdmjauSjG8qO2A" name="Transient">
-      <eAnnotations xmi:id="_-bdYApSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYA5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agVfZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYBJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYBZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVfpSkEdmjauSjG8qO2A" name="Volatile">
-      <eAnnotations xmi:id="_-bdYBpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYB5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agVf5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYCJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYCZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVgJSkEdmjauSjG8qO2A" name="IsNavigable">
-      <eAnnotations xmi:id="_-bdYCpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYC5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agVgZSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bdYDJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYDZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVgpSkEdmjauSjG8qO2A" name="IndividualChangeMgt">
-      <eAnnotations xmi:id="_-bdYDpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYD5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agVg5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYEJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYEZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVhJSkEdmjauSjG8qO2A" name="ContainerClass">
-      <eAnnotations xmi:id="_-bdYEpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYE5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agVhZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYFJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYFZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-aaPDpSkEdmjauSjG8qO2A" name="Property_default__Role" memberEnd="_-aaPD5SkEdmjauSjG8qO2A _-aaPEZSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bdYFpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bdYF5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-aaPD5SkEdmjauSjG8qO2A" name="extension$default__Role" type="_-aaPCJSkEdmjauSjG8qO2A" association="_-aaPDpSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bdYGJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYGZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-aaPEJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYGpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYG5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aaPEpSkEdmjauSjG8qO2A" name="default__RoleReadWrite_Set">
-    <eAnnotations xmi:id="_-bdYHJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bdYHZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aaPE5SkEdmjauSjG8qO2A" name="Read &amp; Write">
-      <eAnnotations xmi:id="_-aaPFJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aaPFZSkEdmjauSjG8qO2A" key="cardinal" value="81"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdYHpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYH5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aaPFpSkEdmjauSjG8qO2A" name="Read Only">
-      <eAnnotations xmi:id="_-aaPF5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aaPGJSkEdmjauSjG8qO2A" key="cardinal" value="82"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdYIJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYIZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aaPGZSkEdmjauSjG8qO2A" name="Write Only">
-      <eAnnotations xmi:id="_-aaPGpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aaPG5SkEdmjauSjG8qO2A" key="cardinal" value="83"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdYIpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYI5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-aaPHJSkEdmjauSjG8qO2A" name="default__RoleBeanProperty_Set">
-    <eAnnotations xmi:id="_-bdYJJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bdYJZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-aaPHZSkEdmjauSjG8qO2A" name="Not A Property">
-      <eAnnotations xmi:id="_-aaPHpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aaPH5SkEdmjauSjG8qO2A" key="cardinal" value="71"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdYJpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYJ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aaPIJSkEdmjauSjG8qO2A" name="Simple">
-      <eAnnotations xmi:id="_-aaPIZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aaPIpSkEdmjauSjG8qO2A" key="cardinal" value="72"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdYKJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYKZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aaPI5SkEdmjauSjG8qO2A" name="Bound">
-      <eAnnotations xmi:id="_-aaPJJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-aaPJZSkEdmjauSjG8qO2A" key="cardinal" value="73"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdYKpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYK5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-aaPJpSkEdmjauSjG8qO2A" name="Constrained">
-      <eAnnotations xmi:id="_-agVcJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVcZSkEdmjauSjG8qO2A" key="cardinal" value="74"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bdYLJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYLZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-agVhpSkEdmjauSjG8qO2A" name="Http_Servlet__Class">
-    <eAnnotations xmi:id="_-agVh5SkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-agViJSkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-agViZSkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bdYLpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-agVipSkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-agVi5SkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-agVj5SkEdmjauSjG8qO2A" name="base$Actor" association="_-agVjJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdYL5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYMJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9ndca86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVk5SkEdmjauSjG8qO2A" name="base$Class" association="_-agVkJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdYMZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYMpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m88uxq86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVl5SkEdmjauSjG8qO2A" name="base$Enumeration" association="_-agVlJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdYM5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYNJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRea86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVm5SkEdmjauSjG8qO2A" name="base$Interface" association="_-agVmJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdYNZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYNpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJoq86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVn5SkEdmjauSjG8qO2A" name="base$Signal" association="_-agVnJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdYN5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYOJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJza86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agVo5SkEdmjauSjG8qO2A" name="base$PrimitiveType" association="_-agVoJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdYOZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYOpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9bRsa86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV05SkEdmjauSjG8qO2A" name="EJBNameInJAR">
-      <eAnnotations xmi:id="_-bdYO5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYPJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agV1JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYPZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYPpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV1ZSkEdmjauSjG8qO2A" name="GenerateInstanceInitializer">
-      <eAnnotations xmi:id="_-bdYP5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYQJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agV1pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYQZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYQpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV15SkEdmjauSjG8qO2A" name="ServletgetInfo">
-      <eAnnotations xmi:id="_-bdYQ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYRJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agV2JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYRZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYRpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV2ZSkEdmjauSjG8qO2A" name="Final">
-      <eAnnotations xmi:id="_-bdYR5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYSJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agV2pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYSZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYSpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV25SkEdmjauSjG8qO2A" name="ServletIntHeader">
-      <eAnnotations xmi:id="_-bdYS5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYTJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agV3JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYTZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYTpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV3ZSkEdmjauSjG8qO2A" name="GenerateStaticInitializer">
-      <eAnnotations xmi:id="_-bdYT5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYUJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agV3pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYUZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYUpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV35SkEdmjauSjG8qO2A" name="EJBCmpField">
-      <eAnnotations xmi:id="_-bdYU5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYVJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agV4JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYVZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYVpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV4ZSkEdmjauSjG8qO2A" name="ServletContentType">
-      <eAnnotations xmi:id="_-bdYV5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYWJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agV4pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYWZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYWpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV45SkEdmjauSjG8qO2A" name="MethodForHeaders">
-      <eAnnotations xmi:id="_-bdYW5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYXJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agV5JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYXZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYXpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV5ZSkEdmjauSjG8qO2A" name="Static">
-      <eAnnotations xmi:id="_-bdYX5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYYJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agV5pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYYZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYYpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV55SkEdmjauSjG8qO2A" name="MethodForRequestAttributes">
-      <eAnnotations xmi:id="_-bdYY5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYZJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agV6JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYZZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYZpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV6ZSkEdmjauSjG8qO2A" name="ServletSecurityRoles">
-      <eAnnotations xmi:id="_-bdYZ5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYaJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agV6pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYaZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYapSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV65SkEdmjauSjG8qO2A" name="ServletInitParameter">
-      <eAnnotations xmi:id="_-bdYa5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYbJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-agV7JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYbZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYbpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV7ZSkEdmjauSjG8qO2A" name="DispatcherForward">
-      <eAnnotations xmi:id="_-bdYb5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYcJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agV7pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYcZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYcpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV75SkEdmjauSjG8qO2A" name="ServletRequestParameterNames">
-      <eAnnotations xmi:id="_-bdYc5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYdJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agV8JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYdZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYdpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV8ZSkEdmjauSjG8qO2A" name="ServletCookie">
-      <eAnnotations xmi:id="_-bdYd5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYeJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-agV8pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYeZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYepSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-agV85SkEdmjauSjG8qO2A" name="EJBReferences">
-      <eAnnotations xmi:id="_-bdYe5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYfJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-amcEJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYfZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYfpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcEZSkEdmjauSjG8qO2A" name="ServletContextRef">
-      <eAnnotations xmi:id="_-bdYf5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYgJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcEpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYgZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYgpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcE5SkEdmjauSjG8qO2A" name="GenerateDefaultConstructor">
-      <eAnnotations xmi:id="_-bdYg5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYhJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcFJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bdYhZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYhpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcFZSkEdmjauSjG8qO2A" name="ServletIsSecure">
-      <eAnnotations xmi:id="_-bdYh5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYiJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcFpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYiZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYipSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcF5SkEdmjauSjG8qO2A" name="GenerateFinalizer">
-      <eAnnotations xmi:id="_-bdYi5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYjJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcGJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYjZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYjpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcGZSkEdmjauSjG8qO2A" name="EJBSessionType" type="_-agVpJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdYj5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYkJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-amcGpSkEdmjauSjG8qO2A" instance="_-agVpZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYkZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYkpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcG5SkEdmjauSjG8qO2A" name="DisableAutoSync">
-      <eAnnotations xmi:id="_-bdYk5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYlJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcHJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYlZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYlpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcHZSkEdmjauSjG8qO2A" name="ServletInitParameterNames">
-      <eAnnotations xmi:id="_-bdYl5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYmJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcHpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYmZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYmpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcH5SkEdmjauSjG8qO2A" name="BMP_Extend_CMP">
-      <eAnnotations xmi:id="_-bdYm5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYnJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcIJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYnZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYnpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcIZSkEdmjauSjG8qO2A" name="EJBTransactionType" type="_-agVxZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdYn5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYoJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-amcIpSkEdmjauSjG8qO2A" instance="_-agVxpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYoZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYopSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcI5SkEdmjauSjG8qO2A" name="DispatcherInclude">
-      <eAnnotations xmi:id="_-bdYo5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYpJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcJJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYpZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYppSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcJZSkEdmjauSjG8qO2A" name="ServletHeader">
-      <eAnnotations xmi:id="_-bdYp5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYqJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-amcJpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYqZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYqpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcJ5SkEdmjauSjG8qO2A" name="ServletXMLFilePath">
-      <eAnnotations xmi:id="_-bdYq5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYrJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-amcKJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYrZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYrpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcKZSkEdmjauSjG8qO2A" name="ServletDateHeader">
-      <eAnnotations xmi:id="_-bdYr5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYsJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcKpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYsZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYspSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcK5SkEdmjauSjG8qO2A" name="Strictfp">
-      <eAnnotations xmi:id="_-bdYs5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYtJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcLJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYtZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYtpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcLZSkEdmjauSjG8qO2A" name="EJBSessionSync">
-      <eAnnotations xmi:id="_-bdYt5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYuJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcLpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYuZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYupSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcL5SkEdmjauSjG8qO2A" name="EJBSecurityRoles">
-      <eAnnotations xmi:id="_-bdYu5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYvJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-amcMJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYvZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYvpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcMZSkEdmjauSjG8qO2A" name="IsSingleThread">
-      <eAnnotations xmi:id="_-bdYv5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYwJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcMpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYwZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYwpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcM5SkEdmjauSjG8qO2A" name="ServletRequestAttributesNames">
-      <eAnnotations xmi:id="_-bdYw5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYxJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcNJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYxZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYxpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcNZSkEdmjauSjG8qO2A" name="ServletRequestDispatcherPath">
-      <eAnnotations xmi:id="_-bdYx5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYyJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-amcNpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYyZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYypSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcN5SkEdmjauSjG8qO2A" name="ServletHeaderNames">
-      <eAnnotations xmi:id="_-bdYy5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdYzJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcOJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdYzZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdYzpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcOZSkEdmjauSjG8qO2A" name="MethodForCookie">
-      <eAnnotations xmi:id="_-bdYz5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY0JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-amcOpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY0ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY0pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcO5SkEdmjauSjG8qO2A" name="EJBVersion" type="_-agVzJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdY05SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY1JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-amcPJSkEdmjauSjG8qO2A" instance="_-agVzZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY1ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY1pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcPZSkEdmjauSjG8qO2A" name="EJBPersistenceType" type="_-agVrpSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdY15SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY2JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-amcPpSkEdmjauSjG8qO2A" instance="_-agVr5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY2ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY2pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcP5SkEdmjauSjG8qO2A" name="ConstructorIs" type="_-agVuJSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bdY25SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY3JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <defaultValue xmi:type="uml:InstanceValue" xmi:id="_-amcQJSkEdmjauSjG8qO2A" instance="_-agVuZSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY3ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY3pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcQZSkEdmjauSjG8qO2A" name="ReadOnly">
-      <eAnnotations xmi:id="_-bdY35SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY4JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-amcQpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY4ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY4pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-amcQ5SkEdmjauSjG8qO2A" name="Generate_XML_DD">
-      <eAnnotations xmi:id="_-bdY45SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY5JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-asisJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bdY5ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY5pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asisZSkEdmjauSjG8qO2A" name="ServletName">
-      <eAnnotations xmi:id="_-bdY55SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY6JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asispSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY6ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY6pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asis5SkEdmjauSjG8qO2A" name="EJBXMLFilePath">
-      <eAnnotations xmi:id="_-bdY65SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY7JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asitJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY7ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY7pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asitZSkEdmjauSjG8qO2A" name="EJBCnxFactory">
-      <eAnnotations xmi:id="_-bdY75SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY8JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asitpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY8ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY8pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asit5SkEdmjauSjG8qO2A" name="ServletRequestDispatcher">
-      <eAnnotations xmi:id="_-bdY85SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY9JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-asiuJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY9ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY9pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asiuZSkEdmjauSjG8qO2A" name="EJBReentrant">
-      <eAnnotations xmi:id="_-bdY95SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY-JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-asiupSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY-ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY-pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asiu5SkEdmjauSjG8qO2A" name="MethodForRequestParameters">
-      <eAnnotations xmi:id="_-bdY-5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdY_JSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asivJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdY_ZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdY_pSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asivZSkEdmjauSjG8qO2A" name="EJBEnvironmentProperties">
-      <eAnnotations xmi:id="_-bdY_5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdZAJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asivpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdZAZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdZApSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asiv5SkEdmjauSjG8qO2A" name="GenerateCode">
-      <eAnnotations xmi:id="_-bdZA5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdZBJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-asiwJSkEdmjauSjG8qO2A" value="true">
-        <eAnnotations xmi:id="_-bdZBZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdZBpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asiwZSkEdmjauSjG8qO2A" name="ServletRequestParameter">
-      <eAnnotations xmi:id="_-bdZB5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdZCJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asiwpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdZCZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdZCpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asiw5SkEdmjauSjG8qO2A" name="GenerateHTML">
-      <eAnnotations xmi:id="_-bdZC5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdZDJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXfBUK86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_-asixJSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdZDZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdZDpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asixZSkEdmjauSjG8qO2A" name="ServletRequestAttribute">
-      <eAnnotations xmi:id="_-bdZD5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bdZEJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asixpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bdZEZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bdZEpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-agVjJSkEdmjauSjG8qO2A" name="Actor_Http_Servlet__Class" memberEnd="_-agVjZSkEdmjauSjG8qO2A _-agVj5SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bjeUJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjeUZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-agVjZSkEdmjauSjG8qO2A" name="extension$Http_Servlet__Class" type="_-agVhpSkEdmjauSjG8qO2A" association="_-agVjJSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bjeUpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeU5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-agVjpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjeVJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjeVZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-agVkJSkEdmjauSjG8qO2A" name="Class_Http_Servlet__Class" memberEnd="_-agVkZSkEdmjauSjG8qO2A _-agVk5SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bjeVpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjeV5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-agVkZSkEdmjauSjG8qO2A" name="extension$Http_Servlet__Class" type="_-agVhpSkEdmjauSjG8qO2A" association="_-agVkJSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bjeWJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeWZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-agVkpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjeWpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjeW5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-agVlJSkEdmjauSjG8qO2A" name="Enumeration_Http_Servlet__Class" memberEnd="_-agVlZSkEdmjauSjG8qO2A _-agVl5SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bjeXJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjeXZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-agVlZSkEdmjauSjG8qO2A" name="extension$Http_Servlet__Class" type="_-agVhpSkEdmjauSjG8qO2A" association="_-agVlJSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bjeXpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeX5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-agVlpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjeYJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjeYZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-agVmJSkEdmjauSjG8qO2A" name="Interface_Http_Servlet__Class" memberEnd="_-agVmZSkEdmjauSjG8qO2A _-agVm5SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bjeYpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjeY5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-agVmZSkEdmjauSjG8qO2A" name="extension$Http_Servlet__Class" type="_-agVhpSkEdmjauSjG8qO2A" association="_-agVmJSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bjeZJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeZZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-agVmpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjeZpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjeZ5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-agVnJSkEdmjauSjG8qO2A" name="Signal_Http_Servlet__Class" memberEnd="_-agVnZSkEdmjauSjG8qO2A _-agVn5SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bjeaJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjeaZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-agVnZSkEdmjauSjG8qO2A" name="extension$Http_Servlet__Class" type="_-agVhpSkEdmjauSjG8qO2A" association="_-agVnJSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bjeapSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjea5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-agVnpSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjebJSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjebZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-agVoJSkEdmjauSjG8qO2A" name="PrimitiveType_Http_Servlet__Class" memberEnd="_-agVoZSkEdmjauSjG8qO2A _-agVo5SkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bjebpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjeb5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-agVoZSkEdmjauSjG8qO2A" name="extension$Http_Servlet__Class" type="_-agVhpSkEdmjauSjG8qO2A" association="_-agVoJSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bjecJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjecZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-agVopSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjecpSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjec5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-agVpJSkEdmjauSjG8qO2A" name="Http_Servlet__ClassEJBSessionType_Set">
-    <eAnnotations xmi:id="_-bjedJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjedZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-agVpZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-agVppSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVp5SkEdmjauSjG8qO2A" key="cardinal" value="200"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjedpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjed5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agVqJSkEdmjauSjG8qO2A" name="Stateless">
-      <eAnnotations xmi:id="_-agVqZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVqpSkEdmjauSjG8qO2A" key="cardinal" value="201"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjeeJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeeZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agVq5SkEdmjauSjG8qO2A" name="Stateful">
-      <eAnnotations xmi:id="_-agVrJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVrZSkEdmjauSjG8qO2A" key="cardinal" value="202"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjeepSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjee5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-agVrpSkEdmjauSjG8qO2A" name="Http_Servlet__ClassEJBPersistenceType_Set">
-    <eAnnotations xmi:id="_-bjefJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjefZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-agVr5SkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-agVsJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVsZSkEdmjauSjG8qO2A" key="cardinal" value="220"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjefpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjef5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agVspSkEdmjauSjG8qO2A" name="Bean">
-      <eAnnotations xmi:id="_-agVs5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVtJSkEdmjauSjG8qO2A" key="cardinal" value="221"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjegJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjegZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agVtZSkEdmjauSjG8qO2A" name="Container">
-      <eAnnotations xmi:id="_-agVtpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVt5SkEdmjauSjG8qO2A" key="cardinal" value="222"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjegpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeg5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-agVuJSkEdmjauSjG8qO2A" name="Http_Servlet__ClassCtor_Set">
-    <eAnnotations xmi:id="_-bjehJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjehZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-agVuZSkEdmjauSjG8qO2A" name="public">
-      <eAnnotations xmi:id="_-agVupSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVu5SkEdmjauSjG8qO2A" key="cardinal" value="62"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjehpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeh5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agVvJSkEdmjauSjG8qO2A" name="protected">
-      <eAnnotations xmi:id="_-agVvZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVvpSkEdmjauSjG8qO2A" key="cardinal" value="63"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjeiJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeiZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agVv5SkEdmjauSjG8qO2A" name="private">
-      <eAnnotations xmi:id="_-agVwJSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVwZSkEdmjauSjG8qO2A" key="cardinal" value="64"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjeipSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjei5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agVwpSkEdmjauSjG8qO2A" name="package">
-      <eAnnotations xmi:id="_-agVw5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVxJSkEdmjauSjG8qO2A" key="cardinal" value="65"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjejJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjejZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-agVxZSkEdmjauSjG8qO2A" name="Http_Servlet__ClassEJBTransactionType_Set">
-    <eAnnotations xmi:id="_-bjejpSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjej5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-agVxpSkEdmjauSjG8qO2A" name="Container">
-      <eAnnotations xmi:id="_-agVx5SkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVyJSkEdmjauSjG8qO2A" key="cardinal" value="211"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjekJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjekZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agVyZSkEdmjauSjG8qO2A" name="Bean">
-      <eAnnotations xmi:id="_-agVypSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVy5SkEdmjauSjG8qO2A" key="cardinal" value="212"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjekpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjek5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_-agVzJSkEdmjauSjG8qO2A" name="Http_Servlet__ClassEJBVersion_Set">
-    <eAnnotations xmi:id="_-bjelJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjelZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedLiteral xmi:id="_-agVzZSkEdmjauSjG8qO2A" name="2.0">
-      <eAnnotations xmi:id="_-agVzpSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agVz5SkEdmjauSjG8qO2A" key="cardinal" value="230"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjelpSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjel5SkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-    <ownedLiteral xmi:id="_-agV0JSkEdmjauSjG8qO2A" name="1.x">
-      <eAnnotations xmi:id="_-agV0ZSkEdmjauSjG8qO2A" source="roseProperties">
-        <details xmi:id="_-agV0pSkEdmjauSjG8qO2A" key="cardinal" value="231"/>
-      </eAnnotations>
-      <eAnnotations xmi:id="_-bjemJSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjemZSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-    </ownedLiteral>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Stereotype" xmi:id="_-asix5SkEdmjauSjG8qO2A" name="default__ModuleSpec">
-    <eAnnotations xmi:id="_-asiyJSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-asiyZSkEdmjauSjG8qO2A" key="categoryName" value="Java"/>
-      <details xmi:id="_-asiypSkEdmjauSjG8qO2A" key="suppressed" value="true"/>
-      <details xmi:id="_-bjempSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_-asiy5SkEdmjauSjG8qO2A" source="keywords">
-      <details xmi:id="_-asizJSkEdmjauSjG8qO2A" key="taggedValueSet"/>
-    </eAnnotations>
-    <ownedAttribute xmi:id="_-asi0JSkEdmjauSjG8qO2A" name="base$Component" association="_-asizZSkEdmjauSjG8qO2A">
-      <eAnnotations xmi:id="_-bjem5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjenJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:Class" href="pathmap://UML2_METAMODELS/UML2.metamodel.uml2#_m9VJjK86EdiEh75YJ_3n8g"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asi0ZSkEdmjauSjG8qO2A" name="CmIdentification">
-      <eAnnotations xmi:id="_-bjenZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjenpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asi0pSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjen5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjeoJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_-asi05SkEdmjauSjG8qO2A" name="CopyrightNotice">
-      <eAnnotations xmi:id="_-bjeoZSkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeopSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <defaultValue xmi:type="uml:LiteralString" xmi:id="_-asi1JSkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjeo5SkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjepJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </defaultValue>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Extension" xmi:id="_-asizZSkEdmjauSjG8qO2A" name="Component_default__ModuleSpec" memberEnd="_-asizpSkEdmjauSjG8qO2A _-asi0JSkEdmjauSjG8qO2A">
-    <eAnnotations xmi:id="_-bjepZSkEdmjauSjG8qO2A" source="uml2.extensions">
-      <details xmi:id="_-bjeppSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-    </eAnnotations>
-    <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_-asizpSkEdmjauSjG8qO2A" name="extension$default__ModuleSpec" type="_-asix5SkEdmjauSjG8qO2A" association="_-asizZSkEdmjauSjG8qO2A" aggregation="composite">
-      <eAnnotations xmi:id="_-bjep5SkEdmjauSjG8qO2A" source="uml2.extensions">
-        <details xmi:id="_-bjeqJSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-      </eAnnotations>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-asiz5SkEdmjauSjG8qO2A">
-        <eAnnotations xmi:id="_-bjeqZSkEdmjauSjG8qO2A" source="uml2.extensions">
-          <details xmi:id="_-bjeqpSkEdmjauSjG8qO2A" key="addedInVersion" value="0"/>
-        </eAnnotations>
-      </lowerValue>
-    </ownedEnd>
-  </ownedMember>
-</uml:Profile>
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/Java.properties b/plugins/org.eclipse.wst.common.modulecore/model/Java.properties
deleted file mode 100644
index 563b5df..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/model/Java.properties
+++ /dev/null
@@ -1,428 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#Mon Mar 14 11:20:27 EST 2005
-Java__default__Class__EJBReferences=EJBReferences
-Java__default__Project__JavadocDefaultVersion=JavadocDefaultVersion
-Java__Http_Servlet__Class__GenerateInstanceInitializer=GenerateInstanceInitializer
-Java__Http_Servlet__Class__ServletInitParameterNames=ServletInitParameterNames
-Java__default__ProjectEditorType__WindowsShell=WindowsShell
-Java__Http_Servlet__Class__EJBSessionSync=EJBSessionSync
-Java__default__ProjectVMType__Sun=Sun
-Java__default__Role=default
-Java__default__ProjectVMType__Microsoft=Microsoft
-Java__Http_Servlet__Class__MethodForRequestParameters=MethodForRequestParameters
-Java__default__Project__SCCComment=SCCComment
-Java__Default_Servlet__Class__MethodForRequestAttributes=MethodForRequestAttributes
-Java__default__Class__EJBPersistenceType=EJBPersistenceType
-Java__Default_EJB__Class__IsSingleThread=IsSingleThread
-Java__default__Class__ServletRequestAttributesNames=ServletRequestAttributesNames
-Java__Default_EJB__Class__ServletInitParameter=ServletInitParameter
-Java__Default_Servlet__Class__GenerateHTML=GenerateHTML
-Java__default__Project__StopOnError=StopOnError
-Java__default__RoleReadWrite_Set__Read\ Only=Read Only
-Java__default__ClassCtor_Set__public=public
-Java__Default_EJB__Class__EJBCmpField=EJBCmpField
-Java__Default_Servlet__Class__MethodForHeaders=MethodForHeaders
-Java__Http_Servlet__Class__MethodForHeaders=MethodForHeaders
-Java__default__Operation__Static=Static
-Java__Default_Servlet__ClassCtor_Set=Ctor_Set
-Java__Default_EJB__Class__EJBReferences=EJBReferences
-Java__Default_EJB__Class__ServletIntHeader=ServletIntHeader
-Java__default__Class__DispatcherForward=DispatcherForward
-Java__Http_Servlet__ClassCtor_Set__private=private
-Java__default__Project__SCCProjectName=SCCProjectName
-Java__Default_Servlet__Class__ServletCookie=ServletCookie
-Java__default__Role__PropertyType=PropertyType
-Java__default__Class__EJBNameInJAR=EJBNameInJAR
-Java__Default_EJB__Class__MethodForCookie=MethodForCookie
-Java__Default_EJB__ClassEJBTransactionType_Set__Container=Container
-Java__Http_Servlet__Class__ServletCookie=ServletCookie
-Java__default__Class__EJBCmpField=EJBCmpField
-Java__Default_Servlet__Class__Strictfp=Strictfp
-Java__default__Operation=default
-Java__default__Project__UseSpaces=UseSpaces
-Java__default__Class__DispatcherInclude=DispatcherInclude
-Java__default__Class__ServletName=ServletName
-Java__Http_Servlet__Class__ServletIsSecure=ServletIsSecure
-Java__Default_EJB__Class__DispatcherForward=DispatcherForward
-Java__Http_Servlet__Class__EJBSessionType=EJBSessionType
-Java__default__Class__EJBTransactionType=EJBTransactionType
-Java__Http_Servlet__Class__EJBVersion=EJBVersion
-Java__Default_Servlet__Class__ServletXMLFilePath=ServletXMLFilePath
-Java__Default_Servlet__ClassEJBVersion_Set=EJBVersion_Set
-Java__Default_EJB__Class__DispatcherInclude=DispatcherInclude
-Java__default__Project__PrimaryKeySuffix=PrimaryKeySuffix
-Java__default__Operation__GenerateFullyQualifiedReturn=GenerateFullyQualifiedReturn
-Java__Default_Servlet__Class__ServletRequestParameter=ServletRequestParameter
-Java__default__Project__RemoteSuffix=RemoteSuffix
-Java__default__Attribute__Volatile=Volatile
-Java__Http_Servlet__Class__ServletInitParameter=ServletInitParameter
-Java__default__RoleReadWrite_Set__Write\ Only=Write Only
-Java__default__Project__VAJavaWorkingFolder=VAJavaWorkingFolder
-Java__Default_Servlet__ClassCtor_Set__private=private
-Java__Http_Servlet__Class__EJBEnvironmentProperties=EJBEnvironmentProperties
-Java__Default_EJB__Class__EJBCnxFactory=EJBCnxFactory
-Java__default__AttributeReadWrite_Set=Read/Write_Set
-Java__Default_Servlet__Class__ServletInitParameterNames=ServletInitParameterNames
-Java__default__AttributeReadWrite_Set__Write\ Only=Write Only
-Java__default__Project__BeanSuffix=BeanSuffix
-Java__default__Class__ServletHeader=ServletHeader
-Java__default__AttributeBeanProperty_Set__Constrained=Constrained
-Java__default__Class__EJBVersion=EJBVersion
-Java__Default_Servlet__Class__Static=Static
-Java__default__Class__MethodForRequestAttributes=MethodForRequestAttributes
-Java__default__Class__GenerateFinalizer=GenerateFinalizer
-Java__default__Operation__ReplaceExistingCode=ReplaceExistingCode
-Java__Default_EJB__Class__EJBNameInJAR=EJBNameInJAR
-Java__default__Class__ServletCookie=ServletCookie
-Java__Default_Servlet__ClassEJBSessionType_Set=EJBSessionType_Set
-Java__default__Project__SCCProjectSourceRoot=SCCProjectSourceRoot
-Java__default__Operation__Abstract=Abstract
-Java__Http_Servlet__ClassEJBSessionType_Set=EJBSessionType_Set
-Java__Http_Servlet__Class__IsSingleThread=IsSingleThread
-Java__default__RoleBeanProperty_Set__Bound=Bound
-Java__Default_EJB__Class__BMP_Extend_CMP=BMP_Extend_CMP
-Java__default__Role__ReadWrite=Read/Write
-Java__default__Project__DefaultServletVersion=DefaultServletVersion
-Java__Default_EJB__ClassEJBPersistenceType_Set__Bean=Bean
-Java__default__Operation__Strictfp=Strictfp
-Java__default__Project__LocalPrefix=LocalPrefix
-Java__default__ClassCtor_Set__private=private
-Java__default__Class__ServletDateHeader=ServletDateHeader
-Java__Default_EJB__Class__ServletCookie=ServletCookie
-Java__default__Project__DefaultOperationReturnType=DefaultOperationReturnType
-Java__Default_Servlet__ClassCtor_Set__public=public
-Java__Default_EJB__ClassCtor_Set__public=public
-Java__Http_Servlet__Class__ServletHeaderNames=ServletHeaderNames
-Java__default__Project__RootDir=RootDir
-Java__default__Class__EJBReentrant=EJBReentrant
-Java__default__Project__NotShowRoseIDDlg=NotShowRoseIDDlg
-Java__default__Project__HomeSuffix=HomeSuffix
-Java__Default_EJB__Class__EJBPersistenceType=EJBPersistenceType
-Java__default__Class__ServletIsSecure=ServletIsSecure
-Java__Default_Servlet__Class=Default_Servlet
-Java__Default_EJB__Class__ServletDateHeader=ServletDateHeader
-Java__default__Project__LocalHomePrefix=LocalHomePrefix
-Java__Http_Servlet__Class__DispatcherForward=DispatcherForward
-Java__Default_EJB__Class__Generate_XML_DD=Generate_XML_DD
-Java__Default_EJB__Class__DisableAutoSync=DisableAutoSync
-Java__default__ModuleSpec=default
-Java__Default_EJB__ClassEJBPersistenceType_Set__Container=Container
-Java__default__Project__UserDefineTagApply3=UserDefineTagApply3
-Java__default__Attribute__IndividualChangeMgt=IndividualChangeMgt
-Java__Default_EJB__ClassEJBTransactionType_Set__Bean=Bean
-Java__default__Project__UserDefineTagApply2=UserDefineTagApply2
-Java__Http_Servlet__Class__DispatcherInclude=DispatcherInclude
-Java__default__Project__UserDefineTagApply1=UserDefineTagApply1
-Java__default__ModuleSpec__CmIdentification=CmIdentification
-Java__default__RoleBeanProperty_Set=BeanProperty_Set
-Java__Default_Servlet__Class__DispatcherInclude=DispatcherInclude
-Java__default__Project__GlobalImports=GlobalImports
-Java__default__Class__MethodForHeaders=MethodForHeaders
-Java__default__Role__ContainerClass=ContainerClass
-Java__default__Project__BeanPrefix=BeanPrefix
-Java__default__Attribute__ReadWrite=Read/Write
-Java__default__Class__ServletRequestDispatcher=ServletRequestDispatcher
-Java__default__Project__UsePrefixes=UsePrefixes
-Java__default__AttributeReadWrite_Set__Read\ &\ Write=Read & Write
-Java__Default_Servlet__Class__IsSingleThread=IsSingleThread
-Java__Default_Servlet__Class__GenerateStaticInitializer=GenerateStaticInitializer
-Java__default__ClassCtor_Set__protected=protected
-Java__default__AttributeReadWrite_Set__Read\ Only=Read Only
-Java__Http_Servlet__Class__MethodForRequestAttributes=MethodForRequestAttributes
-Java__Default_EJB__Class__EJBReentrant=EJBReentrant
-Java__Default_Servlet__Class__EJBSecurityRoles=EJBSecurityRoles
-Java__Default_Servlet__Class__Final=Final
-Java__default__Operation__Native=Native
-Java__default__Class__EJBSessionSync=EJBSessionSync
-Java__Default_Servlet__Class__MethodForCookie=MethodForCookie
-Java__Http_Servlet__ClassCtor_Set=Ctor_Set
-Java__Default_EJB__Class__ServletName=ServletName
-Java__Http_Servlet__Class__EJBPersistenceType=EJBPersistenceType
-Java__Http_Servlet__Class__GenerateHTML=GenerateHTML
-Java__Default_Servlet__Class__ServletRequestDispatcher=ServletRequestDispatcher
-Java__default__Role__Final=Final
-Java__Default_EJB__Class__ServletRequestDispatcherPath=ServletRequestDispatcherPath
-Java__Default_EJB__ClassCtor_Set__protected=protected
-Java__Default_EJB__Class__EJBEnvironmentProperties=EJBEnvironmentProperties
-Java__Default_Servlet__ClassEJBPersistenceType_Set__Bean=Bean
-Java__default__Attribute__Final=Final
-Java__Default_EJB__ClassEJBSessionType_Set__Stateful=Stateful
-Java__Default_Servlet__Class__GenerateFinalizer=GenerateFinalizer
-Java__default__Project__SpacingItems=SpacingItems
-Java__default__Class__EJBCnxFactory=EJBCnxFactory
-Java__default__Project__EJBDTDLocation=EJBDTDLocation
-Java__Default_Servlet__ClassEJBTransactionType_Set=EJBTransactionType_Set
-Java__Http_Servlet__ClassCtor_Set__public=public
-Java__default__ClassEJBTransactionType_Set=EJBTransactionType_Set
-Java__default__Project__SourceControl=SourceControl
-Java__default__Operation__Final=Final
-Java__Http_Servlet__Class__EJBTransactionType=EJBTransactionType
-Java__default__Class__GenerateHTML=GenerateHTML
-Java__default__Project__ServletDTDLocation=ServletDTDLocation
-Java__default__Role__InitialValue=InitialValue
-Java__Http_Servlet__ClassEJBVersion_Set=EJBVersion_Set
-Java__Default_EJB__Class__ServletHeaderNames=ServletHeaderNames
-Java__default__Class__EJBSessionType=EJBSessionType
-Java__Http_Servlet__Class__ServletDateHeader=ServletDateHeader
-Java__default__Project__DefaultEJBVersion=DefaultEJBVersion
-Java__Default_Servlet__Class__ServletSecurityRoles=ServletSecurityRoles
-Java__default__Project__AutoSync=AutoSync
-Java__default__Project__ClassPath=ClassPath
-Java__default__Class__ServletSecurityRoles=ServletSecurityRoles
-Java__Default_Servlet__ClassEJBTransactionType_Set__Bean=Bean
-Java__Default_Servlet__Class__ServletDateHeader=ServletDateHeader
-Java__Default_EJB__Class__ServletInitParameterNames=ServletInitParameterNames
-Java__Default_EJB__ClassCtor_Set__package=package
-Java__Default_Servlet__ClassEJBVersion_Set__2.0=2.0
-Java__default__ClassEJBSessionType_Set=EJBSessionType_Set
-Java__Default_Servlet__Class__GenerateCode=GenerateCode
-Java__default__Project__NoClassCustomDlg=NoClassCustomDlg
-Java__Http_Servlet__Class__Static=Static
-Java__Default_EJB__Class__ServletRequestAttribute=ServletRequestAttribute
-Java__default__Project__UserDefineJavaDocTags=UserDefineJavaDocTags
-Java__Default_EJB__Class=Default_EJB
-Java__default__Class__ServletXMLFilePath=ServletXMLFilePath
-Java__Http_Servlet__Class__ServletRequestParameter=ServletRequestParameter
-Java__default__Project=default
-Java__Default_EJB__Class__ServletRequestParameterNames=ServletRequestParameterNames
-Java__default__Class__ServletContextRef=ServletContextRef
-Java__Http_Servlet__Class__Generate_XML_DD=Generate_XML_DD
-Java__default__Role__IsNavigable=IsNavigable
-Java__default__RoleBeanProperty_Set__Not\ A\ Property=Not A Property
-Java__Default_EJB__Class__Final=Final
-Java__Default_EJB__Class__GenerateFinalizer=GenerateFinalizer
-Java__default__ClassEJBTransactionType_Set__Container=Container
-Java__Default_Servlet__Class__BMP_Extend_CMP=BMP_Extend_CMP
-Java__default__ClassEJBPersistenceType_Set__Bean=Bean
-Java__Default_EJB__Class__ServletContextRef=ServletContextRef
-Java__Default_EJB__Class__ServletContentType=ServletContentType
-Java__default__Project__JavadocDefaultSince=JavadocDefaultSince
-Java__default__Project__JavadocSince=JavadocSince
-Java__default__Class__ServletRequestAttribute=ServletRequestAttribute
-Java__Default_EJB__Class__ServletSecurityRoles=ServletSecurityRoles
-Java__Default_Servlet__ClassEJBTransactionType_Set__Container=Container
-Java__default__Project__SCCSelected=SCCSelected
-Java__Default_Servlet__Class__EJBVersion=EJBVersion
-Java__Default_EJB__Class__GenerateHTML=GenerateHTML
-Java__Default_Servlet__Class__GenerateDefaultConstructor=GenerateDefaultConstructor
-Java__default__ClassEJBVersion_Set__2.0=2.0
-Java__default__Project__InstanceVariablePrefix=InstanceVariablePrefix
-Java__Default_Servlet__ClassEJBSessionType_Set__Stateful=Stateful
-Java__Http_Servlet__ClassCtor_Set__protected=protected
-Java__Default_Servlet__Class__ServletHeaderNames=ServletHeaderNames
-Java__Default_EJB__Class__MethodForRequestParameters=MethodForRequestParameters
-Java__default__Class__ServletgetInfo=ServletgetInfo
-Java__Default_Servlet__Class__ConstructorIs=ConstructorIs
-Java__Default_Servlet__Class__Generate_XML_DD=Generate_XML_DD
-Java__Default_EJB__Class__MethodForHeaders=MethodForHeaders
-Java__Default_Servlet__Class__DisableAutoSync=DisableAutoSync
-Java__default__RoleBeanProperty_Set__Constrained=Constrained
-Java__Default_Servlet__Class__EJBReentrant=EJBReentrant
-Java__Default_Servlet__ClassCtor_Set__protected=protected
-Java__Default_Servlet__Class__ServletIntHeader=ServletIntHeader
-Java__Http_Servlet__Class__ConstructorIs=ConstructorIs
-Java__Default_EJB__ClassEJBVersion_Set__2.0=2.0
-Java__Default_EJB__Class__ServletIsSecure=ServletIsSecure
-Java__default__ModuleBody__CmIdentification=CmIdentification
-Java__Http_Servlet__Class__ServletRequestAttribute=ServletRequestAttribute
-Java__default__Attribute__GenerateFullyQualifiedTypes=GenerateFullyQualifiedTypes
-Java__default__ClassEJBTransactionType_Set__Bean=Bean
-Java__Default_Servlet__Class__EJBReferences=EJBReferences
-Java__default__Project__ShowCodegenDlg=ShowCodegenDlg
-Java__default__Project__PrimaryKeyPrefix=PrimaryKeyPrefix
-Java__default__Class__EJBXMLFilePath=EJBXMLFilePath
-Java__default__Project__RemotePrefix=RemotePrefix
-Java__default__Project__JavadocNumAsterisks=JavadocNumAsterisks
-Java__Http_Servlet__Class__MethodForCookie=MethodForCookie
-Java__default__Class__ReadOnly=ReadOnly
-Java__default__Role__Transient=Transient
-Java__default__RoleBeanProperty_Set__Simple=Simple
-Java__Default_EJB__Class__Static=Static
-Java__default__Class__GenerateStaticInitializer=GenerateStaticInitializer
-Java__default__Project__VM=VM
-Java__Http_Servlet__Class__ServletSecurityRoles=ServletSecurityRoles
-Java__Default_Servlet__ClassEJBVersion_Set__1.x=1.x
-Java__default__Project__UseTabs=UseTabs
-Java__Http_Servlet__Class__ServletRequestAttributesNames=ServletRequestAttributesNames
-Java__default__Class__Static=Static
-Java__Default_EJB__Class__EJBTransactionType=EJBTransactionType
-Java__default__Project__ClassVariablePrefix=ClassVariablePrefix
-Java__Http_Servlet__Class__ServletRequestDispatcherPath=ServletRequestDispatcherPath
-Java__default__Class__EJBSecurityRoles=EJBSecurityRoles
-Java__Http_Servlet__Class__ServletContentType=ServletContentType
-Java__default__Project__UserDefineTagText3=UserDefineTagText3
-Java__default__Project__UserDefineTagText2=UserDefineTagText2
-Java__default__Project__UserDefineTagText1=UserDefineTagText1
-Java__Default_EJB__Class__GenerateStaticInitializer=GenerateStaticInitializer
-Java__default__ProjectVMType__IBM=IBM
-Java__Default_Servlet__ClassEJBPersistenceType_Set=EJBPersistenceType_Set
-Java__Http_Servlet__Class__EJBSecurityRoles=EJBSecurityRoles
-Java__default__Project__JavadocDefaultAuthor=JavadocDefaultAuthor
-Java__default__ClassEJBPersistenceType_Set=EJBPersistenceType_Set
-Java__Http_Servlet__Class__BMP_Extend_CMP=BMP_Extend_CMP
-Java__Default_Servlet__Class__EJBPersistenceType=EJBPersistenceType
-Java__default__Class__GenerateDefaultConstructor=GenerateDefaultConstructor
-Java__Default_Servlet__ClassEJBSessionType_Set__Stateless=Stateless
-Java__default__ClassEJBSessionType_Set__Stateful=Stateful
-Java__default__ClassEJBSessionType_Set__Stateless=Stateless
-Java__Http_Servlet__Class__GenerateFinalizer=GenerateFinalizer
-Java__Http_Servlet__ClassCtor_Set__package=package
-Java__Default_EJB__Class__ServletRequestParameter=ServletRequestParameter
-Java__default__Project__RoseDefaultCommentStyle=RoseDefaultCommentStyle
-Java__Default_EJB__Class__GenerateDefaultConstructor=GenerateDefaultConstructor
-Java__Default_Servlet__Class__GenerateInstanceInitializer=GenerateInstanceInitializer
-Java__Default_EJB__Class__EJBVersion=EJBVersion
-Java__default__Class__GenerateInstanceInitializer=GenerateInstanceInitializer
-Java__default__Class__ServletRequestDispatcherPath=ServletRequestDispatcherPath
-Java__Default_Servlet__Class__EJBNameInJAR=EJBNameInJAR
-Java__Http_Servlet__Class__ServletContextRef=ServletContextRef
-Java__Default_EJB__ClassEJBSessionType_Set=EJBSessionType_Set
-Java__Http_Servlet__ClassEJBPersistenceType_Set__Bean=Bean
-Java__default__ClassEJBVersion_Set__1.x=1.x
-Java__default__Project__ReferenceClasspath=ReferenceClasspath
-Java__default__ClassEJBPersistenceType_Set__Container=Container
-Java__default__Role__IndividualChangeMgt=IndividualChangeMgt
-Java__Default_Servlet__Class__ServletContextRef=ServletContextRef
-Java__Http_Servlet__Class__EJBNameInJAR=EJBNameInJAR
-Java__Default_Servlet__Class__MethodForRequestParameters=MethodForRequestParameters
-Java__default__Project__MaxNumChars=MaxNumChars
-Java__default__Attribute__Transient=Transient
-Java__default__Class__ServletInitParameterNames=ServletInitParameterNames
-Java__Http_Servlet__Class__ServletRequestDispatcher=ServletRequestDispatcher
-Java__Http_Servlet__Class__ReadOnly=ReadOnly
-Java__default__Project__HomePrefix=HomePrefix
-Java__Default_EJB__Class__ConstructorIs=ConstructorIs
-Java__Default_EJB__ClassEJBVersion_Set__1.x=1.x
-Java__Default_Servlet__ClassEJBPersistenceType_Set__Container=Container
-Java__Default_Servlet__Class__EJBTransactionType=EJBTransactionType
-Java__default__Class__ServletRequestParameter=ServletRequestParameter
-Java__Http_Servlet__Class__ServletRequestParameterNames=ServletRequestParameterNames
-Java__Default_Servlet__Class__ServletHeader=ServletHeader
-Java__Default_EJB__Class__ReadOnly=ReadOnly
-Java__Default_Servlet__ClassCtor_Set__package=package
-Java__Http_Servlet__ClassEJBVersion_Set__2.0=2.0
-Java__Default_EJB__ClassEJBPersistenceType_Set=EJBPersistenceType_Set
-Java__Default_EJB__Class__ServletRequestAttributesNames=ServletRequestAttributesNames
-Java__default__Class__EJBEnvironmentProperties=EJBEnvironmentProperties
-Java__Http_Servlet__Class__ServletHeader=ServletHeader
-Java__Default_Servlet__Class__ServletgetInfo=ServletgetInfo
-Java__Default_EJB__Class__ServletgetInfo=ServletgetInfo
-Java__default__Project__LocalSuffix=LocalSuffix
-Java__default__Project__OpenBraceMethodStyle=OpenBraceMethodStyle
-Java__Http_Servlet__Class__EJBCmpField=EJBCmpField
-Java__default__Class__MethodForCookie=MethodForCookie
-Java__Http_Servlet__ClassEJBTransactionType_Set__Bean=Bean
-Java__Default_EJB__ClassEJBSessionType_Set__Stateless=Stateless
-Java__Http_Servlet__Class__ServletName=ServletName
-Java__default__ProjectEditorType=EditorType
-Java__Default_EJB__Class__GenerateInstanceInitializer=GenerateInstanceInitializer
-Java__Http_Servlet__Class__GenerateCode=GenerateCode
-Java__default__Project__GenerateRoseID=GenerateRoseID
-Java__Default_Servlet__Class__EJBXMLFilePath=EJBXMLFilePath
-Java__Default_EJB__ClassEJBTransactionType_Set=EJBTransactionType_Set
-Java__Default_EJB__Class__EJBXMLFilePath=EJBXMLFilePath
-Java__Default_Servlet__Class__EJBEnvironmentProperties=EJBEnvironmentProperties
-Java__default__Project__LocalHomeSuffix=LocalHomeSuffix
-Java__Http_Servlet__Class__DisableAutoSync=DisableAutoSync
-Java__Http_Servlet__ClassEJBTransactionType_Set__Container=Container
-Java__default__Project__UserDefineTagName3=UserDefineTagName3
-Java__default__Project__UserDefineTagName2=UserDefineTagName2
-Java__default__Project__UserDefineTagName1=UserDefineTagName1
-Java__default__ClassEJBVersion_Set=EJBVersion_Set
-Java__default__Class__ServletRequestParameterNames=ServletRequestParameterNames
-Java__Http_Servlet__Class=Http_Servlet
-Java__Http_Servlet__Class__ServletXMLFilePath=ServletXMLFilePath
-Java__Default_EJB__ClassCtor_Set=Ctor_Set
-Java__default__Project__Editor=Editor
-Java__default__Project__OpenBraceClassStyle=OpenBraceClassStyle
-Java__default__AttributeBeanProperty_Set__Bound=Bound
-Java__default__ClassCtor_Set=Ctor_Set
-Java__default__ModuleSpec__CopyrightNotice=CopyrightNotice
-Java__default__Attribute=default
-Java__default__RoleReadWrite_Set=Read/Write_Set
-Java__default__Project__JavadocVersion=JavadocVersion
-Java__default__ProjectVMType=VMType
-Java__default__Class__ServletIntHeader=ServletIntHeader
-Java__Http_Servlet__ClassEJBPersistenceType_Set=EJBPersistenceType_Set
-Java__Default_Servlet__Class__ServletRequestDispatcherPath=ServletRequestDispatcherPath
-Java__Default_Servlet__Class__ReadOnly=ReadOnly
-Java__default__RoleReadWrite_Set__Read\ &\ Write=Read & Write
-Java__default__ModuleBody=default
-Java__default__ClassCtor_Set__package=package
-Java__default__Class__IsSingleThread=IsSingleThread
-Java__default__Project__GenerateDefaultReturnLine=GenerateDefaultReturnLine
-Java__default__Class__GenerateCode=GenerateCode
-Java__default__Class__MethodForRequestParameters=MethodForRequestParameters
-Java__default__Class=default
-Java__Default_EJB__ClassCtor_Set__private=private
-Java__Http_Servlet__Class__GenerateDefaultConstructor=GenerateDefaultConstructor
-Java__Default_Servlet__Class__ServletIsSecure=ServletIsSecure
-Java__default__Class__Strictfp=Strictfp
-Java__default__Role__Volatile=Volatile
-Java__Default_Servlet__Class__EJBSessionSync=EJBSessionSync
-Java__Default_EJB__Class__EJBSecurityRoles=EJBSecurityRoles
-Java__Default_EJB__Class__EJBSessionSync=EJBSessionSync
-Java__default__Project__AsteriskCommentStyle=AsteriskCommentStyle
-Java__Http_Servlet__ClassEJBSessionType_Set__Stateful=Stateful
-Java__Http_Servlet__Class__ServletIntHeader=ServletIntHeader
-Java__Http_Servlet__ClassEJBTransactionType_Set=EJBTransactionType_Set
-Java__Default_EJB__Class__MethodForRequestAttributes=MethodForRequestAttributes
-Java__Http_Servlet__Class__Final=Final
-Java__Http_Servlet__Class__EJBReentrant=EJBReentrant
-Java__Http_Servlet__ClassEJBVersion_Set__1.x=1.x
-Java__default__Project__JavaCommentStyle=JavaCommentStyle
-Java__Http_Servlet__Class__EJBReferences=EJBReferences
-Java__default__AttributeBeanProperty_Set__Simple=Simple
-Java__Default_Servlet__Class__ServletRequestAttribute=ServletRequestAttribute
-Java__Http_Servlet__Class__GenerateStaticInitializer=GenerateStaticInitializer
-Java__Default_EJB__Class__ServletHeader=ServletHeader
-Java__Default_EJB__ClassEJBVersion_Set=EJBVersion_Set
-Java__default__Project__DefaultAttributeDataType=DefaultAttributeDataType
-Java__Http_Servlet__Class__ServletgetInfo=ServletgetInfo
-Java__Default_Servlet__Class__EJBCmpField=EJBCmpField
-Java__default__Class__ServletHeaderNames=ServletHeaderNames
-Java__Default_Servlet__Class__ServletName=ServletName
-Java__Default_Servlet__Class__ServletRequestAttributesNames=ServletRequestAttributesNames
-Java__default__AttributeBeanProperty_Set=BeanProperty_Set
-Java__default__Operation__Synchronized=Synchronized
-Java__Default_Servlet__Class__ServletContentType=ServletContentType
-Java__Default_Servlet__Class__EJBSessionType=EJBSessionType
-Java__Default_EJB__Class__EJBSessionType=EJBSessionType
-Java__default__ModuleBody__CopyrightNotice=CopyrightNotice
-Java__default__Class__Final=Final
-Java__Default_Servlet__Class__ServletRequestParameterNames=ServletRequestParameterNames
-Java__Default_EJB__Class__GenerateCode=GenerateCode
-Java__Http_Servlet__Class__EJBXMLFilePath=EJBXMLFilePath
-Java__default__Project__GenerateDefaultJ2EEJavadoc=GenerateDefaultJ2EEJavadoc
-Java__Default_EJB__Class__ServletRequestDispatcher=ServletRequestDispatcher
-Java__default__ProjectEditorType__BuiltIn=BuiltIn
-Java__Default_Servlet__Class__ServletInitParameter=ServletInitParameter
-Java__default__Class__Generate_XML_DD=Generate_XML_DD
-Java__default__Class__DisableAutoSync=DisableAutoSync
-Java__default__Class__ServletInitParameter=ServletInitParameter
-Java__default__AttributeBeanProperty_Set__Not\ A\ Property=Not A Property
-Java__Http_Servlet__Class__Strictfp=Strictfp
-Java__Default_Servlet__Class__EJBCnxFactory=EJBCnxFactory
-Java__default__Project__CreateMissingDirectories=CreateMissingDirectories
-Java__default__Class__ConstructorIs=ConstructorIs
-Java__default__Role__GenerateFullyQualifiedTypes=GenerateFullyQualifiedTypes
-Java__Default_Servlet__Class__DispatcherForward=DispatcherForward
-Java__Http_Servlet__Class__EJBCnxFactory=EJBCnxFactory
-Java__default__Attribute__PropertyType=PropertyType
-Java__Default_EJB__Class__Strictfp=Strictfp
-Java__Default_EJB__Class__ServletXMLFilePath=ServletXMLFilePath
-Java__Http_Servlet__ClassEJBPersistenceType_Set__Container=Container
-Java__default__Class__ServletContentType=ServletContentType
-Java__Http_Servlet__ClassEJBSessionType_Set__Stateless=Stateless
-Java__default__Class__BMP_Extend_CMP=BMP_Extend_CMP
-=
-Java__default__Project__JavadocAuthor=JavadocAuthor
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/VirtualPathAPI.emx b/plugins/org.eclipse.wst.common.modulecore/model/VirtualPathAPI.emx
deleted file mode 100644
index 8ce023c..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/model/VirtualPathAPI.emx
+++ /dev/null
@@ -1,517 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--xtools2_universal_type_manager-->
-<uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.ibm.com/xtools/1.5.0/Notation" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xmlns:umlnotation="http://www.ibm.com/xtools/1.5.0/Umlnotation" xmi:id="_XP2kcLqvEdmTwLcLkpAHPw" name="VirtualPathAPI" appliedProfile="_XSiFALqvEdmTwLcLkpAHPw _XUP8QLqvEdmTwLcLkpAHPw _XU0kALqvEdmTwLcLkpAHPw _XWoh4LqvEdmTwLcLkpAHPw _XZsc8LqvEdmTwLcLkpAHPw">
-  <eAnnotations xmi:id="_XP2kcbqvEdmTwLcLkpAHPw" source="uml2.diagrams" references="_XP2kcrqvEdmTwLcLkpAHPw">
-    <contents xmi:type="notation:Diagram" xmi:id="_XP2kcrqvEdmTwLcLkpAHPw" type="Class" name="Main">
-      <children xmi:id="_sLnKELsaEdmrmcil1Bx04w" sourceEdges="_sxPmsLsaEdmrmcil1Bx04w _sxPmuLsaEdmrmcil1Bx04w" targetEdges="_sxbz_bsaEdmrmcil1Bx04w _sxh6krsaEdmrmcil1Bx04w _sxoBOLsaEdmrmcil1Bx04w _sx0OcLsaEdmrmcil1Bx04w">
-        <children xmi:id="_sMGSQLsaEdmrmcil1Bx04w" type="ImageCompartment">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_sMGSQbsaEdmrmcil1Bx04w" width="530" height="530"/>
-        </children>
-        <children xmi:id="_sMGSQrsaEdmrmcil1Bx04w" type="Stereotype">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sMGSQ7saEdmrmcil1Bx04w" type="Kind">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sMGSRLsaEdmrmcil1Bx04w" type="Name">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sM3HQLsaEdmrmcil1Bx04w" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sM3HQbsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sM9N4LsaEdmrmcil1Bx04w" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sM9N4bsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sM9N4rsaEdmrmcil1Bx04w" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sM9N47saEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_sLnKEbsaEdmrmcil1Bx04w" showStereotype="Label" useClassifierShape="true"/>
-        <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sLnKErsaEdmrmcil1Bx04w" x="318" y="2544"/>
-      </children>
-      <children xmi:id="_skEGULsaEdmrmcil1Bx04w" sourceEdges="_sxVtUbsaEdmrmcil1Bx04w" targetEdges="_sxuH0LsaEdmrmcil1Bx04w">
-        <children xmi:id="_skEGU7saEdmrmcil1Bx04w" type="ImageCompartment">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_skEGVLsaEdmrmcil1Bx04w" width="530" height="530"/>
-        </children>
-        <children xmi:id="_skEGVbsaEdmrmcil1Bx04w" type="Stereotype">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_skEGVrsaEdmrmcil1Bx04w" type="Kind">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_skEGV7saEdmrmcil1Bx04w" type="Name">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_skEGWLsaEdmrmcil1Bx04w" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_skEGWbsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_skEGWrsaEdmrmcil1Bx04w" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_skEGW7saEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_skKM8LsaEdmrmcil1Bx04w" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_skKM8bsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_skEGUbsaEdmrmcil1Bx04w" showStereotype="Label" useClassifierShape="true"/>
-        <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_skEGUrsaEdmrmcil1Bx04w" x="8268" y="14628"/>
-      </children>
-      <children xmi:id="_sku0sLsaEdmrmcil1Bx04w" sourceEdges="_sxVtWLsaEdmrmcil1Bx04w" targetEdges="_sxuH4LsaEdmrmcil1Bx04w">
-        <children xmi:id="_sku0s7saEdmrmcil1Bx04w" type="ImageCompartment">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_sku0tLsaEdmrmcil1Bx04w" width="530" height="530"/>
-        </children>
-        <children xmi:id="_sku0tbsaEdmrmcil1Bx04w" type="Stereotype">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sku0trsaEdmrmcil1Bx04w" type="Kind">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sku0t7saEdmrmcil1Bx04w" type="Name">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sku0uLsaEdmrmcil1Bx04w" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sku0ubsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sku0ursaEdmrmcil1Bx04w" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sku0u7saEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sku0vLsaEdmrmcil1Bx04w" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sku0vbsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_sku0sbsaEdmrmcil1Bx04w" showStereotype="Label" useClassifierShape="true"/>
-        <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sku0srsaEdmrmcil1Bx04w" x="20034" y="2544"/>
-      </children>
-      <children xmi:id="_sl-K0LsaEdmrmcil1Bx04w">
-        <children xmi:id="_sl-K07saEdmrmcil1Bx04w" type="ImageCompartment">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_sl-K1LsaEdmrmcil1Bx04w" width="1320" height="1320"/>
-        </children>
-        <children xmi:id="_sl-K1bsaEdmrmcil1Bx04w" type="Stereotype">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_smERcLsaEdmrmcil1Bx04w" type="Name">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_smERcbsaEdmrmcil1Bx04w" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_smERcrsaEdmrmcil1Bx04w" filtering="Manual">
-            <filteredObjects xmi:type="uml:Property" href="vizref:///#jfield^vcore.target=uml2.Property^name=name[jsrctype^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-            <filteredObjects xmi:type="uml:Property" href="vizref:///#jfield^vcore.target=uml2.Property^name=toString[jsrctype^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-            <filteredObjects xmi:type="uml:Property" href="vizref:///#jfield^vcore.target=uml2.Property^name=hashCode[jsrctype^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </styles>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_smERc7saEdmrmcil1Bx04w" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_smERdLsaEdmrmcil1Bx04w" filtering="Manual">
-            <filteredObjects xmi:type="uml:Operation" href="vizref:///#jmethod^vcore.target=uml2.Operation^name=ComponentHandle^sign=(QIProject%3bQString%3b)V[jsrctype^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </styles>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_smERdbsaEdmrmcil1Bx04w" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_smERdrsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_snOIALsaEdmrmcil1Bx04w" visible="false" type="StructureCompartment">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_snOIAbsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_sl-K0bsaEdmrmcil1Bx04w" showStereotype="Label"/>
-        <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentHandle[jcu^name=ComponentHandle.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sl-K0rsaEdmrmcil1Bx04w" x="13674" y="2544"/>
-      </children>
-      <children xmi:id="_sqLVYLsaEdmrmcil1Bx04w" sourceEdges="_sxbz_bsaEdmrmcil1Bx04w" targetEdges="_sxoBMLsaEdmrmcil1Bx04w">
-        <children xmi:id="_sqLVY7saEdmrmcil1Bx04w" type="ImageCompartment">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_sqLVZLsaEdmrmcil1Bx04w" width="530" height="530"/>
-        </children>
-        <children xmi:id="_sqLVZbsaEdmrmcil1Bx04w" type="Stereotype">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sqLVZrsaEdmrmcil1Bx04w" type="Kind">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sqRcALsaEdmrmcil1Bx04w" type="Name">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sqRcAbsaEdmrmcil1Bx04w" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sqRcArsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sqRcA7saEdmrmcil1Bx04w" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sqRcBLsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sqRcBbsaEdmrmcil1Bx04w" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sqRcBrsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_sqLVYbsaEdmrmcil1Bx04w" showStereotype="Label" useClassifierShape="true"/>
-        <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sqLVYrsaEdmrmcil1Bx04w" x="1590" y="14628"/>
-      </children>
-      <children xmi:id="_sqv9ILsaEdmrmcil1Bx04w" sourceEdges="_sxh6krsaEdmrmcil1Bx04w _sxoBMLsaEdmrmcil1Bx04w _sxoBOLsaEdmrmcil1Bx04w _sxuH0LsaEdmrmcil1Bx04w" targetEdges="_sxPmuLsaEdmrmcil1Bx04w _sxVtUbsaEdmrmcil1Bx04w _sx0OeLsaEdmrmcil1Bx04w">
-        <children xmi:id="_sq2DwLsaEdmrmcil1Bx04w" type="ImageCompartment">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_sq2DwbsaEdmrmcil1Bx04w" width="530" height="530"/>
-        </children>
-        <children xmi:id="_sq2DwrsaEdmrmcil1Bx04w" type="Stereotype">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sq2Dw7saEdmrmcil1Bx04w" type="Kind">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sq2DxLsaEdmrmcil1Bx04w" type="Name">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sq2DxbsaEdmrmcil1Bx04w" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sq2DxrsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sq2Dx7saEdmrmcil1Bx04w" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sq2DyLsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_sq2DybsaEdmrmcil1Bx04w" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_sq2DyrsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_sqv9IbsaEdmrmcil1Bx04w" showStereotype="Label" useClassifierShape="true"/>
-        <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sqv9IrsaEdmrmcil1Bx04w" x="8586" y="2544"/>
-      </children>
-      <children xmi:id="_ssd0YLsaEdmrmcil1Bx04w" sourceEdges="_sxuH2LsaEdmrmcil1Bx04w">
-        <children xmi:id="_ssd0Y7saEdmrmcil1Bx04w" type="ImageCompartment">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_ssd0ZLsaEdmrmcil1Bx04w" width="530" height="530"/>
-        </children>
-        <children xmi:id="_ssd0ZbsaEdmrmcil1Bx04w" type="Stereotype">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_ssd0ZrsaEdmrmcil1Bx04w" type="Kind">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_ssd0Z7saEdmrmcil1Bx04w" type="Name">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_ssd0aLsaEdmrmcil1Bx04w" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ssd0absaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_ssd0arsaEdmrmcil1Bx04w" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ssd0a7saEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_ssd0bLsaEdmrmcil1Bx04w" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ssd0bbsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_ssd0YbsaEdmrmcil1Bx04w" showStereotype="Label" useClassifierShape="true"/>
-        <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ssd0YrsaEdmrmcil1Bx04w" x="20034" y="10812" width="4871"/>
-      </children>
-      <children xmi:id="_stPQcLsaEdmrmcil1Bx04w" sourceEdges="_sxuH4LsaEdmrmcil1Bx04w _sx0OcLsaEdmrmcil1Bx04w _sx0OeLsaEdmrmcil1Bx04w" targetEdges="_sxPmsLsaEdmrmcil1Bx04w _sxVtWLsaEdmrmcil1Bx04w _sxuH2LsaEdmrmcil1Bx04w">
-        <children xmi:id="_stPQc7saEdmrmcil1Bx04w" type="ImageCompartment">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_stPQdLsaEdmrmcil1Bx04w" width="530" height="530"/>
-        </children>
-        <children xmi:id="_stPQdbsaEdmrmcil1Bx04w" type="Stereotype">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_stPQdrsaEdmrmcil1Bx04w" type="Kind">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_stPQd7saEdmrmcil1Bx04w" type="Name">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_stPQeLsaEdmrmcil1Bx04w" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_stPQebsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_stVXELsaEdmrmcil1Bx04w" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_stVXEbsaEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_stVXErsaEdmrmcil1Bx04w" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_stVXE7saEdmrmcil1Bx04w"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_stPQcbsaEdmrmcil1Bx04w" showStereotype="Label" useClassifierShape="true"/>
-        <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_stPQcrsaEdmrmcil1Bx04w" x="13674" y="9222"/>
-      </children>
-      <styles xmi:type="umlnotation:UMLDiagramStyle" xmi:id="_XP2kc7qvEdmTwLcLkpAHPw"/>
-      <edges xmi:id="_sxPmsLsaEdmrmcil1Bx04w" source="_sLnKELsaEdmrmcil1Bx04w" target="_stPQcLsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxPms7saEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sxPmtbsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxPmt7saEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxPmtrsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxPmtLsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxPmsbsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxPmsrsaEdmrmcil1Bx04w" points="[3254, 4445, -9763, 1005]$[6773, 4445, -6244, 1005]$[6773, 4393, -6244, 953]$[10716, 4393, -2301, 953]"/>
-      </edges>
-      <edges xmi:id="_sxPmuLsaEdmrmcil1Bx04w" source="_sLnKELsaEdmrmcil1Bx04w" target="_sqv9ILsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxPmu7saEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sxPmvbsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxVtULsaEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxPmvrsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxPmvLsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxPmubsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxPmursaEdmrmcil1Bx04w" points="[3254, -3148, -3996, -529]$[5318, -3148, -1932, -529]"/>
-      </edges>
-      <edges xmi:id="_sxVtUbsaEdmrmcil1Bx04w" source="_skEGULsaEdmrmcil1Bx04w" target="_sqv9ILsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxVtVLsaEdmrmcil1Bx04w" type="NameLabel">
-          <children xmi:id="_sxVtVrsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxVtV7saEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxVtVbsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxVtUrsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxVtU7saEdmrmcil1Bx04w" points="[132, -1085, -265, 10795]$[132, -8678, -265, 3202]"/>
-      </edges>
-      <edges xmi:id="_sxVtWLsaEdmrmcil1Bx04w" source="_sku0sLsaEdmrmcil1Bx04w" target="_stPQcLsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxbz8LsaEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sxbz8rsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxbz9LsaEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxbz87saEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxbz8bsaEdmrmcil1Bx04w" x="-98" y="338"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxVtWbsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxVtWrsaEdmrmcil1Bx04w" points="[-3175, 583, 3758, -6032]$[-4181, 583, 2752, -6032]$[-4181, 4551, 2752, -2064]$[-4657, 4551, 2276, -2064]"/>
-      </edges>
-      <edges xmi:id="_sxbz_bsaEdmrmcil1Bx04w" source="_sqLVYLsaEdmrmcil1Bx04w" target="_sLnKELsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxb0ALsaEdmrmcil1Bx04w" type="NameLabel">
-          <children xmi:id="_sxh6kLsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxh6kbsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxb0AbsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxbz_rsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxbz_7saEdmrmcil1Bx04w" points="[741, -1058, -2143, 15214]$[741, -10478, -2143, 5794]"/>
-      </edges>
-      <edges xmi:id="_sxh6krsaEdmrmcil1Bx04w" source="_sqv9ILsaEdmrmcil1Bx04w" target="_sLnKELsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxh6lbsaEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sxh6l7saEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxh6mbsaEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxh6mLsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxh6lrsaEdmrmcil1Bx04w" x="81" y="-1070"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxh6k7saEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxh6lLsaEdmrmcil1Bx04w" points="[1481, -3175, 2381, 7488]$[1481, -4869, 2381, 5794]"/>
-      </edges>
-      <edges xmi:id="_sxoBMLsaEdmrmcil1Bx04w" source="_sqv9ILsaEdmrmcil1Bx04w" target="_sqLVYLsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxoBM7saEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sxoBNbsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxoBN7saEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxoBNrsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxoBNLsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxoBMbsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFile[jcu^name=IVirtualFile.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxoBMrsaEdmrmcil1Bx04w" points="[-1587, 3202, 5372, -6773]$[-1587, 4154, 5372, -5821]$[-2910, 4154, 4049, -5821]$[-2910, 9948, 4049, -27]$[-4974, 9948, 1985, -27]"/>
-      </edges>
-      <edges xmi:id="_sxoBOLsaEdmrmcil1Bx04w" source="_sqv9ILsaEdmrmcil1Bx04w" target="_sLnKELsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxoBO7saEdmrmcil1Bx04w" type="NameLabel">
-          <children xmi:id="_sxoBPbsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxoBPrsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxoBPLsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxoBObsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxoBOrsaEdmrmcil1Bx04w" points="[-80, -3175, 820, 7488]$[-80, -4869, 820, 5794]"/>
-      </edges>
-      <edges xmi:id="_sxuH0LsaEdmrmcil1Bx04w" source="_sqv9ILsaEdmrmcil1Bx04w" target="_skEGULsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxuH07saEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sxuH1bsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxuH17saEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxuH1rsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxuH1LsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxuH0bsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualFolder[jcu^name=IVirtualFolder.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxuH0rsaEdmrmcil1Bx04w" points="[-979, 3202, -900, -6773]$[-979, 8890, -900, -1085]"/>
-      </edges>
-      <edges xmi:id="_sxuH2LsaEdmrmcil1Bx04w" source="_ssd0YLsaEdmrmcil1Bx04w" target="_stPQcLsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxuH27saEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sxuH3bsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxuH37saEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxuH3rsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxuH3LsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxuH2bsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IFlexibleProject[jcu^name=IFlexibleProject.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxuH2rsaEdmrmcil1Bx04w" points="[-1, 3201, -768, -4155]$[767, 4789, 0, -2567]"/>
-      </edges>
-      <edges xmi:id="_sxuH4LsaEdmrmcil1Bx04w" source="_stPQcLsaEdmrmcil1Bx04w" target="_sku0sLsaEdmrmcil1Bx04w">
-        <children xmi:id="_sxuH47saEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sxuH5bsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxuH57saEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sxuH5rsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sxuH5LsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sxuH4bsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualReference[jcu^name=IVirtualReference.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sxuH4rsaEdmrmcil1Bx04w" points="[2276, -1349, -4657, 5266]$[3125, -1349, -3808, 5266]$[3125, -5503, -3808, 1112]$[3125, -5530, -3808, 1085]$[3758, -5530, -3175, 1085]"/>
-      </edges>
-      <edges xmi:id="_sx0OcLsaEdmrmcil1Bx04w" source="_stPQcLsaEdmrmcil1Bx04w" target="_sLnKELsaEdmrmcil1Bx04w">
-        <children xmi:id="_sx0Oc7saEdmrmcil1Bx04w" type="KindLabel">
-          <children xmi:id="_sx0OdbsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sx0Od7saEdmrmcil1Bx04w" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sx0OdrsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sx0OdLsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sx0OcbsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualResource[jcu^name=IVirtualResource.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sx0OcrsaEdmrmcil1Bx04w" points="[-2275, 1799, 10742, 5239]$[-9763, 1799, 3254, 5239]"/>
-      </edges>
-      <edges xmi:id="_sx0OeLsaEdmrmcil1Bx04w" source="_stPQcLsaEdmrmcil1Bx04w" target="_sqv9ILsaEdmrmcil1Bx04w">
-        <children xmi:id="_sx0Oe7saEdmrmcil1Bx04w" type="NameLabel">
-          <children xmi:id="_sx0OfbsaEdmrmcil1Bx04w" type="Stereotype">
-            <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_sx6VELsaEdmrmcil1Bx04w" type="Name">
-            <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_sx0OfLsaEdmrmcil1Bx04w" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_sx0OebsaEdmrmcil1Bx04w" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Generalization" href="vizref:///#jgen^vcore.target=uml2.Generalization[jsrctype^name=IVirtualComponent[jcu^name=IVirtualComponent.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IVirtualContainer[jcu^name=IVirtualContainer.java[jpack^name=org.eclipse.wst.common.componentcore.resources[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sx0OersaEdmrmcil1Bx04w" points="[-2275, -1217, 3492, 4842]$[-4709, -1217, 1058, 4842]$[-4709, -2857, 1058, 3202]"/>
-      </edges>
-    </contents>
-  </eAnnotations>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_XSiFALqvEdmTwLcLkpAHPw">
-    <eAnnotations xmi:id="_XSiFAbqvEdmTwLcLkpAHPw" source="attributes">
-      <details xmi:id="_XSiFArqvEdmTwLcLkpAHPw" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Basic.profile.uml2#_6mFRgK86Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Basic.profile.uml2#_6mFRgK86Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_XUP8QLqvEdmTwLcLkpAHPw">
-    <eAnnotations xmi:id="_XUP8QbqvEdmTwLcLkpAHPw" source="attributes">
-      <details xmi:id="_XUoWwLqvEdmTwLcLkpAHPw" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Intermediate.profile.uml2#_Cz7csK87Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Intermediate.profile.uml2#_Cz7csK87Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_XU0kALqvEdmTwLcLkpAHPw">
-    <eAnnotations xmi:id="_XU0kAbqvEdmTwLcLkpAHPw" source="attributes">
-      <details xmi:id="_XU0kArqvEdmTwLcLkpAHPw" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Complete.profile.uml2#_M7pTkK87Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Complete.profile.uml2#_M7pTkK87Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_XWoh4LqvEdmTwLcLkpAHPw">
-    <eAnnotations xmi:id="_XWoh4bqvEdmTwLcLkpAHPw" source="attributes">
-      <details xmi:id="_XWoh4rqvEdmTwLcLkpAHPw" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default"/>
-    <importedProfile href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_XZsc8LqvEdmTwLcLkpAHPw">
-    <eAnnotations xmi:id="_XZsc8bqvEdmTwLcLkpAHPw" source="attributes">
-      <details xmi:id="_XZsc8rqvEdmTwLcLkpAHPw" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment"/>
-    <importedProfile href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment"/>
-  </packageImport>
-  <packageImport xmi:id="_XiSYQLqvEdmTwLcLkpAHPw">
-    <importedPackage xmi:type="uml:Model" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_EfRZoK86EdieaYgxtVWN8Q"/>
-  </packageImport>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_WZvHQLscEdmrmcil1Bx04w" name="Enumeration1"/>
-</uml:Model>
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.ecore b/plugins/org.eclipse.wst.common.modulecore/model/componentCore.ecore
deleted file mode 100644
index 1e885f6..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.ecore
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="componentcore"
-    nsURI="componentcore.xmi" nsPrefix="org.eclipse.wst.common.componentcore">
-  <eClassifiers xsi:type="ecore:EClass" name="WorkbenchComponent">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
-        defaultValueLiteral=""/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="resources" unique="false"
-        upperBound="-1" eType="#//ComponentResource" containment="true" eOpposite="#//ComponentResource/component"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="componentType" unique="false"
-        lowerBound="1" eType="#//ComponentType" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="referencedComponents" unique="false"
-        upperBound="-1" eType="#//ReferencedComponent" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
-        eType="#//Property"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="metadataResources" upperBound="-1"
-        eType="#//IPath"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ComponentResource">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sourcePath" lowerBound="1"
-        eType="#//IPath"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="runtimePath" lowerBound="1"
-        eType="#//IPath"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="exclusions" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="component" unique="false"
-        lowerBound="1" eType="#//WorkbenchComponent" eOpposite="#//WorkbenchComponent/resources"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="resourceType" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="IPath" instanceClassName="org.eclipse.core.runtime.IPath">
-    <eAnnotations source="keywords">
-      <details key="datatype"/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ComponentType">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="componentTypeId" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
-        eType="#//Property"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="metadataResources" upperBound="-1"
-        eType="#//IPath"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Property">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
-        defaultValueLiteral=""/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
-        defaultValueLiteral=""/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ReferencedComponent">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="handle" lowerBound="1"
-        eType="#//URI"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="runtimePath" lowerBound="1"
-        eType="#//IPath"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="dependencyType" lowerBound="1"
-        eType="#//DependencyType"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="dependentObject" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EDataType" name="URI" instanceClassName="org.eclipse.emf.common.util.URI">
-    <eAnnotations source="keywords">
-      <details key="datatype"/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="DependencyType">
-    <eLiterals name="uses"/>
-    <eLiterals name="consumes" value="1"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ProjectComponents">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="projectName" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral=""/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="components" unique="false"
-        upperBound="-1" eType="#//WorkbenchComponent" containment="true"/>
-  </eClassifiers>
-</ecore:EPackage>
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.emx b/plugins/org.eclipse.wst.common.modulecore/model/componentCore.emx
deleted file mode 100644
index 91c48c8..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.emx
+++ /dev/null
@@ -1,609 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--xtools2_universal_type_manager-->
-<uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Default_0="http:///Default_0.profile.uml2" xmlns:Ecore_0="http:///Ecore_0.profile.uml2" xmlns:notation="http://www.ibm.com/xtools/1.5.0/Notation" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xmlns:umlnotation="http://www.ibm.com/xtools/1.5.0/Umlnotation" xsi:schemaLocation="http:///Default_0.profile.uml2 pathmap://UML2_MSL_PROFILES/Default.epx#_bA7Pc9WLEdiy4IqP8whjFA?Default/%3CEPackage%3E http:///Ecore_0.profile.uml2 pathmap://UML2_PROFILES/Ecore.profile.uml2#_v9VUsK87Edi5QpYeY_yIpg" xmi:id="3A0B2474025F" name="componentcore" appliedProfile="_kMDG4ZTYEdmy2onHYKlABg _kMDG5JTYEdmy2onHYKlABg _kMDG55TYEdmy2onHYKlABg _kMDG6pTYEdmy2onHYKlABg _kMDG7ZTYEdmy2onHYKlABg _kMJNg5TYEdmy2onHYKlABg _kNq3gZTYEdmy2onHYKlABg _H0ye8JTvEdmDNY6lnGAg5A">
-  <eAnnotations xmi:id="_kMJNhpTYEdmy2onHYKlABg" source="appliedStereotypes">
-    <contents xmi:type="Ecore_0:Ecore__EPackage" xmi:id="_xDZMwJTYEdmy2onHYKlABg" nsURI="componentcore.xmi" basePackage="org.eclipse.wst.common" prefix="ComponentCore"/>
-  </eAnnotations>
-  <eAnnotations xmi:id="_kNq3hJTYEdmy2onHYKlABg" source="appliedStereotypes">
-    <contents xmi:type="Ecore_0:Ecore__EPackage" xmi:id="_kNq3hZTYEdmy2onHYKlABg" nsURI="modulecore.xmi" basePackage="org.eclipse.wst.common" prefix="ModuleCore"/>
-  </eAnnotations>
-  <eAnnotations xmi:id="_kOVl9JTYEdmy2onHYKlABg" source="uml2.diagrams" references="_3A0B2474025F41E3DF060210">
-    <contents xmi:type="notation:Diagram" xmi:id="_3A0B2474025F41E3DF060210" type="Class" name="ComponentCore">
-      <children xmi:id="_kP328JTYEdmy2onHYKlABg" type="Note" sourceEdges="_kQilYpTYEdmy2onHYKlABg">
-        <children xmi:id="_kP99kJTYEdmy2onHYKlABg" type="DiagramName"/>
-        <children xmi:id="_kP99kZTYEdmy2onHYKlABg" type="Description"/>
-        <styles xmi:type="notation:ShapeStyle" xmi:id="_kP328ZTYEdmy2onHYKlABg" description="The ReferencedComponent handle must be resolvable to a WorkbenchComponent.&#xD;&#xA;&#xD;&#xA;The runtimePath specifies the location of the ReferencedComponent in the runtime structure of the containing WorkbenchComponent.&#xD;&#xA;&#xD;&#xA;The dependencyType specifies how the ReferencedComponent is assembled within the containing WorkbenchComponent." fillColor="13369343" lineColor="6737151"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kP328pTYEdmy2onHYKlABg" x="19398" y="636" width="6934" height="4343"/>
-      </children>
-      <children xmi:id="_kQEENZTYEdmy2onHYKlABg" targetEdges="_bNhv4JTcEdmy2onHYKlABg" element="_3A0B2474025F41EC26DA027A">
-        <children xmi:id="_kQEEOJTYEdmy2onHYKlABg" type="ImageCompartment" element="_3A0B2474025F41EC26DA027A">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_kQEEOZTYEdmy2onHYKlABg" width="7941" height="2048"/>
-        </children>
-        <children xmi:id="_kQEEOpTYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41EC26DA027A"/>
-        <children xmi:id="_kQEEO5TYEdmy2onHYKlABg" type="Kind" element="_3A0B2474025F41EC26DA027A"/>
-        <children xmi:id="_kQEEPJTYEdmy2onHYKlABg" type="Name" element="_3A0B2474025F41EC26DA027A"/>
-        <children xmi:id="_kQEEPZTYEdmy2onHYKlABg" type="AttributeCompartment" element="_3A0B2474025F41EC26DA027A">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEEPpTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEEP5TYEdmy2onHYKlABg" type="OperationCompartment" element="_3A0B2474025F41EC26DA027A">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEEQJTYEdmy2onHYKlABg"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_kQEENpTYEdmy2onHYKlABg" showListStereotype="Text" showStereotype="Image"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQEEN5TYEdmy2onHYKlABg" x="12285" y="15472"/>
-      </children>
-      <children xmi:id="_kQEEQZTYEdmy2onHYKlABg" targetEdges="_kQKK7pTYEdmy2onHYKlABg" element="_3A0B2474025F41E3DF670039">
-        <children xmi:id="_kQEERJTYEdmy2onHYKlABg" type="ImageCompartment" element="_3A0B2474025F41E3DF670039">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_kQEERZTYEdmy2onHYKlABg" width="4859" height="2421"/>
-        </children>
-        <children xmi:id="_kQEERpTYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41E3DF670039"/>
-        <children xmi:id="_kQEER5TYEdmy2onHYKlABg" type="Name" element="_3A0B2474025F41E3DF670039"/>
-        <children xmi:id="_kQEESJTYEdmy2onHYKlABg" type="AttributeCompartment" element="_3A0B2474025F41E3DF670039">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEESZTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEESpTYEdmy2onHYKlABg" type="OperationCompartment" element="_3A0B2474025F41E3DF670039">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEES5TYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEETJTYEdmy2onHYKlABg" visible="false" type="SignalCompartment" element="_3A0B2474025F41E3DF670039">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEETZTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEETpTYEdmy2onHYKlABg" visible="false" type="StructureCompartment" element="_3A0B2474025F41E3DF670039">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_kQEET5TYEdmy2onHYKlABg" canonical="false"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_kQEEQpTYEdmy2onHYKlABg" showListStereotype="Text" showStereotype="Image"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQEEQ5TYEdmy2onHYKlABg" x="5969" y="16099"/>
-      </children>
-      <children xmi:id="_kQEEUJTYEdmy2onHYKlABg" sourceEdges="_B4bI0JTcEdmy2onHYKlABg _bNhv4JTcEdmy2onHYKlABg" targetEdges="_kQWYHpTYEdmy2onHYKlABg" element="_3A0B2474025F41EC1D5103E2">
-        <children xmi:id="_kQEEU5TYEdmy2onHYKlABg" type="ImageCompartment" element="_3A0B2474025F41EC1D5103E2">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_kQEEVJTYEdmy2onHYKlABg" width="6028" height="1998"/>
-        </children>
-        <children xmi:id="_kQEEVZTYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41EC1D5103E2"/>
-        <children xmi:id="_kQEEVpTYEdmy2onHYKlABg" type="Name" element="_3A0B2474025F41EC1D5103E2"/>
-        <children xmi:id="_kQEEV5TYEdmy2onHYKlABg" type="AttributeCompartment" element="_3A0B2474025F41EC1D5103E2">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEEWJTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEEWZTYEdmy2onHYKlABg" type="OperationCompartment" element="_3A0B2474025F41EC1D5103E2">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEEWpTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEEW5TYEdmy2onHYKlABg" visible="false" type="SignalCompartment" element="_3A0B2474025F41EC1D5103E2">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEEXJTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEEXZTYEdmy2onHYKlABg" visible="false" type="StructureCompartment" element="_3A0B2474025F41EC1D5103E2">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_kQEEXpTYEdmy2onHYKlABg" canonical="false"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_kQEEUZTYEdmy2onHYKlABg" showListStereotype="Text" showStereotype="Image"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQEEUpTYEdmy2onHYKlABg" x="11448" y="11130"/>
-      </children>
-      <children xmi:id="_kQEEX5TYEdmy2onHYKlABg" sourceEdges="_kQWYPpTYEdmy2onHYKlABg" element="_3A0B2474025F41F566DB0251">
-        <children xmi:id="_kQEEYpTYEdmy2onHYKlABg" type="ImageCompartment" element="_3A0B2474025F41F566DB0251">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_kQEEY5TYEdmy2onHYKlABg" width="3742" height="1574"/>
-        </children>
-        <children xmi:id="_kQEEZJTYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41F566DB0251"/>
-        <children xmi:id="_kQEEZZTYEdmy2onHYKlABg" type="Name" element="_3A0B2474025F41F566DB0251"/>
-        <children xmi:id="_kQEEZpTYEdmy2onHYKlABg" type="AttributeCompartment" element="_3A0B2474025F41F566DB0251">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEEZ5TYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEEaJTYEdmy2onHYKlABg" type="OperationCompartment" element="_3A0B2474025F41F566DB0251">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEEaZTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEEapTYEdmy2onHYKlABg" visible="false" type="SignalCompartment" element="_3A0B2474025F41F566DB0251">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQEEa5TYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQEEbJTYEdmy2onHYKlABg" visible="false" type="StructureCompartment" element="_3A0B2474025F41F566DB0251">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_kQEEbZTYEdmy2onHYKlABg" canonical="false"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_kQEEYJTYEdmy2onHYKlABg" showListStereotype="Text" showStereotype="Image"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQEEYZTYEdmy2onHYKlABg" x="1651" y="4872"/>
-      </children>
-      <children xmi:id="_kQKK0JTYEdmy2onHYKlABg" targetEdges="_kQcewpTYEdmy2onHYKlABg _kQilYpTYEdmy2onHYKlABg" element="_3A0B2474025F41F6C24B023D">
-        <children xmi:id="_kQKK05TYEdmy2onHYKlABg" type="ImageCompartment" element="_3A0B2474025F41F6C24B023D">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_kQKK1JTYEdmy2onHYKlABg" width="6146" height="2421"/>
-        </children>
-        <children xmi:id="_kQKK1ZTYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41F6C24B023D"/>
-        <children xmi:id="_kQKK1pTYEdmy2onHYKlABg" type="Name" element="_3A0B2474025F41F6C24B023D"/>
-        <children xmi:id="_kQKK15TYEdmy2onHYKlABg" type="AttributeCompartment" element="_3A0B2474025F41F6C24B023D">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQKK2JTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQKK2ZTYEdmy2onHYKlABg" type="OperationCompartment" element="_3A0B2474025F41F6C24B023D">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQKK2pTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQKK25TYEdmy2onHYKlABg" visible="false" type="SignalCompartment" element="_3A0B2474025F41F6C24B023D">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQKK3JTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQKK3ZTYEdmy2onHYKlABg" visible="false" type="StructureCompartment" element="_3A0B2474025F41F6C24B023D">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_kQKK3pTYEdmy2onHYKlABg" canonical="false"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_kQKK0ZTYEdmy2onHYKlABg" showListStereotype="Text" showStereotype="Image"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQKK0pTYEdmy2onHYKlABg" x="12402" y="4134"/>
-      </children>
-      <children xmi:id="_kQKK35TYEdmy2onHYKlABg" sourceEdges="_kQKK7pTYEdmy2onHYKlABg _kQWYHpTYEdmy2onHYKlABg _kQcewpTYEdmy2onHYKlABg" targetEdges="_kQWYPpTYEdmy2onHYKlABg" element="_3A0B2474025F41E3DF5801FA">
-        <children xmi:id="_kQKK4pTYEdmy2onHYKlABg" type="ImageCompartment" element="_3A0B2474025F41E3DF5801FA">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_kQKK45TYEdmy2onHYKlABg" width="4080" height="1998"/>
-        </children>
-        <children xmi:id="_kQKK5JTYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41E3DF5801FA"/>
-        <children xmi:id="_kQKK5ZTYEdmy2onHYKlABg" type="Name" element="_3A0B2474025F41E3DF5801FA"/>
-        <children xmi:id="_kQKK5pTYEdmy2onHYKlABg" type="AttributeCompartment" element="_3A0B2474025F41E3DF5801FA">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQKK55TYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQKK6JTYEdmy2onHYKlABg" type="OperationCompartment" element="_3A0B2474025F41E3DF5801FA">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQKK6ZTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQKK6pTYEdmy2onHYKlABg" visible="false" type="SignalCompartment" element="_3A0B2474025F41E3DF5801FA">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQKK65TYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQKK7JTYEdmy2onHYKlABg" visible="false" type="StructureCompartment" element="_3A0B2474025F41E3DF5801FA">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_kQKK7ZTYEdmy2onHYKlABg" canonical="false"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_kQKK4JTYEdmy2onHYKlABg" showListStereotype="Text" showStereotype="Image"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQKK4ZTYEdmy2onHYKlABg" x="5952" y="7911"/>
-      </children>
-      <children xmi:id="_kQilVJTYEdmy2onHYKlABg" element="_3A0B2474025F420394F50185">
-        <children xmi:id="_kQilV5TYEdmy2onHYKlABg" type="ImageCompartment" element="_3A0B2474025F420394F50185">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_kQilWJTYEdmy2onHYKlABg" width="3081" height="2472"/>
-        </children>
-        <children xmi:id="_kQilWZTYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F420394F50185"/>
-        <children xmi:id="_kQilWpTYEdmy2onHYKlABg" type="Kind" element="_3A0B2474025F420394F50185"/>
-        <children xmi:id="_kQilW5TYEdmy2onHYKlABg" type="Name" element="_3A0B2474025F420394F50185"/>
-        <children xmi:id="_kQilXJTYEdmy2onHYKlABg" type="EnumerationCompartment" element="_3A0B2474025F420394F50185">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQilXZTYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQilXpTYEdmy2onHYKlABg" type="AttributeCompartment" element="_3A0B2474025F420394F50185">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQilX5TYEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_kQilYJTYEdmy2onHYKlABg" type="OperationCompartment" element="_3A0B2474025F420394F50185">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQilYZTYEdmy2onHYKlABg"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_kQilVZTYEdmy2onHYKlABg" showListStereotype="Text" showStereotype="Image"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kQilVpTYEdmy2onHYKlABg" x="19716" y="7314"/>
-      </children>
-      <children xmi:id="_5BUlQJTbEdmy2onHYKlABg" targetEdges="_B4bI0JTcEdmy2onHYKlABg" element="_5BCRYJTbEdmy2onHYKlABg">
-        <children xmi:id="_5BUlQ5TbEdmy2onHYKlABg" type="ImageCompartment" element="_5BCRYJTbEdmy2onHYKlABg">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_5BUlRJTbEdmy2onHYKlABg" width="1320" height="1320"/>
-        </children>
-        <children xmi:id="_5BUlRZTbEdmy2onHYKlABg" type="Stereotype" element="_5BCRYJTbEdmy2onHYKlABg"/>
-        <children xmi:id="_5BUlRpTbEdmy2onHYKlABg" type="Name" element="_5BCRYJTbEdmy2onHYKlABg"/>
-        <children xmi:id="_5BUlR5TbEdmy2onHYKlABg" type="AttributeCompartment" element="_5BCRYJTbEdmy2onHYKlABg">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_5BUlSJTbEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_5BUlSZTbEdmy2onHYKlABg" type="OperationCompartment" element="_5BCRYJTbEdmy2onHYKlABg">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_5BUlSpTbEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_5BUlS5TbEdmy2onHYKlABg" visible="false" type="SignalCompartment" element="_5BCRYJTbEdmy2onHYKlABg">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_5BUlTJTbEdmy2onHYKlABg"/>
-        </children>
-        <children xmi:id="_5BUlTZTbEdmy2onHYKlABg" visible="false" type="StructureCompartment" element="_5BCRYJTbEdmy2onHYKlABg">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_5BUlTpTbEdmy2onHYKlABg"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_5BUlQZTbEdmy2onHYKlABg" showStereotype="Label"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5BUlQpTbEdmy2onHYKlABg" x="19080" y="11130"/>
-      </children>
-      <children xmi:id="_IQ7RkKS3EdmtQ4Tckv5S2Q" element="_IQQjMKS3EdmtQ4Tckv5S2Q">
-        <children xmi:id="_IRBYMKS3EdmtQ4Tckv5S2Q" type="ImageCompartment" element="_IQQjMKS3EdmtQ4Tckv5S2Q">
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_IRBYMaS3EdmtQ4Tckv5S2Q" width="1320" height="1320"/>
-        </children>
-        <children xmi:id="_IRBYMqS3EdmtQ4Tckv5S2Q" type="Stereotype" element="_IQQjMKS3EdmtQ4Tckv5S2Q"/>
-        <children xmi:id="_IRBYM6S3EdmtQ4Tckv5S2Q" type="Kind" element="_IQQjMKS3EdmtQ4Tckv5S2Q"/>
-        <children xmi:id="_IRBYNKS3EdmtQ4Tckv5S2Q" type="Name" element="_IQQjMKS3EdmtQ4Tckv5S2Q"/>
-        <children xmi:id="_IRBYNaS3EdmtQ4Tckv5S2Q" visible="false" type="AttributeCompartment" element="_IQQjMKS3EdmtQ4Tckv5S2Q">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_IRBYNqS3EdmtQ4Tckv5S2Q"/>
-        </children>
-        <children xmi:id="_IRBYN6S3EdmtQ4Tckv5S2Q" visible="false" type="OperationCompartment" element="_IQQjMKS3EdmtQ4Tckv5S2Q">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_IRBYOKS3EdmtQ4Tckv5S2Q"/>
-        </children>
-        <children xmi:id="_IRBYOaS3EdmtQ4Tckv5S2Q" visible="false" type="RealizationListCompartment" element="_IQQjMKS3EdmtQ4Tckv5S2Q">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_IRBYOqS3EdmtQ4Tckv5S2Q"/>
-        </children>
-        <children xmi:id="_IRBYO6S3EdmtQ4Tckv5S2Q" type="RequiredInterfaceListCompartment" element="_IQQjMKS3EdmtQ4Tckv5S2Q">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_IRBYPKS3EdmtQ4Tckv5S2Q"/>
-        </children>
-        <children xmi:id="_IRBYPaS3EdmtQ4Tckv5S2Q" type="ProvidedInterfaceListCompartment" element="_IQQjMKS3EdmtQ4Tckv5S2Q">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_IRBYPqS3EdmtQ4Tckv5S2Q"/>
-        </children>
-        <children xmi:id="_IRBYP6S3EdmtQ4Tckv5S2Q" visible="false" type="StructureCompartment" element="_IQQjMKS3EdmtQ4Tckv5S2Q">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_IRBYQKS3EdmtQ4Tckv5S2Q"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLComponentStyle" xmi:id="_IQ7RkaS3EdmtQ4Tckv5S2Q" showStereotype="Label"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IQ7RkqS3EdmtQ4Tckv5S2Q" x="19050" y="16007"/>
-      </children>
-      <styles xmi:type="umlnotation:UMLDiagramStyle" xmi:id="_kOVl9pTYEdmy2onHYKlABg"/>
-      <edges xmi:id="_kQKK7pTYEdmy2onHYKlABg" element="_3A0B2474025F41E3E14B01E3" source="_kQKK35TYEdmy2onHYKlABg" target="_kQEEQZTYEdmy2onHYKlABg">
-        <children xmi:id="_kQKK8ZTYEdmy2onHYKlABg" type="NameLabel" element="_3A0B2474025F41E3E14B01E3">
-          <children xmi:id="_kQQRcJTYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41E3E14B01E3"/>
-          <children xmi:id="_kQQRcZTYEdmy2onHYKlABg" visible="false" type="Name" element="_3A0B2474025F41E3E14B01E3"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQKK8pTYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_kQQRcpTYEdmy2onHYKlABg" type="ToMultiplicityLabel" element="_3A0B2474025F41E3E14D031F">
-          <children xmi:id="_kQQRdJTYEdmy2onHYKlABg" type="ToMultiplicity" element="_3A0B2474025F41E3E14D031F"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQQRc5TYEdmy2onHYKlABg" x="-259" y="-264"/>
-        </children>
-        <children xmi:id="_kQQRdZTYEdmy2onHYKlABg" type="ToRoleLabel" element="_3A0B2474025F41E3E14D031F">
-          <children xmi:id="_kQQRd5TYEdmy2onHYKlABg" type="ToRole" element="_3A0B2474025F41E3E14D031F"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQQRdpTYEdmy2onHYKlABg" x="218" y="-1164"/>
-        </children>
-        <children xmi:id="_kQWYEJTYEdmy2onHYKlABg" type="FromMultiplicityLabel" element="_3A0B2474025F41E3E14D031D">
-          <children xmi:id="_kQWYEpTYEdmy2onHYKlABg" type="FromMultiplicity" element="_3A0B2474025F41E3E14D031D"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYEZTYEdmy2onHYKlABg" x="345" y="-263"/>
-        </children>
-        <children xmi:id="_kQWYE5TYEdmy2onHYKlABg" type="FromRoleLabel" element="_3A0B2474025F41E3E14D031D">
-          <children xmi:id="_kQWYFZTYEdmy2onHYKlABg" type="FromRole" element="_3A0B2474025F41E3E14D031D"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYFJTYEdmy2onHYKlABg" x="663" y="-1017"/>
-        </children>
-        <children xmi:id="_kQWYFpTYEdmy2onHYKlABg" type="ToQualifierLabel" element="_3A0B2474025F41E3E14D031F">
-          <children xmi:id="_kQWYGJTYEdmy2onHYKlABg" type="QualifierCompartment" element="_3A0B2474025F41E3E14D031F">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQWYGZTYEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYF5TYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_kQWYGpTYEdmy2onHYKlABg" type="FromQualifierLabel" element="_3A0B2474025F41E3E14D031D">
-          <children xmi:id="_kQWYHJTYEdmy2onHYKlABg" type="QualifierCompartment" element="_3A0B2474025F41E3E14D031D">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQWYHZTYEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYG5TYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_kQKK75TYEdmy2onHYKlABg" routing="Rectilinear" showStereotype="None"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQKK8JTYEdmy2onHYKlABg" points="[-33, 999, -440, -7399]$[-33, 7188, -440, -1210]"/>
-      </edges>
-      <edges xmi:id="_kQWYHpTYEdmy2onHYKlABg" element="_3A0B2474025F41EC1D9802C2" source="_kQKK35TYEdmy2onHYKlABg" target="_kQEEUJTYEdmy2onHYKlABg">
-        <children xmi:id="_kQWYIZTYEdmy2onHYKlABg" type="NameLabel" element="_3A0B2474025F41EC1D9802C2">
-          <children xmi:id="_kQWYI5TYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41EC1D9802C2"/>
-          <children xmi:id="_kQWYJJTYEdmy2onHYKlABg" visible="false" type="Name" element="_3A0B2474025F41EC1D9802C2"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYIpTYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_kQWYJZTYEdmy2onHYKlABg" visible="false" type="ToMultiplicityLabel" element="_3A0B2474025F41EC1D990243">
-          <children xmi:id="_kQWYJ5TYEdmy2onHYKlABg" type="ToMultiplicity" element="_3A0B2474025F41EC1D990243"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYJpTYEdmy2onHYKlABg" y="397"/>
-        </children>
-        <children xmi:id="_kQWYKJTYEdmy2onHYKlABg" visible="false" type="ToRoleLabel" element="_3A0B2474025F41EC1D990243">
-          <children xmi:id="_kQWYKpTYEdmy2onHYKlABg" type="ToRole" element="_3A0B2474025F41EC1D990243"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYKZTYEdmy2onHYKlABg" y="-397"/>
-        </children>
-        <children xmi:id="_kQWYK5TYEdmy2onHYKlABg" type="FromMultiplicityLabel" element="_3A0B2474025F41EC1D990241">
-          <children xmi:id="_kQWYLZTYEdmy2onHYKlABg" type="FromMultiplicity" element="_3A0B2474025F41EC1D990241"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYLJTYEdmy2onHYKlABg" x="-10" y="-301"/>
-        </children>
-        <children xmi:id="_kQWYLpTYEdmy2onHYKlABg" type="FromRoleLabel" element="_3A0B2474025F41EC1D990241">
-          <children xmi:id="_kQWYMJTYEdmy2onHYKlABg" type="FromRole" element="_3A0B2474025F41EC1D990241"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYL5TYEdmy2onHYKlABg" x="494" y="-1571"/>
-        </children>
-        <children xmi:id="_kQWYMZTYEdmy2onHYKlABg" type="ToQualifierLabel" element="_3A0B2474025F41EC1D990243">
-          <children xmi:id="_kQWYM5TYEdmy2onHYKlABg" type="QualifierCompartment" element="_3A0B2474025F41EC1D990243">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQWYNJTYEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYMpTYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_kQWYNZTYEdmy2onHYKlABg" type="FromQualifierLabel" element="_3A0B2474025F41EC1D990241">
-          <children xmi:id="_kQWYN5TYEdmy2onHYKlABg" type="QualifierCompartment" element="_3A0B2474025F41EC1D990241">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQWYOJTYEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYNpTYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_kQWYH5TYEdmy2onHYKlABg" routing="Rectilinear" showStereotype="None"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQWYIJTYEdmy2onHYKlABg" points="[2040, 330, -5681, -2921]$[7730, 330, 8, -2921]$[7730, 2252, 8, -999]"/>
-      </edges>
-      <edges xmi:id="_kQWYPpTYEdmy2onHYKlABg" element="_3A0B2474025F41F5672000E8" source="_kQEEX5TYEdmy2onHYKlABg" target="_kQKK35TYEdmy2onHYKlABg">
-        <children xmi:id="_kQWYQZTYEdmy2onHYKlABg" type="NameLabel" element="_3A0B2474025F41F5672000E8">
-          <children xmi:id="_kQWYQ5TYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F41F5672000E8"/>
-          <children xmi:id="_kQWYRJTYEdmy2onHYKlABg" visible="false" type="Name" element="_3A0B2474025F41F5672000E8"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYQpTYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_kQWYRZTYEdmy2onHYKlABg" visible="false" type="ToMultiplicityLabel" element="_3A0B2474025F41F567210113">
-          <children xmi:id="_kQcesJTYEdmy2onHYKlABg" type="ToMultiplicity" element="_3A0B2474025F41F567210113"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQWYRpTYEdmy2onHYKlABg" y="397"/>
-        </children>
-        <children xmi:id="_kQcesZTYEdmy2onHYKlABg" visible="false" type="ToRoleLabel" element="_3A0B2474025F41F567210113">
-          <children xmi:id="_kQces5TYEdmy2onHYKlABg" type="ToRole" element="_3A0B2474025F41F567210113"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQcespTYEdmy2onHYKlABg" y="-397"/>
-        </children>
-        <children xmi:id="_kQcetJTYEdmy2onHYKlABg" type="FromMultiplicityLabel" element="_3A0B2474025F41F567210111">
-          <children xmi:id="_kQcetpTYEdmy2onHYKlABg" type="FromMultiplicity" element="_3A0B2474025F41F567210111"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQcetZTYEdmy2onHYKlABg" x="-1568" y="516"/>
-        </children>
-        <children xmi:id="_kQcet5TYEdmy2onHYKlABg" type="FromRoleLabel" element="_3A0B2474025F41F567210111">
-          <children xmi:id="_kQceuZTYEdmy2onHYKlABg" type="FromRole" element="_3A0B2474025F41F567210111"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQceuJTYEdmy2onHYKlABg" x="-602" y="834"/>
-        </children>
-        <children xmi:id="_kQceupTYEdmy2onHYKlABg" type="ToQualifierLabel" element="_3A0B2474025F41F567210113">
-          <children xmi:id="_kQcevJTYEdmy2onHYKlABg" type="QualifierCompartment" element="_3A0B2474025F41F567210113">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQcevZTYEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQceu5TYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_kQcevpTYEdmy2onHYKlABg" type="FromQualifierLabel" element="_3A0B2474025F41F567210111">
-          <children xmi:id="_kQcewJTYEdmy2onHYKlABg" type="QualifierCompartment" element="_3A0B2474025F41F567210111">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQcewZTYEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQcev5TYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_kQWYP5TYEdmy2onHYKlABg" routing="Rectilinear" showStereotype="None"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQWYQJTYEdmy2onHYKlABg" points="[-770, 787, -5240, -2463]$[-770, 2734, -5240, -516]$[2429, 2734, -2040, -516]"/>
-      </edges>
-      <edges xmi:id="_kQcewpTYEdmy2onHYKlABg" element="_3A0B2474025F420146A502E2" source="_kQKK35TYEdmy2onHYKlABg" target="_kQKK0JTYEdmy2onHYKlABg">
-        <children xmi:id="_kQcexZTYEdmy2onHYKlABg" type="NameLabel" element="_3A0B2474025F420146A502E2">
-          <children xmi:id="_kQcex5TYEdmy2onHYKlABg" type="Stereotype" element="_3A0B2474025F420146A502E2"/>
-          <children xmi:id="_kQceyJTYEdmy2onHYKlABg" visible="false" type="Name" element="_3A0B2474025F420146A502E2"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQcexpTYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_kQceyZTYEdmy2onHYKlABg" visible="false" type="ToMultiplicityLabel" element="_3A0B2474025F420146A60281">
-          <children xmi:id="_kQcey5TYEdmy2onHYKlABg" type="ToMultiplicity" element="_3A0B2474025F420146A60281"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQceypTYEdmy2onHYKlABg" y="397"/>
-        </children>
-        <children xmi:id="_kQcezJTYEdmy2onHYKlABg" visible="false" type="ToRoleLabel" element="_3A0B2474025F420146A60281">
-          <children xmi:id="_kQcezpTYEdmy2onHYKlABg" type="ToRole" element="_3A0B2474025F420146A60281"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQcezZTYEdmy2onHYKlABg" y="-397"/>
-        </children>
-        <children xmi:id="_kQcez5TYEdmy2onHYKlABg" type="FromMultiplicityLabel" element="_3A0B2474025F420146A6027F">
-          <children xmi:id="_kQce0ZTYEdmy2onHYKlABg" type="FromMultiplicity" element="_3A0B2474025F420146A6027F"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQce0JTYEdmy2onHYKlABg" x="416" y="593"/>
-        </children>
-        <children xmi:id="_kQce0pTYEdmy2onHYKlABg" type="FromRoleLabel" element="_3A0B2474025F420146A6027F">
-          <children xmi:id="_kQce1JTYEdmy2onHYKlABg" type="FromRole" element="_3A0B2474025F420146A6027F"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQce05TYEdmy2onHYKlABg" x="-6" y="2426"/>
-        </children>
-        <children xmi:id="_kQce1ZTYEdmy2onHYKlABg" type="ToQualifierLabel" element="_3A0B2474025F420146A60281">
-          <children xmi:id="_kQce15TYEdmy2onHYKlABg" type="QualifierCompartment" element="_3A0B2474025F420146A60281">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQce2JTYEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQce1pTYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_kQilUJTYEdmy2onHYKlABg" type="FromQualifierLabel" element="_3A0B2474025F420146A6027F">
-          <children xmi:id="_kQilUpTYEdmy2onHYKlABg" type="QualifierCompartment" element="_3A0B2474025F420146A6027F">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_kQilU5TYEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_kQilUZTYEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_kQcew5TYEdmy2onHYKlABg" routing="Rectilinear" showStereotype="None"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQcexJTYEdmy2onHYKlABg" points="[2408, 28, -4762, 3573]$[6456, 28, -714, 3573]$[6456, -2434, -714, 1111]"/>
-      </edges>
-      <edges xmi:id="_kQilYpTYEdmy2onHYKlABg" type="NoteAttachment" source="_kP328JTYEdmy2onHYKlABg" target="_kQKK0JTYEdmy2onHYKlABg">
-        <styles xmi:type="notation:ConnectorStyle" xmi:id="_kQilY5TYEdmy2onHYKlABg" routing="Rectilinear"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kQilZJTYEdmy2onHYKlABg" points="[-3493, -79, 3863, -2487]$[-5080, -79, 2276, -2487]$[-5080, 1297, 2276, -1111]"/>
-        <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kQilZZTYEdmy2onHYKlABg" id="anchor50"/>
-        <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kQilZpTYEdmy2onHYKlABg" id="anchor50"/>
-      </edges>
-      <edges xmi:id="_B4bI0JTcEdmy2onHYKlABg" element="_B3wacJTcEdmy2onHYKlABg" source="_kQEEUJTYEdmy2onHYKlABg" target="_5BUlQJTbEdmy2onHYKlABg">
-        <children xmi:id="_B4bI05TcEdmy2onHYKlABg" type="NameLabel" element="_B3wacJTcEdmy2onHYKlABg">
-          <children xmi:id="_B4bI1ZTcEdmy2onHYKlABg" type="Stereotype" element="_B3wacJTcEdmy2onHYKlABg"/>
-          <children xmi:id="_B4bI1pTcEdmy2onHYKlABg" type="Name" element="_B3wacJTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_B4bI1JTcEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_B4bI15TcEdmy2onHYKlABg" type="ToMultiplicityLabel" element="_B3wacpTcEdmy2onHYKlABg">
-          <children xmi:id="_B4bI2ZTcEdmy2onHYKlABg" type="ToMultiplicity" element="_B3wacpTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_B4bI2JTcEdmy2onHYKlABg" y="397"/>
-        </children>
-        <children xmi:id="_B4bI2pTcEdmy2onHYKlABg" type="ToRoleLabel" element="_B3wacpTcEdmy2onHYKlABg">
-          <children xmi:id="_B4bI3JTcEdmy2onHYKlABg" type="ToRole" element="_B3wacpTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_B4bI25TcEdmy2onHYKlABg" y="-397"/>
-        </children>
-        <children xmi:id="_B4bI3ZTcEdmy2onHYKlABg" type="FromMultiplicityLabel" element="_B3wacZTcEdmy2onHYKlABg">
-          <children xmi:id="_B4bI35TcEdmy2onHYKlABg" type="FromMultiplicity" element="_B3wacZTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_B4bI3pTcEdmy2onHYKlABg" x="-1280" y="575"/>
-        </children>
-        <children xmi:id="_B4bI4JTcEdmy2onHYKlABg" type="FromRoleLabel" element="_B3wacZTcEdmy2onHYKlABg">
-          <children xmi:id="_B4bI4pTcEdmy2onHYKlABg" type="FromRole" element="_B3wacZTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_B4bI4ZTcEdmy2onHYKlABg" x="-486" y="893"/>
-        </children>
-        <children xmi:id="_B4bI45TcEdmy2onHYKlABg" type="ToQualifierLabel" element="_B3wacpTcEdmy2onHYKlABg">
-          <children xmi:id="_B4bI5ZTcEdmy2onHYKlABg" type="QualifierCompartment" element="_B3wacpTcEdmy2onHYKlABg">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_B4bI5pTcEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_B4bI5JTcEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_B4bI55TcEdmy2onHYKlABg" type="FromQualifierLabel" element="_B3wacZTcEdmy2onHYKlABg">
-          <children xmi:id="_B4bI6ZTcEdmy2onHYKlABg" type="QualifierCompartment" element="_B3wacZTcEdmy2onHYKlABg">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_B4bI6pTcEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_B4bI6JTcEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_B4bI0ZTcEdmy2onHYKlABg" routing="Rectilinear" showStereotype="Text"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B4bI0pTcEdmy2onHYKlABg" points="[2064, 27, -4286, 27]$[4974, 27, -1376, 27]"/>
-      </edges>
-      <edges xmi:id="_bNhv4JTcEdmy2onHYKlABg" element="_bNDOwJTcEdmy2onHYKlABg" source="_kQEEUJTYEdmy2onHYKlABg" target="_kQEENZTYEdmy2onHYKlABg">
-        <children xmi:id="_bNhv45TcEdmy2onHYKlABg" type="NameLabel" element="_bNDOwJTcEdmy2onHYKlABg">
-          <children xmi:id="_bNhv5ZTcEdmy2onHYKlABg" type="Stereotype" element="_bNDOwJTcEdmy2onHYKlABg"/>
-          <children xmi:id="_bNhv5pTcEdmy2onHYKlABg" type="Name" element="_bNDOwJTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bNhv5JTcEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_bNhv55TcEdmy2onHYKlABg" type="ToMultiplicityLabel" element="_bNDOwpTcEdmy2onHYKlABg">
-          <children xmi:id="_bNhv6ZTcEdmy2onHYKlABg" type="ToMultiplicity" element="_bNDOwpTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bNhv6JTcEdmy2onHYKlABg" y="397"/>
-        </children>
-        <children xmi:id="_bNhv6pTcEdmy2onHYKlABg" type="ToRoleLabel" element="_bNDOwpTcEdmy2onHYKlABg">
-          <children xmi:id="_bNhv7JTcEdmy2onHYKlABg" type="ToRole" element="_bNDOwpTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bNhv65TcEdmy2onHYKlABg" y="-397"/>
-        </children>
-        <children xmi:id="_bNhv7ZTcEdmy2onHYKlABg" type="FromMultiplicityLabel" element="_bNDOwZTcEdmy2onHYKlABg">
-          <children xmi:id="_bNhv75TcEdmy2onHYKlABg" type="FromMultiplicity" element="_bNDOwZTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bNhv7pTcEdmy2onHYKlABg" x="-257" y="-353"/>
-        </children>
-        <children xmi:id="_bNhv8JTcEdmy2onHYKlABg" type="FromRoleLabel" element="_bNDOwZTcEdmy2onHYKlABg">
-          <children xmi:id="_bNhv8pTcEdmy2onHYKlABg" type="FromRole" element="_bNDOwZTcEdmy2onHYKlABg"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bNhv8ZTcEdmy2onHYKlABg" x="61" y="-1782"/>
-        </children>
-        <children xmi:id="_bNhv85TcEdmy2onHYKlABg" type="ToQualifierLabel" element="_bNDOwpTcEdmy2onHYKlABg">
-          <children xmi:id="_bNhv9ZTcEdmy2onHYKlABg" type="QualifierCompartment" element="_bNDOwpTcEdmy2onHYKlABg">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_bNhv9pTcEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bNhv9JTcEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <children xmi:id="_bNhv95TcEdmy2onHYKlABg" type="FromQualifierLabel" element="_bNDOwZTcEdmy2onHYKlABg">
-          <children xmi:id="_bNhv-ZTcEdmy2onHYKlABg" type="QualifierCompartment" element="_bNDOwZTcEdmy2onHYKlABg">
-            <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_bNhv-pTcEdmy2onHYKlABg"/>
-          </children>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_bNhv-JTcEdmy2onHYKlABg" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_bNhv4ZTcEdmy2onHYKlABg" routing="Rectilinear" showStereotype="Text"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bNhv4pTcEdmy2onHYKlABg" points="[5, 42, -18, -111]$[5, 123, -18, -30]"/>
-      </edges>
-    </contents>
-  </eAnnotations>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_kMDG4ZTYEdmy2onHYKlABg">
-    <eAnnotations xmi:id="_kMDG4pTYEdmy2onHYKlABg" source="attributes">
-      <details xmi:id="_kMDG45TYEdmy2onHYKlABg" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Basic.profile.uml2#_6mFRgK86Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Basic.profile.uml2#_6mFRgK86Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_kMDG5JTYEdmy2onHYKlABg">
-    <eAnnotations xmi:id="_kMDG5ZTYEdmy2onHYKlABg" source="attributes">
-      <details xmi:id="_kMDG5pTYEdmy2onHYKlABg" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Intermediate.profile.uml2#_Cz7csK87Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Intermediate.profile.uml2#_Cz7csK87Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_kMDG55TYEdmy2onHYKlABg">
-    <eAnnotations xmi:id="_kMDG6JTYEdmy2onHYKlABg" source="attributes">
-      <details xmi:id="_kMDG6ZTYEdmy2onHYKlABg" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Complete.profile.uml2#_M7pTkK87Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Complete.profile.uml2#_M7pTkK87Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_kMDG6pTYEdmy2onHYKlABg">
-    <eAnnotations xmi:id="_kMDG65TYEdmy2onHYKlABg" source="attributes">
-      <details xmi:id="_kMDG7JTYEdmy2onHYKlABg" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default"/>
-    <importedProfile href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_kMDG7ZTYEdmy2onHYKlABg">
-    <eAnnotations xmi:id="_kMDG7pTYEdmy2onHYKlABg" source="attributes">
-      <details xmi:id="_kMDG75TYEdmy2onHYKlABg" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment"/>
-    <importedProfile href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment"/>
-  </packageImport>
-  <packageImport xmi:id="_kMDG8JTYEdmy2onHYKlABg">
-    <importedPackage xmi:type="uml:Model" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_EfRZoK86EdieaYgxtVWN8Q"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_kMJNg5TYEdmy2onHYKlABg">
-    <eAnnotations xmi:id="_kMJNhJTYEdmy2onHYKlABg" source="attributes">
-      <details xmi:id="_kMJNhZTYEdmy2onHYKlABg" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://ROSE_PROFILES/Rose.epx#_8yPmgEO4EdmZFZk7zjZ-eA?Rose"/>
-    <importedProfile href="pathmap://ROSE_PROFILES/Rose.epx#_8yPmgEO4EdmZFZk7zjZ-eA?Rose"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_kNq3gZTYEdmy2onHYKlABg">
-    <eAnnotations xmi:id="_kNq3gpTYEdmy2onHYKlABg" source="attributes">
-      <details xmi:id="_kNq3g5TYEdmy2onHYKlABg" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Ecore.profile.uml2#_siPt4K87Edi5QpYeY_yIpg"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Ecore.profile.uml2#_siPt4K87Edi5QpYeY_yIpg"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_H0ye8JTvEdmDNY6lnGAg5A">
-    <eAnnotations xmi:id="_H0ye8ZTvEdmDNY6lnGAg5A" source="attributes">
-      <details xmi:id="_H0ye8pTvEdmDNY6lnGAg5A" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="Java.epx#_-ZoywJSkEdmjauSjG8qO2A?Java"/>
-    <importedProfile href="Java.epx#_-ZoywJSkEdmjauSjG8qO2A?Java"/>
-  </packageImport>
-  <ownedMember xmi:type="uml:Class" xmi:id="_3A0B2474025F41E3DF5801FA" name="WorkbenchComponent">
-    <ownedAttribute xmi:id="_3A0B2474025F4201471D0208" name="name">
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_3A0B2474025F41E3E14D031D" name="resources" type="_3A0B2474025F41E3DF670039" isUnique="false" association="_3A0B2474025F41E3E14B01E3" aggregation="composite">
-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kOVl4ZTYEdmy2onHYKlABg" value="-1"/>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kOVl4JTYEdmy2onHYKlABg"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_3A0B2474025F41EC1D990241" name="componentType" type="_3A0B2474025F41EC1D5103E2" isUnique="false" association="_3A0B2474025F41EC1D9802C2">
-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kOVl6JTYEdmy2onHYKlABg" value="1"/>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kOVl55TYEdmy2onHYKlABg" value="1"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_3A0B2474025F420146A6027F" name="referencedComponents" type="_3A0B2474025F41F6C24B023D" isUnique="false" association="_3A0B2474025F420146A502E2">
-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kOVl8pTYEdmy2onHYKlABg" value="-1"/>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kOVl8ZTYEdmy2onHYKlABg"/>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Class" xmi:id="_3A0B2474025F41E3DF670039" name="ComponentResource">
-    <ownedAttribute xmi:id="_3A0B2474025F41E3DF970128" name="sourcePath" type="_3A0B2474025F41EC26DA027A"/>
-    <ownedAttribute xmi:id="_3A0B2474025F41EEC640025B" name="runtimePath" type="_3A0B2474025F41EC26DA027A"/>
-    <ownedAttribute xmi:id="_3A0B2474025F41E3DF9E011E" name="exclusions">
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kN3ExpTYEdmy2onHYKlABg" value="-1"/>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kN3ExZTYEdmy2onHYKlABg"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_3A0B2474025F41E3E14D031F" name="component" type="_3A0B2474025F41E3DF5801FA" isUnique="false" association="_3A0B2474025F41E3E14B01E3">
-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kOVl5JTYEdmy2onHYKlABg" value="1"/>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kOVl45TYEdmy2onHYKlABg" value="1"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_jw5GQKV-EdmoYeO-WR9aDg" name="resourceType">
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Class" xmi:id="_3A0B2474025F41EC1D5103E2" name="ComponentType">
-    <ownedAttribute xmi:id="_3A0B2474025F41EC21340357" name="componentTypeId">
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_UDkgEJTbEdmy2onHYKlABg" name="version">
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_B3wacZTcEdmy2onHYKlABg" name="properties" type="_5BCRYJTbEdmy2onHYKlABg" association="_B3wacJTcEdmy2onHYKlABg" aggregation="shared">
-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_B3wadJTcEdmy2onHYKlABg" value="-1"/>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_B3wac5TcEdmy2onHYKlABg"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_bNDOwZTcEdmy2onHYKlABg" name="metadataResources" visibility="private" type="_3A0B2474025F41EC26DA027A" association="_bNDOwJTcEdmy2onHYKlABg" aggregation="shared">
-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_bNDOxJTcEdmy2onHYKlABg" value="-1"/>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bNDOw5TcEdmy2onHYKlABg"/>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_3A0B2474025F41EC26DA027A" name="IPath">
-    <eAnnotations xmi:id="_kN9LZpTYEdmy2onHYKlABg" source="appliedStereotypes">
-      <contents xmi:type="Ecore_0:Ecore__EDataType" xmi:id="_kN9LZ5TYEdmy2onHYKlABg" instanceClassName="org.eclipse.core.runtime.IPath"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_kN9LaJTYEdmy2onHYKlABg" source="keywords">
-      <details xmi:id="_kN9LaZTYEdmy2onHYKlABg" key="datatype"/>
-    </eAnnotations>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Class" xmi:id="_3A0B2474025F41F566DB0251" name="ProjectComponents">
-    <ownedAttribute xmi:id="_3A0B2474025F41F567FD023A" name="projectName">
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_3A0B2474025F41F567210111" name="components" type="_3A0B2474025F41E3DF5801FA" isUnique="false" association="_3A0B2474025F41F5672000E8" aggregation="composite">
-      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_kOVl7ZTYEdmy2onHYKlABg" value="-1"/>
-      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kOVl7JTYEdmy2onHYKlABg"/>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Class" xmi:id="_3A0B2474025F41F6C24B023D" name="ReferencedComponent">
-    <ownedAttribute xmi:id="_3A0B2474025F420145F001C9" name="handle" type="_IQQjMKS3EdmtQ4Tckv5S2Q"/>
-    <ownedAttribute xmi:id="_3A0B2474025F420145FA0015" name="runtimePath" type="_3A0B2474025F41EC26DA027A"/>
-    <ownedAttribute xmi:id="_3A0B2474025F42039243016E" name="dependencyType" type="_3A0B2474025F420394F50185"/>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Enumeration" xmi:id="_3A0B2474025F420394F50185" name="DependencyType">
-    <ownedComment xmi:id="_kN9LcZTYEdmy2onHYKlABg" body="uses=0&#xA;consumes=1&#xA;" annotatedElement="_3A0B2474025F420394F50185">
-      <eAnnotations xmi:id="_kOJYoJTYEdmy2onHYKlABg" source="appliedStereotypes">
-        <contents xmi:type="Default_0:Default__Documentation" xmi:id="_kOJYoZTYEdmy2onHYKlABg"/>
-      </eAnnotations>
-    </ownedComment>
-    <ownedLiteral xmi:id="_3A0B2474025F42039938018D" name="uses"/>
-    <ownedLiteral xmi:id="_3A0B2474025F42039A6E0139" name="consumes"/>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Association" xmi:id="_3A0B2474025F41E3E14B01E3" memberEnd="_3A0B2474025F41E3E14D031D _3A0B2474025F41E3E14D031F"/>
-  <ownedMember xmi:type="uml:Association" xmi:id="_3A0B2474025F41EC1D9802C2" memberEnd="_3A0B2474025F41EC1D990241 _3A0B2474025F41EC1D990243">
-    <ownedEnd xmi:id="_3A0B2474025F41EC1D990243" name="_workbenchModule" type="_3A0B2474025F41E3DF5801FA" isUnique="false" association="_3A0B2474025F41EC1D9802C2"/>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Association" xmi:id="_3A0B2474025F41F5672000E8" memberEnd="_3A0B2474025F41F567210111 _3A0B2474025F41F567210113">
-    <ownedEnd xmi:id="_3A0B2474025F41F567210113" name="_projectModules" type="_3A0B2474025F41F566DB0251" isUnique="false" association="_3A0B2474025F41F5672000E8"/>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Association" xmi:id="_3A0B2474025F420146A502E2" memberEnd="_3A0B2474025F420146A6027F _3A0B2474025F420146A60281">
-    <ownedEnd xmi:id="_3A0B2474025F420146A60281" name="_workbenchModule" type="_3A0B2474025F41E3DF5801FA" isUnique="false" association="_3A0B2474025F420146A502E2"/>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Class" xmi:id="_5BCRYJTbEdmy2onHYKlABg" name="Property">
-    <ownedAttribute xmi:id="_7Xo8YJTbEdmy2onHYKlABg" name="name">
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-    </ownedAttribute>
-    <ownedAttribute xmi:id="_8eOJ8JTbEdmy2onHYKlABg" name="value">
-      <type xmi:type="uml:PrimitiveType" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_IXlH8a86EdieaYgxtVWN8Q"/>
-    </ownedAttribute>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Association" xmi:id="_B3wacJTcEdmy2onHYKlABg" memberEnd="_B3wacZTcEdmy2onHYKlABg _B3wacpTcEdmy2onHYKlABg">
-    <ownedEnd xmi:id="_B3wacpTcEdmy2onHYKlABg" visibility="private" type="_3A0B2474025F41EC1D5103E2" association="_B3wacJTcEdmy2onHYKlABg"/>
-  </ownedMember>
-  <ownedMember xmi:type="uml:Association" xmi:id="_bNDOwJTcEdmy2onHYKlABg" memberEnd="_bNDOwZTcEdmy2onHYKlABg _bNDOwpTcEdmy2onHYKlABg">
-    <ownedEnd xmi:id="_bNDOwpTcEdmy2onHYKlABg" visibility="private" type="_3A0B2474025F41EC1D5103E2" association="_bNDOwJTcEdmy2onHYKlABg"/>
-  </ownedMember>
-  <ownedMember xmi:type="uml:PrimitiveType" xmi:id="_IQQjMKS3EdmtQ4Tckv5S2Q" name="URI">
-    <eAnnotations xmi:id="_kN9LZpTYEdmy2onHYKlABg" source="appliedStereotypes">
-      <contents xmi:type="Ecore_0:Ecore__EDataType" xmi:id="_kN9LZ5TYEdmy2onHYKlABg" instanceClassName="org.eclipse.emf.common.util.URI"/>
-    </eAnnotations>
-    <eAnnotations xmi:id="_kN9LaJTYEdmy2onHYKlABg" source="keywords">
-      <details xmi:id="_kN9LaZTYEdmy2onHYKlABg" key="datatype"/>
-    </eAnnotations>
-  </ownedMember>
-</uml:Model>
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.genmodel b/plugins/org.eclipse.wst.common.modulecore/model/componentCore.genmodel
deleted file mode 100644
index 2e55524..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/model/componentCore.genmodel
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.wst.common.modulecore/modulecore-src"
-    editDirectory="/org.eclipse.wst.common.modulecore.edit/src" editorDirectory="/org.eclipse.wst.common.modulecore.editor/src"
-    modelPluginID="org.eclipse.wst.common.modulecore" runtimeJar="true" modelName="ComponentCore"
-    editPluginClass="componentcore.provider.ComponentCoreEditPlugin" editorPluginClass="componentcore.presentation.ComponentCoreEditorPlugin">
-  <foreignModel>componentCore.ecore</foreignModel>
-  <genPackages prefix="Componentcore" basePackage="org.eclipse.wst.common" disposableProviderFactory="true"
-      interfacePackageSuffix="internal" classPackageSuffix="internal.impl" utilityPackageSuffix="internal.util"
-      ecorePackage="componentCore.ecore#/">
-    <genEnums ecoreEnum="componentCore.ecore#//DependencyType">
-      <genEnumLiterals ecoreEnumLiteral="componentCore.ecore#//DependencyType/uses"/>
-      <genEnumLiterals ecoreEnumLiteral="componentCore.ecore#//DependencyType/consumes"/>
-    </genEnums>
-    <genDataTypes ecoreDataType="componentCore.ecore#//IPath"/>
-    <genDataTypes ecoreDataType="componentCore.ecore#//URI"/>
-    <genClasses ecoreClass="componentCore.ecore#//WorkbenchComponent">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//WorkbenchComponent/name"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference componentCore.ecore#//WorkbenchComponent/resources"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference componentCore.ecore#//WorkbenchComponent/componentType"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference componentCore.ecore#//WorkbenchComponent/referencedComponents"/>
-    </genClasses>
-    <genClasses ecoreClass="componentCore.ecore#//ComponentResource">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ComponentResource/sourcePath"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ComponentResource/runtimePath"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ComponentResource/exclusions"/>
-      <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference componentCore.ecore#//ComponentResource/component"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ComponentResource/resourceType"/>
-    </genClasses>
-    <genClasses ecoreClass="componentCore.ecore#//ComponentType">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ComponentType/componentTypeId"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ComponentType/version"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference componentCore.ecore#//ComponentType/properties"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ComponentType/metadataResources"/>
-    </genClasses>
-    <genClasses ecoreClass="componentCore.ecore#//Property">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//Property/name"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//Property/value"/>
-    </genClasses>
-    <genClasses ecoreClass="componentCore.ecore#//ReferencedComponent">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ReferencedComponent/handle"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ReferencedComponent/runtimePath"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ReferencedComponent/dependencyType"/>
-      <genFeatures notify="false" createChild="false" ecoreFeature="ecore:EReference componentCore.ecore#//ReferencedComponent/dependentObject"/>
-    </genClasses>
-    <genClasses ecoreClass="componentCore.ecore#//ProjectComponents">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute componentCore.ecore#//ProjectComponents/projectName"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference componentCore.ecore#//ProjectComponents/components"/>
-    </genClasses>
-  </genPackages>
-</genmodel:GenModel>
diff --git a/plugins/org.eclipse.wst.common.modulecore/model/componentCorePackage.emx b/plugins/org.eclipse.wst.common.modulecore/model/componentCorePackage.emx
deleted file mode 100644
index a903de7..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/model/componentCorePackage.emx
+++ /dev/null
@@ -1,310 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--xtools2_universal_type_manager-->
-<uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.ibm.com/xtools/1.5.0/Notation" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xmlns:umlnotation="http://www.ibm.com/xtools/1.5.0/Umlnotation" xmi:id="_wUCHwMO8EdmmEbKEBnW0AQ" name="componentCorePackage" appliedProfile="_wUCHxMO8EdmmEbKEBnW0AQ _wUCHx8O8EdmmEbKEBnW0AQ _wUCHysO8EdmmEbKEBnW0AQ _wUIOYsO8EdmmEbKEBnW0AQ _wUIOZcO8EdmmEbKEBnW0AQ">
-  <eAnnotations xmi:id="_wUCHwcO8EdmmEbKEBnW0AQ" source="uml2.diagrams" references="_wUCHwsO8EdmmEbKEBnW0AQ">
-    <contents xmi:type="notation:Diagram" xmi:id="_wUCHwsO8EdmmEbKEBnW0AQ" type="Class" name="Main">
-      <children xmi:id="_2r1XUMO8EdmmEbKEBnW0AQ" sourceEdges="_3IZXgMO8EdmmEbKEBnW0AQ _3IfeIMO8EdmmEbKEBnW0AQ _3IfeJ8O8EdmmEbKEBnW0AQ" targetEdges="_3IZXgMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_2vFfoMO8EdmmEbKEBnW0AQ" type="ImageCompartment">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_2vFfocO8EdmmEbKEBnW0AQ" width="1320" height="1320"/>
-        </children>
-        <children xmi:id="_2vFfosO8EdmmEbKEBnW0AQ" type="Stereotype">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2vFfo8O8EdmmEbKEBnW0AQ" type="Name">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2vFfpMO8EdmmEbKEBnW0AQ" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_2vFfpcO8EdmmEbKEBnW0AQ" filtering="Manual">
-            <filteredObjects xmi:type="uml:Property" href="vizref:///#jfield^vcore.target=uml2.Property^name=artifactEditModel[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-            <filteredObjects xmi:type="uml:Property" href="vizref:///#jfield^vcore.target=uml2.Property^name=isReadOnly[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-            <filteredObjects xmi:type="uml:Property" href="vizref:///#jfield^vcore.target=uml2.Property^name=isArtifactEditModelSelfManaged[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </styles>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2vFfpsO8EdmmEbKEBnW0AQ" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_2vFfp8O8EdmmEbKEBnW0AQ" filtering="Automatic" filteringKeys="private,package,protected"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2vFfqMO8EdmmEbKEBnW0AQ" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_2vFfqcO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2vFfqsO8EdmmEbKEBnW0AQ" visible="false" type="StructureCompartment">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_2vFfq8O8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_2r1XUcO8EdmmEbKEBnW0AQ" showStereotype="Label"/>
-        <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2r1XUsO8EdmmEbKEBnW0AQ" x="15582" y="21942"/>
-      </children>
-      <children xmi:id="_25TLkMO8EdmmEbKEBnW0AQ" sourceEdges="_3IlkwMO8EdmmEbKEBnW0AQ _3IlkyMO8EdmmEbKEBnW0AQ" targetEdges="_3IfeJ8O8EdmmEbKEBnW0AQ _3IlkwMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_25TLk8O8EdmmEbKEBnW0AQ" type="ImageCompartment">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_25TLlMO8EdmmEbKEBnW0AQ" width="1320" height="1320"/>
-        </children>
-        <children xmi:id="_25TLlcO8EdmmEbKEBnW0AQ" type="Stereotype">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_25TLlsO8EdmmEbKEBnW0AQ" type="Name">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_25TLl8O8EdmmEbKEBnW0AQ" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_25TLmMO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_25TLmcO8EdmmEbKEBnW0AQ" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_25TLmsO8EdmmEbKEBnW0AQ" filtering="Automatic" filteringKeys="private,package,protected"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_25TLm8O8EdmmEbKEBnW0AQ" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_25TLnMO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_25TLncO8EdmmEbKEBnW0AQ" visible="false" type="StructureCompartment">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_25TLnsO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_25TLkcO8EdmmEbKEBnW0AQ" showStereotype="Label"/>
-        <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_25TLksO8EdmmEbKEBnW0AQ" x="7009" y="17487"/>
-      </children>
-      <children xmi:id="_29B1AMO8EdmmEbKEBnW0AQ" targetEdges="_3IfeIMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_29B1A8O8EdmmEbKEBnW0AQ" type="ImageCompartment">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_29B1BMO8EdmmEbKEBnW0AQ" width="530" height="530"/>
-        </children>
-        <children xmi:id="_29B1BcO8EdmmEbKEBnW0AQ" type="Stereotype">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_29B1BsO8EdmmEbKEBnW0AQ" type="Kind">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_29B1B8O8EdmmEbKEBnW0AQ" type="Name">
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_29B1CMO8EdmmEbKEBnW0AQ" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_29B1CcO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_29H7oMO8EdmmEbKEBnW0AQ" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_29H7ocO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_29H7osO8EdmmEbKEBnW0AQ" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_29H7o8O8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_29B1AcO8EdmmEbKEBnW0AQ" showStereotype="Label" useClassifierShape="true"/>
-        <element xmi:type="uml:Interface" href="vizref:///#jsrctype^vcore.target=uml2.Interface^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_29B1AsO8EdmmEbKEBnW0AQ" x="16218" y="17490"/>
-      </children>
-      <children xmi:id="_294woMO8EdmmEbKEBnW0AQ" targetEdges="_3IlkyMO8EdmmEbKEBnW0AQ _3IrrY8O8EdmmEbKEBnW0AQ">
-        <children xmi:id="_294wo8O8EdmmEbKEBnW0AQ" type="ImageCompartment">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_294wpMO8EdmmEbKEBnW0AQ" width="1320" height="1320"/>
-        </children>
-        <children xmi:id="_294wpcO8EdmmEbKEBnW0AQ" type="Stereotype">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_294wpsO8EdmmEbKEBnW0AQ" type="Name">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_294wp8O8EdmmEbKEBnW0AQ" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_294wqMO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_294wqcO8EdmmEbKEBnW0AQ" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_294wqsO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_294wq8O8EdmmEbKEBnW0AQ" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_294wrMO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_294wrcO8EdmmEbKEBnW0AQ" visible="false" type="StructureCompartment">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_294wrsO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_294wocO8EdmmEbKEBnW0AQ" showStereotype="Label"/>
-        <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_294wosO8EdmmEbKEBnW0AQ" x="3894" y="25611"/>
-      </children>
-      <children xmi:id="_2-RLIMO8EdmmEbKEBnW0AQ" sourceEdges="_3IrrY8O8EdmmEbKEBnW0AQ">
-        <children xmi:id="_2-RLI8O8EdmmEbKEBnW0AQ" type="ImageCompartment">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-          <layoutConstraint xmi:type="notation:Size" xmi:id="_2-RLJMO8EdmmEbKEBnW0AQ" width="1320" height="1320"/>
-        </children>
-        <children xmi:id="_2-RLJcO8EdmmEbKEBnW0AQ" type="Stereotype">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2-RLJsO8EdmmEbKEBnW0AQ" type="Name">
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2-RLJ8O8EdmmEbKEBnW0AQ" type="AttributeCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_2-RLKMO8EdmmEbKEBnW0AQ" filtering="Automatic" filteringKeys="protected,private,package"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2-XRwMO8EdmmEbKEBnW0AQ" type="OperationCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_2-XRwcO8EdmmEbKEBnW0AQ" filtering="Automatic" filteringKeys="protected,private,package"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2-XRwsO8EdmmEbKEBnW0AQ" visible="false" type="SignalCompartment">
-          <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_2-XRw8O8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <children xmi:id="_2-XRxMO8EdmmEbKEBnW0AQ" visible="false" type="StructureCompartment">
-          <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_2-XRxcO8EdmmEbKEBnW0AQ"/>
-          <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_2-RLIcO8EdmmEbKEBnW0AQ" showStereotype="Label"/>
-        <element xmi:type="uml:Class" href="vizref:///#jsrctype^vcore.target=uml2.Class^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2-RLIsO8EdmmEbKEBnW0AQ" x="1908" y="17490"/>
-      </children>
-      <styles xmi:type="umlnotation:UMLDiagramStyle" xmi:id="_wUCHw8O8EdmmEbKEBnW0AQ"/>
-      <edges xmi:id="_3IZXgMO8EdmmEbKEBnW0AQ" source="_2r1XUMO8EdmmEbKEBnW0AQ" target="_2r1XUMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_3IZXg8O8EdmmEbKEBnW0AQ" type="KindLabel">
-          <children xmi:id="_3IZXhcO8EdmmEbKEBnW0AQ" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IZXh8O8EdmmEbKEBnW0AQ" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IZXhsO8EdmmEbKEBnW0AQ" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3IZXhMO8EdmmEbKEBnW0AQ" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_3IZXgcO8EdmmEbKEBnW0AQ" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3IZXgsO8EdmmEbKEBnW0AQ" points="[2673, 4312, 2673, 4312]$[3228, 4312, 3228, 4312]$[3228, 5556, 3228, 5556]$[1932, 5556, 1932, 5556]$[1932, 4947, 1932, 4947]"/>
-      </edges>
-      <edges xmi:id="_3IfeIMO8EdmmEbKEBnW0AQ" source="_2r1XUMO8EdmmEbKEBnW0AQ" target="_29B1AMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_3IfeI8O8EdmmEbKEBnW0AQ" type="NameLabel">
-          <children xmi:id="_3IfeJcO8EdmmEbKEBnW0AQ" type="Stereotype">
-            <element xmi:type="uml:Implementation" href="vizref:///#jimpl^vcore.target=uml2.Implementation[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IfeJsO8EdmmEbKEBnW0AQ" type="Name">
-            <element xmi:type="uml:Implementation" href="vizref:///#jimpl^vcore.target=uml2.Implementation[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Implementation" href="vizref:///#jimpl^vcore.target=uml2.Implementation[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3IfeJMO8EdmmEbKEBnW0AQ" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_3IfeIcO8EdmmEbKEBnW0AQ" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Implementation" href="vizref:///#jimpl^vcore.target=uml2.Implementation[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=IEditModelHandler[jcu^name=IEditModelHandler.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3IfeIsO8EdmmEbKEBnW0AQ" points="[27, -4948, 53, 3175]$[27, -6827, 53, 1296]"/>
-      </edges>
-      <edges xmi:id="_3IfeJ8O8EdmmEbKEBnW0AQ" source="_2r1XUMO8EdmmEbKEBnW0AQ" target="_25TLkMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_3IfeKsO8EdmmEbKEBnW0AQ" type="KindLabel">
-          <children xmi:id="_3IfeLMO8EdmmEbKEBnW0AQ" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IfeLsO8EdmmEbKEBnW0AQ" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IfeLcO8EdmmEbKEBnW0AQ" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3IfeK8O8EdmmEbKEBnW0AQ" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_3IfeKMO8EdmmEbKEBnW0AQ" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ArtifactEdit[jcu^name=ArtifactEdit.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3IfeKcO8EdmmEbKEBnW0AQ" points="[-13, 7077, 2831, -5636]$[-2844, 8664, 0, -4049]"/>
-      </edges>
-      <edges xmi:id="_3IlkwMO8EdmmEbKEBnW0AQ" source="_25TLkMO8EdmmEbKEBnW0AQ" target="_25TLkMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_3Ilkw8O8EdmmEbKEBnW0AQ" type="KindLabel">
-          <children xmi:id="_3IlkxcO8EdmmEbKEBnW0AQ" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3Ilkx8O8EdmmEbKEBnW0AQ" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IlkxsO8EdmmEbKEBnW0AQ" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3IlkxMO8EdmmEbKEBnW0AQ" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_3IlkwcO8EdmmEbKEBnW0AQ" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3IlkwsO8EdmmEbKEBnW0AQ" points="[2831, 2964, 2831, 2964]$[2831, 3837, 2831, 3837]$[1322, 3837, 1322, 3837]$[1322, 2964, 1322, 2964]"/>
-      </edges>
-      <edges xmi:id="_3IlkyMO8EdmmEbKEBnW0AQ" source="_25TLkMO8EdmmEbKEBnW0AQ" target="_294woMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_3Ilky8O8EdmmEbKEBnW0AQ" type="KindLabel">
-          <children xmi:id="_3IrrYMO8EdmmEbKEBnW0AQ" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IrrYsO8EdmmEbKEBnW0AQ" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IrrYcO8EdmmEbKEBnW0AQ" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3IlkzMO8EdmmEbKEBnW0AQ" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_3IlkycO8EdmmEbKEBnW0AQ" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ModuleCoreNature[jcu^name=ModuleCoreNature.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3IlkysO8EdmmEbKEBnW0AQ" points="[0, 4048, 3307, -2460]$[-3307, 5635, 0, -873]"/>
-      </edges>
-      <edges xmi:id="_3IrrY8O8EdmmEbKEBnW0AQ" source="_2-RLIMO8EdmmEbKEBnW0AQ" target="_294woMO8EdmmEbKEBnW0AQ">
-        <children xmi:id="_3IrrZsO8EdmmEbKEBnW0AQ" type="KindLabel">
-          <children xmi:id="_3IrraMO8EdmmEbKEBnW0AQ" type="Stereotype">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IrrasO8EdmmEbKEBnW0AQ" type="Kind">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <children xmi:id="_3IrracO8EdmmEbKEBnW0AQ" type="Name">
-            <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          </children>
-          <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-          <layoutConstraint xmi:type="notation:Location" xmi:id="_3IrrZ8O8EdmmEbKEBnW0AQ" y="-185"/>
-        </children>
-        <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_3IrrZMO8EdmmEbKEBnW0AQ" routing="Rectilinear" showStereotype="Text"/>
-        <element xmi:type="uml:Usage" href="vizref:///#jdep^vcore.target=uml2.Usage[jsrctype^name=ComponentCore[jcu^name=ComponentCore.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]][jsrctype^name=UnresolveableURIException[jcu^name=UnresolveableURIException.java[jpack^name=org.eclipse.wst.common.componentcore[jsrcroot^srcfolder=modulecore-src[project^vcore.target=uml2.Model^id=org.eclipse.wst.common.modulecore]]]]]"/>
-        <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3IrrZcO8EdmmEbKEBnW0AQ" points="[-1, 4048, -3308, -2460]$[3307, 5635, 0, -873]"/>
-      </edges>
-    </contents>
-  </eAnnotations>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_wUCHxMO8EdmmEbKEBnW0AQ">
-    <eAnnotations xmi:id="_wUCHxcO8EdmmEbKEBnW0AQ" source="attributes">
-      <details xmi:id="_wUCHxsO8EdmmEbKEBnW0AQ" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Basic.profile.uml2#_6mFRgK86Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Basic.profile.uml2#_6mFRgK86Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_wUCHx8O8EdmmEbKEBnW0AQ">
-    <eAnnotations xmi:id="_wUCHyMO8EdmmEbKEBnW0AQ" source="attributes">
-      <details xmi:id="_wUCHycO8EdmmEbKEBnW0AQ" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Intermediate.profile.uml2#_Cz7csK87Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Intermediate.profile.uml2#_Cz7csK87Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_wUCHysO8EdmmEbKEBnW0AQ">
-    <eAnnotations xmi:id="_wUIOYMO8EdmmEbKEBnW0AQ" source="attributes">
-      <details xmi:id="_wUIOYcO8EdmmEbKEBnW0AQ" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Complete.profile.uml2#_M7pTkK87Edih9-GG5afQ0g"/>
-    <importedProfile href="pathmap://UML2_PROFILES/Complete.profile.uml2#_M7pTkK87Edih9-GG5afQ0g"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_wUIOYsO8EdmmEbKEBnW0AQ">
-    <eAnnotations xmi:id="_wUIOY8O8EdmmEbKEBnW0AQ" source="attributes">
-      <details xmi:id="_wUIOZMO8EdmmEbKEBnW0AQ" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default"/>
-    <importedProfile href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default"/>
-  </packageImport>
-  <packageImport xmi:type="uml:ProfileApplication" xmi:id="_wUIOZcO8EdmmEbKEBnW0AQ">
-    <eAnnotations xmi:id="_wUIOZsO8EdmmEbKEBnW0AQ" source="attributes">
-      <details xmi:id="_wUIOZ8O8EdmmEbKEBnW0AQ" key="version" value="0"/>
-    </eAnnotations>
-    <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment"/>
-    <importedProfile href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment"/>
-  </packageImport>
-  <packageImport xmi:id="_wUIOaMO8EdmmEbKEBnW0AQ">
-    <importedPackage xmi:type="uml:Model" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_EfRZoK86EdieaYgxtVWN8Q"/>
-  </packageImport>
-</uml:Model>
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ArtifactEdit.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ArtifactEdit.java
deleted file mode 100644
index 1e3f542..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ArtifactEdit.java
+++ /dev/null
@@ -1,530 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.command.CommandStack;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jem.internal.util.emf.workbench.nls.EMFWorkbenchResourceHandler;
-import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.frameworks.internal.operations.IOperationHandler;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener;
-
-/**
- * Provides a Facade pattern for accessing Module Content Metamodels for Web Tools Platform flexible
- * modules.
- * <p>
- * ArtifactEdit hides the management of accessing edit models ({@see ArtifactEditModel})
- * correctly. Each project may have multiple ({@see ArtifactEditModel})s depending on the number
- * of modules contained by the project. Clients should use ArtifactEdit or an appropriate subclass
- * when working with the content models of WTP modules.
- * </p>
- * 
- * <p>
- * Each ArtifactEdit facade is designed to manage the EditModel lifecycle for clients. However,
- * while each ArtifactEdit is designed to be passed around as needed, clients must enforce the
- * ArtifactEdit lifecycle. The most common method of acquiring a ArtifactEdit instance facade is to
- * use {@see #getArtifactEditForRead(WorkbenchComponent)}&nbsp;or
- * {@see #getArtifactEditForWrite(WorkbenchComponent)}.
- * </p>
- * <p>
- * When clients have concluded their use of the instance, <b>clients must call {@see #dispose()}
- * </b>.
- * </p>
- * <p>
- * This class is experimental until fully documented.
- * </p>
- * 
- * @see ModuleCoreNature
- * @see ArtifactEditModel
- * @plannedfor 1.0
- */
-public class ArtifactEdit implements IEditModelHandler, IAdaptable{
-
-	public static final Class ADAPTER_TYPE = ArtifactEdit.class;
-	private final ArtifactEditModel artifactEditModel;
-	private boolean isReadOnly;
-	private boolean isArtifactEditModelSelfManaged;
-
-
-	/**
-	 * 
-	 */
-	protected ArtifactEdit() {
-		super();
-		artifactEditModel = null;
-		// TODO Auto-generated constructor stub
-	}
-
-	/**
-	 * <p>
-	 * Returns an instance facade to manage the underlying edit model for the given
-	 * {@see WorkbenchComponent}. Instances of ArtifactEdit that are returned through this method
-	 * must be {@see #dispose()}ed of when no longer in use.
-	 * </p>
-	 * <p>
-	 * Use to acquire an ArtifactEdit facade for a specific {@see WorkbenchComponent}&nbsp;that
-	 * will not be used for editing. Invocations of any save*() API on an instance returned from
-	 * this method will throw exceptions.
-	 * </p>
-	 * <p>
-	 * <b>The following method may return null. </b>
-	 * </p>
-	 * <p>Note: This method is for internal use only. Clients should not call this method.</p>
-	 * @param aModule
-	 *            A valid {@see WorkbenchComponent}&nbsp;with a handle that resolves to an
-	 *            accessible project in the workspace
-	 * @return An instance of ArtifactEdit that may only be used to read the underlying content
-	 *         model
-	 */
-	public static ArtifactEdit getArtifactEditForRead(IVirtualComponent aModule) {
-		if (isValidEditableModule(aModule)) {
-			IProject project = aModule.getProject();
-			ModuleCoreNature nature = ModuleCoreNature.getModuleCoreNature(project);
-			return new ArtifactEdit(nature, aModule, true);
-		}
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * Returns an instance facade to manage the underlying edit model for the given
-	 * {@see WorkbenchComponent}. Instances of ArtifactEdit that are returned through this method
-	 * must be {@see #dispose()}ed of when no longer in use.
-	 * </p>
-	 * <p>
-	 * Use to acquire an ArtifactEdit facade for a specific {@see WorkbenchComponent}&nbsp;that
-	 * will be used for editing.
-	 * </p>
-	 * <p>
-	 * <b>The following method may return null. </b>
-	 * </p>
-	 * <p>Note: This method is for internal use only. Clients should not call this method.</p>
-	 * @param aModule
-	 *            A valid {@see WorkbenchComponent}&nbsp;with a handle that resolves to an
-	 *            accessible project in the workspace
-	 * @return An instance of ArtifactEdit that may be used to modify and persist changes to the
-	 *         underlying content model
-	 */
-	public static ArtifactEdit getArtifactEditForWrite(IVirtualComponent aModule) {
-		if (isValidEditableModule(aModule)) {
-			IProject project = aModule.getProject();
-			ModuleCoreNature nature = ModuleCoreNature.getModuleCoreNature(project);
-			return new ArtifactEdit(nature, aModule, false);
-		}
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * Returns an instance facade to manage the underlying edit model for the given
-	 * {@see WorkbenchComponent}. Instances of ArtifactEdit that are returned through this method
-	 * must be {@see #dispose()}ed of when no longer in use.
-	 * </p>
-	 * <p>
-	 * Use to acquire an ArtifactEdit facade for a specific {@see WorkbenchComponent}&nbsp;that
-	 * will not be used for editing. Invocations of any save*() API on an instance returned from
-	 * this method will throw exceptions.
-	 * </p>
-	 * <p>
-	 * <b>The following method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aModule
-	 *            A valid {@see WorkbenchComponent}&nbsp;with a handle that resolves to an
-	 *            accessible project in the workspace
-	 * @return An instance of ArtifactEdit that may only be used to read the underlying content
-	 *         model
-	 */
-	public static ArtifactEdit getArtifactEditForRead(IProject aProject) {
-		ArtifactEdit artifactEdit = null;
-		try {
-			artifactEdit = new ArtifactEdit(aProject, true);
-		} catch (IllegalArgumentException iae) {
-			artifactEdit = null;
-		}
-		return artifactEdit;
-	}
-
-	/**
-	 * <p>
-	 * Returns an instance facade to manage the underlying edit model for the given
-	 * {@see WorkbenchComponent}. Instances of ArtifactEdit that are returned through this method
-	 * must be {@see #dispose()}ed of when no longer in use.
-	 * </p>
-	 * <p>
-	 * Use to acquire an ArtifactEdit facade for a specific {@see WorkbenchComponent}&nbsp;that
-	 * will be used for editing.
-	 * </p>
-	 * <p>
-	 * <b>The following method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aModule
-	 *            A valid {@see WorkbenchComponent}&nbsp;with a handle that resolves to an
-	 *            accessible project in the workspace
-	 * @return An instance of ArtifactEdit that may be used to modify and persist changes to the
-	 *         underlying content model
-	 */
-	public static ArtifactEdit getArtifactEditForWrite(IProject aProject) {
-		ArtifactEdit artifactEdit = null;
-		try {
-			artifactEdit = new ArtifactEdit(aProject, false);
-		} catch (IllegalArgumentException iae) {
-			artifactEdit = null;
-		}
-		return artifactEdit;
-	}
-
-	/**
-	 * <p>Note: This method is for internal use only. Clients should not call this method.</p>
-	 * @param module
-	 *            A {@see WorkbenchComponent}
-	 * @return True if the supplied module has a moduleTypeId which has a defined
-	 *         {@see IEditModelFactory}&nbsp;and is contained by an accessible project
-	 */
-	public static boolean isValidEditableModule(IVirtualComponent aModule) {
-		if (aModule == null)
-			return false;
-		if (ModuleURIUtil.fullyQualifyURI(aModule.getProject()) == null)
-			return false;
-		/* and the containing project must be resolveable and accessible */
-		IProject project = aModule.getProject();
-		if (project == null || !project.isAccessible())
-			return false;
-		
-		return true;
-	}
-
-
-	/**
-	 * <p>
-	 * Creates an instance facade for the given {@see ArtifactEditModel}.
-	 * </p>
-	 * 
-	 * @param anArtifactEditModel
-	 */
-	public ArtifactEdit(ArtifactEditModel anArtifactEditModel) {
-		artifactEditModel = anArtifactEditModel;
-		isReadOnly = artifactEditModel.isReadOnly();
-		isArtifactEditModelSelfManaged = false;
-	}
-
-	/**
-	 * <p>
-	 * Creates an instance facade for the given {@see WorkbenchComponent}.
-	 * </p>
-	 * <p>Note: This method is for internal use only. Clients should not call this method.</p>
-	 * @param aNature
-	 *            A non-null {@see ModuleCoreNature}&nbsp;for an accessible project
-	 * @param aModule
-	 *            A non-null {@see WorkbenchComponent}&nbsp;pointing to a module from the given
-	 *            {@see ModuleCoreNature}
-	 */
-	protected ArtifactEdit(ModuleCoreNature aNature, IVirtualComponent aModule, boolean toAccessAsReadOnly) {
-		if (toAccessAsReadOnly)
-			artifactEditModel = aNature.getArtifactEditModelForRead(ModuleURIUtil.fullyQualifyURI(aModule.getProject()), this);
-		else
-			artifactEditModel = aNature.getArtifactEditModelForWrite(ModuleURIUtil.fullyQualifyURI(aModule.getProject()), this);
-		isReadOnly = toAccessAsReadOnly;
-		isArtifactEditModelSelfManaged = true;
-	}
-
-	/**
-	 * <p>
-	 * Creates an instance facade for the given {@see WorkbenchComponent}.
-	 * </p>
-	 * 
-	 * @param aNature
-	 *            A non-null {@see ModuleCoreNature}&nbsp;for an accessible project
-	 * @param aModule
-	 *            A non-null {@see WorkbenchComponent}&nbsp;pointing to a module from the given
-	 *            {@see ModuleCoreNature}
-	 */
-	public ArtifactEdit(IProject aProject, boolean toAccessAsReadOnly) throws IllegalArgumentException {
-		this(aProject,toAccessAsReadOnly,false,null);
-	}
-	
-	/**
-	 * <p>
-	 * Creates an instance facade for the given {@see WorkbenchComponent}.
-	 * </p>
-	 * 
-	 * @param aNature
-	 *            A non-null {@see ModuleCoreNature}&nbsp;for an accessible project
-	 * @param aModule
-	 *            A non-null {@see WorkbenchComponent}&nbsp;pointing to a module from the given
-	 *            {@see ModuleCoreNature}
-	 */
-	protected ArtifactEdit(IProject aProject, boolean toAccessAsReadOnly, boolean forCreate, String projectType) throws IllegalArgumentException {
-
-		if (aProject == null || !aProject.isAccessible())
-			throw new IllegalArgumentException("Invalid project: " + aProject);
-
-		ModuleCoreNature nature = ModuleCoreNature.getModuleCoreNature(aProject);
-
-		if (nature == null)
-			throw new IllegalArgumentException("Project does not have ModuleCoreNature: " + aProject);
-
-		IVirtualComponent component = ComponentCore.createComponent(aProject);
-		if (component == null)
-			throw new IllegalArgumentException("Invalid component handle: " + aProject);
-		if (!forCreate && !isValidEditableModule(component))
-			throw new IllegalArgumentException("Invalid component handle: " + aProject);
-		URI componentURI = ModuleURIUtil.fullyQualifyURI(aProject);
-
-		if (toAccessAsReadOnly)
-			artifactEditModel = nature.getArtifactEditModelForRead(componentURI, this, projectType);
-		else
-			artifactEditModel = nature.getArtifactEditModelForWrite(componentURI, this, projectType);
-		isReadOnly = toAccessAsReadOnly;
-		isArtifactEditModelSelfManaged = true;
-	}
-
-
-	/**
-	 * <p>
-	 * Force a save of the underlying model. The following method should be used with care. Unless
-	 * required, use {@see #saveIfNecessary(IProgressMonitor)}&nbsp; instead.
-	 * </p>
-	 * 
-	 * @see org.eclipse.wst.common.componentcore.IEditModelHandler#save()
-	 * @throws IllegalStateException
-	 *             If the ModuleCore object was created as read-only
-	 */
-	public void save(IProgressMonitor aMonitor) {
-		if (isReadOnly())
-			throwAttemptedReadOnlyModification();
-		artifactEditModel.save(aMonitor, this);
-	}
-
-	/**
-	 * <p>
-	 * Save the underlying model only if no other clients are currently using the model. If the
-	 * model is not shared, it will be saved. If it is shared, the save will be deferred.
-	 * </p>
-	 * 
-	 * @see org.eclipse.wst.common.componentcore.IEditModelHandler#saveIfNecessary()
-	 * @throws IllegalStateException
-	 *             If the ModuleCore object was created as read-only
-	 */
-	public void saveIfNecessary(IProgressMonitor aMonitor) {
-		if (isReadOnly())
-			throwAttemptedReadOnlyModification();
-		artifactEditModel.saveIfNecessary(aMonitor, this);
-	}
-
-	/**
-	 * Save only if necessary. If typically a save would not occur because this edit model is
-	 * shared, the user will be prompted using the
-	 * 
-	 * @operationHandler. If the prompt returns true (the user wants to save) the entire edit model
-	 *                    will be saved. You may pass in a boolean <code>wasDirty</code> to
-	 *                    indicate whether this edit model was dirty prior to making any changes and
-	 *                    calling this method. {@link EditModel#isDirty()}
-	 */
-	public void saveIfNecessaryWithPrompt(IProgressMonitor monitor, IOperationHandler operationHandler, boolean wasDirty) {
-
-		if (shouldSave(operationHandler, wasDirty))
-			saveIfNecessary(monitor);
-		else
-			handleSaveIfNecessaryDidNotSave(monitor);
-	}
-
-	/**
-	 * Default is to do nothing. This method is called if a saveIfNecessary or
-	 * saveIfNecessaryWithPrompt determines not to save. This provides subclasses with an
-	 * opportunity to do some other action.
-	 */
-	private void handleSaveIfNecessaryDidNotSave(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/**
-	 * Should the resources be saved.
-	 */
-	private boolean shouldSave(IOperationHandler operationHandler, boolean wasDirty) {
-		return !wasDirty ? shouldSave() : shouldSave(operationHandler);
-	}
-
-	/**
-	 * Prompt for a save.
-	 */
-	private boolean promptToSave(IOperationHandler operationHandler) {
-		if (operationHandler == null)
-			return false;
-		return operationHandler.canContinue(EMFWorkbenchResourceHandler.getString("The_following_resources_ne_UI_"), getArtifactEditModel().getResourceURIs(true)); //$NON-NLS-1$ = "The following resources need to be saved but are currently shared, do you want to save now?"
-	}
-
-	/**
-	 * Should the resources be saved.
-	 */
-	private boolean shouldSave(IOperationHandler operationHandler) {
-		return shouldSave() || promptToSave(operationHandler);
-	}
-
-	/**
-	 * Should the resources be saved.
-	 */
-	private boolean shouldSave() {
-		return !isReadOnly() && isArtifactEditModelSelfManaged;
-	}
-
-	/**
-	 * <p>
-	 * Clients must call the following method when they have finished using the model, even if the
-	 * ArtifactEdit instance facade was created as read-only.
-	 * </p>
-	 * 
-	 * @see org.eclipse.wst.common.componentcore.IEditModelHandler#dispose()
-	 */
-	public void dispose() {
-		if (isArtifactEditModelSelfManaged && artifactEditModel != null)
-			artifactEditModel.releaseAccess(this);
-	}
-
-	/**
-	 * <p>
-	 * Returns the root object for read or write access (depending on how the current ArtifactEdit
-	 * was loaded).
-	 * </p>
-	 * 
-	 * @return The root object of the underlying model
-	 */
-	public EObject getContentModelRoot() {
-		return artifactEditModel.getPrimaryRootObject();
-	}
-
-	/**
-	 * <p>
-	 * Add a listener to track lifecylce events from the underlying EditModel.
-	 * </p>
-	 * 
-	 * @param listener
-	 *            A non-null EditModelListener
-	 */
-	public void addListener(EditModelListener listener) {
-		artifactEditModel.addListener(listener);
-	}
-
-	/**
-	 * <p>
-	 * Remove the supplied listener
-	 * </p>
-	 * 
-	 * @param listener
-	 *            A non-null EditModelListener
-	 *           
-	 */
-	public void removeListener(EditModelListener listener) {
-		artifactEditModel.removeListener(listener);
-	}
-
-	/**
-	 * <p>
-	 * This method may be removed soon. Avoid adding dependencies to it.
-	 * </p>
-	 * <p>
-	 * This method is considered internal and not published as API.
-	 * </p>
-	 * @param editModel
-	 * @return
-	 */
-	public boolean hasEditModel(EditModel editModel) {
-		return artifactEditModel == editModel;
-	}
-	/**
-	 * 
-	 * @return IProject - returns the project of the underlying workbench component.
-	 */
-	public IProject getProject() {
-		
-		return getArtifactEditModel().getProject();
-	}
-	/**
-	 * 
-	 * @return IVirtualComponent - returns the underlying workbench component.
-	 */
-	public IVirtualComponent getComponent() {
-		
-		return getArtifactEditModel().getVirtualComponent();
-	}
-
-	/**
-	 * @return The underlying managed edit model
-	 */
-	protected ArtifactEditModel getArtifactEditModel() {
-		return artifactEditModel;
-	}
-	
-	/**
-	 * @return The EMF command stack managed by the underlying editmodel
-	 */
-	public CommandStack getCommandStack() {
-		return artifactEditModel.getCommandStack();
-	}
-	/**
-	 * 
-	 * @deprecated Use ((ArtifactEditModel)getAdapter(ArtifactEditModel.ADAPTER_TYPE)).deleteResource(aResource);
-	 */
-	public void deleteResource(Resource aResource) {
-		artifactEditModel.deleteResource(aResource);
-	}
-	/**
-	 * @return The isDirty flag based the underlying editmodel's list of resources.
-	 */
-	public boolean isDirty() {
-		return artifactEditModel.isDirty();
-	}
-
-	private void throwAttemptedReadOnlyModification() {
-		throw new IllegalStateException("Attempt to modify an ArtifactEdit instance facade that was loaded as read-only.");
-	}
-
-	public boolean isReadOnly() {
-		return isReadOnly;
-	}
-	
-	/**
-	 * Force all of the known resource URIs to be loaded
-	 * if they are not already.
-	 */
-	public void forceLoadKnownResources() {
-		List uris = getArtifactEditModel().getKnownResourceUris();
-		URI uri = null;
-		for (int i = 0; i < uris.size(); i++) {
-			uri = (URI) uris.get(i);
-			getArtifactEditModel().getResource(uri);
-		}
-	}
-	
-	/**
-	 * Return a Resource for @aUri.
-	 * @deprecated Use ((ArtifactEditModel)getAdapter(ArtifactEditModel.ADAPTER_TYPE)).getResource(aResource);
-	 */
-	public Resource getResource(URI aUri) {
-		return getArtifactEditModel().getResource(aUri);
-	}
-
-	public Object getAdapter(Class adapterType) {
-		return Platform.getAdapterManager().getAdapter(this, adapterType);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ComponentCore.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ComponentCore.java
deleted file mode 100644
index 243e84b..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ComponentCore.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeNode;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualFile;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualFolder;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualResource;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualContainer;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-/**
- * Provides a handle creation factory for the Virtual Path API. Clients may use
- * this class to convert Platform IResource model elements to IVirtualResource
- * model elements.
- * <p>
- * ComponentCore provides a consistent entry point to the IVirtual Path model
- * that allows clients to group resources together in logical collections with a
- * path structure that varies from their actual source location structures.
- * </p>
- * 
- * @plannedfor 1.0
- */
-public class ComponentCore {
-
-	private static final IVirtualResource[] NO_RESOURCES = new VirtualResource[0];
-
-	/**
-	 * Return an IVirtualComponent with the given name (aComponentName)
-	 * contained by the given project (aProject). Component names should be
-	 * unique across a project.
-	 * 
-	 * @param aProject
-	 *            A valid, accessible project to contain the component
-	 * @return A handle to an IVirtualComponent that may or may not exist or
-	 *         null if passed project does not contain ModuleCoreNature.
-	 * @see IVirtualContainer#create(int, IProgressMonitor)
-	 */
-	public static IVirtualComponent createComponent(IProject aProject) {
-		if (!ModuleCoreNature.isFlexibleProject(aProject))
-			return null;
-		return new VirtualComponent(aProject, new Path("/")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Return an IVirtualComponent with the given name (aComponentName)
-	 * contained by the given project (aProject). Component names should be
-	 * unique across a project.
-	 * 
-	 * @param aProject
-	 *            A valid, accessible project to contain the component
-	 * @return A handle to an IVirtualComponent that may or may not exist or
-	 *         null if passed project does not contain ModuleCoreNature.
-	 * @deprecated
-	 * @see IVirtualContainer#create(int, IProgressMonitor)
-	 */
-	public static IVirtualComponent createComponent(IProject aProject, String aName) {
-		return createComponent(aProject);
-	}
-
-	/**
-	 * Return an IVirtualComponent with the given name (aComponentName)
-	 * 
-	 * @param aComponentName
-	 *            A name to identify the component, the name can be
-	 *            lib/&lt;Absolute path of a jar&gt; or
-	 *            var/&lt;CLASSPATH_VARIABLE/library namer&gt;
-	 * @return A handle to an IVirtualComponent that may or may not exist.
-	 * @see IVirtualContainer#create(int, IProgressMonitor)
-	 */
-	public static IVirtualComponent createArchiveComponent(IProject aProject, String aComponentName) {
-		return new VirtualArchiveComponent(aProject, aComponentName, new Path("/")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Return an IVirtualFolder with a runtime path specified by aRuntimePath
-	 * contained by aProject, in a component named aComponentName. The resultant
-	 * IVirtualFolder may or may not exist.
-	 * 
-	 * @param aProject
-	 *            A valid, accessible project to contain the component
-	 * @param aRuntimePath
-	 *            The runtime path of the IVirtualFolder to return.
-	 * @return An IVirtualFolder contained by the specified component with the
-	 *         given runtime path
-	 * @see IVirtualContainer#create(int, IProgressMonitor)
-	 * @see IVirtualResource#createLink(IPath, int, IProgressMonitor)
-	 */
-	public static IVirtualFolder createFolder(IProject aProject, IPath aRuntimePath) {
-		return new VirtualFolder(aProject, aRuntimePath);
-	}
-
-	/**
-	 * Return an IVirtualFile with a runtime path specified by aRuntimePath
-	 * contained by aProject, in a component named aComponentName. IVirtualFiles
-	 * can only be created as links. Use
-	 * {@link IVirtualResource#getUnderlyingResource()} or
-	 * {@link IVirtualFile#getUnderlyingFile()} to create a resource with real
-	 * contents.
-	 * 
-	 * @param aProject
-	 *            A valid, accessible project to contain the component
-	 * @param aRuntimePath
-	 *            The runtime path of the IVirtualFolder to return.
-	 * @return An IVirtualFile contained by the specified component with the
-	 *         given runtime path
-	 * @see IVirtualResource#createLink(IPath, int, IProgressMonitor)
-	 */
-	public static IVirtualFile createFile(IProject aProject, IPath aRuntimePath) {
-		return new VirtualFile(aProject, aRuntimePath);
-	}
-
-	/**
-	 * Return an IVirtualReference that captures a relationship between
-	 * aComponent and aReferencedComponent. The IVirtualReference will be stored
-	 * with aComponent and target aReferencedComponent. IVirtualReferences may
-	 * span projects.
-	 * 
-	 * @param aComponent
-	 *            A valid, existing IVirtualComponent
-	 * @param aReferencedComponent
-	 *            A valid, existing IVirtualComponent
-	 * @return An IVirtualReference that captures the relationship between
-	 *         aComponent and aReferencedComponent.
-	 * @see IVirtualReference#create(int, IProgressMonitor)
-	 */
-	public static IVirtualReference createReference(IVirtualComponent aComponent, IVirtualComponent aReferencedComponent) {
-		return new VirtualReference(aComponent, aReferencedComponent);
-	}
-
-	public static IVirtualReference createReference(IVirtualComponent aComponent, IVirtualComponent aReferencedComponent, IPath runtimePath) {
-		return new VirtualReference(aComponent, aReferencedComponent, runtimePath);
-	}
-
-	/**
-	 * Return an array of IVirtualResources that represent the given IResource.
-	 * Each IResource could be mapped to multiple components, and thus an array
-	 * of each IVirtualResource that represents the IResource will be returned.
-	 * Each IVirtualResource may also map to other existing IResources, so the
-	 * mapping is not 1:1.
-	 * 
-	 * @param aResource
-	 *            An accessible IResource
-	 * @return An array of IVirtualResources from the model that represent the
-	 *         IResource.
-	 */
-	public static IVirtualResource[] createResources(IResource aResource) {
-		IProject proj = aResource.getProject();
-		StructureEdit se = null;
-		List foundResources = new ArrayList();
-		try {
-			se = StructureEdit.getStructureEditForRead(proj);
-			if (se != null) {
-				ComponentResource[] resources = se.findResourcesBySourcePath(aResource.getProjectRelativePath(), aResource.exists() ? ResourceTreeNode.CREATE_NONE : ResourceTreeNode.CREATE_RESOURCE_ALWAYS);
-				for (int i = 0; i < resources.length; i++) {
-					if (aResource.getType() == IResource.FILE)
-						foundResources.add(new VirtualFile(proj, resources[i].getRuntimePath()));
-					else
-						foundResources.add(new VirtualFolder(proj, resources[i].getRuntimePath()));
-				}
-			}
-		} catch (UnresolveableURIException e) {
-			e.printStackTrace();
-		} finally {
-			if (se != null) {
-				se.dispose();
-			}
-		}
-		if (foundResources.size() > 0)
-			return (IVirtualResource[]) foundResources.toArray(new VirtualResource[foundResources.size()]);
-		return NO_RESOURCES;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/IEditModelHandler.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/IEditModelHandler.java
deleted file mode 100644
index 7d89b16..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/IEditModelHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * <p>
- * Provides a standard interface for managing the lifecycle of an Edit Model. Clients which use
- * instances of this interface are <b>required to invoke {@see #dispose()}</b> when they have
- * completed their usage. Once clients have disposed that instance, they will not be able to invoke
- * {@see #save(IProgressMonitor)}or {@see #saveIfNecessary(IProgressMonitor)}&nbsp;and should be wary of
- * using any model objects acquired from the handler, as they may be or become stale.
- * </p>
- * @see org.eclipse.wst.common.componentcore.internal.StructureEdit
- * @see org.eclipse.wst.common.componentcore.ArtifactEdit
- * @plannedfor 1.0
- */
-public interface IEditModelHandler {
-
-	/**
-	 * <p>
-	 * Force a save of the underlying edit model and keep track of progress using the supplied
-	 * progress monitor. Clients should avoid calling this version of save unless they are certain
-	 * they require the model to be saved. Clients are encouraged to use
-	 * {@see #saveIfNecessary(IProgressMonitor)}&nbsp;instead.
-	 * </p>
-	 * 
-	 * @param aMonitor
-	 *            A valid progress monitor or null
-	 */
-	void save(IProgressMonitor aMonitor);
-
-	/**
-	 * <p>
-	 * Save the underlying edit model, if no other consumers are using the edit model, and keep
-	 * track of progress using the supplied progress monitor. This version of save will only save if
-	 * the underlying edit model is not shared with other consumers.
-	 * </p>
-	 * 
-	 * @param aMonitor
-	 *            A valid progress monitor or null
-	 */
-	void saveIfNecessary(IProgressMonitor aMonitor);
-
-	/**
-	 * <p>
-	 * Clients must invoke this method when they have finished using the handler.
-	 * </p>
-	 */
-	void dispose();
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ModuleCoreNature.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ModuleCoreNature.java
deleted file mode 100644
index 3368238..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/ModuleCoreNature.java
+++ /dev/null
@@ -1,564 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.jem.util.emf.workbench.EMFWorkbenchContextBase;
-import org.eclipse.jem.util.emf.workbench.ISynchronizerExtender;
-import org.eclipse.jem.util.emf.workbench.ProjectResourceSet;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
-import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel;
-import org.eclipse.wst.common.componentcore.internal.ModuleStructuralModel;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.impl.ArtifactEditModelFactory;
-import org.eclipse.wst.common.componentcore.internal.impl.ComponentCoreURIConverter;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleStructuralModelFactory;
-import org.eclipse.wst.common.componentcore.internal.impl.WTPResourceFactoryRegistry;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.internal.emfworkbench.edit.EditModelRegistry;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * <p>
- * Allows projects to support flexible project structures. The ModuleCoreNature manages the
- * configuration of a module structural builder that prepares WorkbenchModules for deployment.
- * </p>
- * <p>
- * To determine if a project supports flexible project structures, check for the existence of the
- * ModuleCoreNature:
- * <p>
- * <code>(ModuleCoreNature.getModuleCoreNature(project) != null)</code>
- * </p>
- * <p>
- * If the project has a ModuleCoreNature, then the project supports flexible module structures.
- * </p>
- * <p>
- * In general, clients are expected to use the utility methods available on this class to acquire
- * the ModuleCoreNature instance from a given project ({@see #getModuleCoreNature(IProject)}
- * &nbsp;or to make a flexible project flexible by adding a ModuleCoreNature (
- * {@see #addModuleCoreNatureIfNecessary(IProject, IProgressMonitor)}).
- * </p> 
- * <a name="model-discussion"/>
-* <a name="module-structural-model"/>
-* <p>
-* Each ModuleCoreNature from a given project can provide access to the
-* {@see org.eclipse.wst.common.modulecore.ModuleStructuralModel}&nbsp; of the project.
-* {@see org.eclipse.wst.common.modulecore.ModuleStructuralModel}&nbsp; is a subclass of
-* {@see org.eclipse.wst.common.internal.emfworkbench.integration.EditModel}&nbsp;that manages
-* resources associated with the Module Structural Metamodel. As an EditModel, the
-* {@see org.eclipse.wst.common.modulecore.ModuleStructuralModel}&nbsp; references EMF resources,
-* that contain EMF models -- in this case, the EMF model of <i>.component </i> file.
-* </p>
-* <p>
-* Clients are encouraged to use the Edit Facade pattern (via
-* {@see org.eclipse.wst.common.modulecore.ArtifactEdit}&nbsp; or one if its relevant subclasses)
-* to work directly with the Module Structural Metamodel.
-* </p>
-* <a name="artifact-editmodel"/>
-* <p>
-* Each ModuleCoreNature from a given project can also provide access to the
-* {@see org.eclipse.wst.common.modulecore.ArtifactEditModel}&nbsp; for each
-* {@see org.eclipse.wst.common.modulecore.WorkbenchComponent}&nbsp; contained by the project. Like
-* {@see org.eclipse.wst.common.modulecore.ModuleStructuralModel},
-* {@see org.eclipse.wst.common.modulecore.ArtifactEditModel}&nbsp; is a subclass of
-* {@see org.eclipse.wst.common.internal.emfworkbench.integration.EditModel}&nbsp; that contains
-* EMF resources, which in turn contain the EMF models of module metadata files (such as J2EE
-* deployment descriptors).
-* </p>
-* <p>
-* The following diagram highlights the relationships of these subclasses of EditModel, and the
-* relationship of the EditModel to the EMF resources. In the diagram, "MetamodelResource" and
-* "MetamodelObject" are used as placeholders for the specific subclasses of
-* {@see org.eclipse.emf.ecore.resource.Resource}&nbsp;and {@see org.eclipse.emf.ecore.EObject}&nbsp;
-* respectively.
-* </p>
-* <table cellspacing="10" cellpadding="10">
-* <tr>
-* <td>
-* <p>
-* <img src="../../../../../overview/metamodel_components.jpg" />
-* </p>
-* </td>
-* </tr>
-* <tr>
-* <td>
-* <p>
-* <i>Figure 1: A component diagram of the Module Edit Models. </i>
-* </p>
-* </td>
-* </tr>
-* </table>
-* <p>
-* Clients are encouraged to use the Edit Facade pattern (via
-* {@see org.eclipse.wst.common.modulecore.ArtifactEdit}&nbsp; or what if its relevant subclasses)
-* to work directly with the Module Structural Metamodel.
-* </p>
-* <a name="accessor-key"/>
-* <p>
-* All EditModels have a lifecycle that must be enforced to keep the resources loaded that are in
-* use, and to unload resources that are not in use. To access an EditModel, clients are required to
-* supply an object token referred to as an accessor key. The accessor key allows the framework to
-* better track which clients are using the EditModel, and to ensure that only a client which has
-* accessed the EditModel with an accessor key may invoke save*()s on that EditModel.
-* </p> 
- * @see org.eclipse.wst.common.componentcore.internal.StructureEdit
- * @see org.eclipse.wst.common.componentcore.internal.StructureEdit#getStructureEditForRead(IProject)
- * @see org.eclipse.wst.common.componentcore.internal.StructureEdit#getStructureEditForWrite(IProject)
- * @see org.eclipse.wst.common.componentcore.ArtifactEdit
- * @see org.eclipse.wst.common.componentcore.ArtifactEdit#getArtifactEditForRead(WorkbenchComponent)
- * @see org.eclipse.wst.common.componentcore.ArtifactEdit#getArtifactEditForWrite(WorkbenchComponent)
- * @plannedfor 1.0
- */
-public class ModuleCoreNature extends EditModelNature implements IProjectNature, IModuleConstants, ISynchronizerExtender {
-	
-    public static final String VALIDATION_BUILDER_ID = "org.eclipse.wst.validation.validationbuilder"; // plugin id of the validation builder//$NON-NLS-1$
-    private ModuleStructuralModel cachedModel;
-	/**
-	 * <p>
-	 * Find and return the ModuleCoreNature of aProject, if available.
-	 * <p>
-	 * <b>This method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aProject
-	 *            An accessible project
-	 * @return The ModuleCoreNature of aProject, if it exists
-	 */
-	public static ModuleCoreNature getModuleCoreNature(IProject aProject) {
-		try {
-			if (aProject != null && aProject.isAccessible())
-				return (ModuleCoreNature) aProject.getNature(IModuleConstants.MODULE_NATURE_ID);
-		} catch (CoreException e) {
-			//Ignore
-		}
-		return null;
-	}
-	public static boolean isFlexibleProject(IProject project) {
-		return ModuleCoreNature.getModuleCoreNature(project) != null;
-	}
-
-	/**
-	 * <p>
-	 * Adds a ModuleCoreNature to the project.
-	 * </p>
-	 * <p>
-	 * <b>This method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aProject
-	 *            A accessible project.
-	 * @param aMonitor
-	 *            A progress monitor to track the time to completion
-	 * @return The ModuleCoreNature of aProject, if it exists
-	 */
-	public static ModuleCoreNature addModuleCoreNatureIfNecessary(final IProject aProject, IProgressMonitor aMonitor) {
-		try {
-			if (aProject.hasNature(IModuleConstants.MODULE_NATURE_ID))
-				return getModuleCoreNature(aProject);
-
-			IJobManager manager = Platform.getJobManager();
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();	
-			if (aMonitor != null)
-				aMonitor.beginTask("Add ModuleCore Nature", 5); //$NON-NLS-1$
-			manager.beginRule(root, aMonitor);
-			try {
-				IProjectDescription description = aProject.getDescription();
-				String[] currentNatureIds = description.getNatureIds();
-				String[] newNatureIds = new String[currentNatureIds.length + 1];
-				System.arraycopy(currentNatureIds, 0, newNatureIds, 0, currentNatureIds.length);
-				newNatureIds[currentNatureIds.length] = IModuleConstants.MODULE_NATURE_ID;
-				description.setNatureIds(newNatureIds);
-				aProject.setDescription(description, aMonitor);
-			} catch (CoreException e) {
-				e.printStackTrace(); 				
-			} finally {
-				manager.endRule(root);
-			} 			
-			if (aMonitor != null)
-				aMonitor.done();
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-		/* Return the new nature */
-		return getModuleCoreNature(aProject);
-	}
-
-	/**
-	 * <p>
-	 * Return a {@see ModuleStructuralModel}&nbsp;for read-only access.
-	 * </p>
-	 * <p>
-	 * Clients are encouraged to use {@see ModuleCore#getModuleCoreForRead(IProject)}&nbsp;to work
-	 * with the Module Structural Metamodels of flexible projects.
-	 * </p>
-	 * <p>
-	 * See the discussion what a {@see ModuleStructuralModel}&nbsp; is and <a
-	 * href="#module-structural-model">how it relates to the Module Structural Metamodel </a>.
-	 * </p>
-	 * <p>
-	 * Also see the discussion of <a href="#accessor-key">the purpose of an accessor key </a>.
-	 * </p>
-	 * 
-	 * @param anAccessorKey
-	 *            Typically client supplies the object that invoked this method, or a proxy (
-	 *            <code>new Object()</code>) in the case of other static methods requesting a
-	 *            {@see ModuleStructuralModel}.
-	 * @return A {@see ModuleStructuralModel}for the project of the current nature.
-	 */
-	public ModuleStructuralModel getModuleStructuralModelForRead(Object anAccessorKey) {
-		return (ModuleStructuralModel) getEditModelForRead(ModuleStructuralModelFactory.MODULE_STRUCTURAL_MODEL_ID, anAccessorKey);
-	}
-
-	/**
-	 * <p>
-	 * Return a {@see ModuleStructuralModel}&nbsp;for write access.
-	 * </p>
-	 * <p>
-	 * Clients are encouraged to use {@see ModuleCore#getModuleCoreForWrite(IProject)}&nbsp;to work
-	 * with the Module Structural Metamodels of flexible projects.
-	 * </p>
-	 * <p>
-	 * See the discussion what a {@see ModuleStructuralModel}&nbsp; is and <a
-	 * href="#module-structural-model">how it relates to the Module Structural Metamodel </a>.
-	 * </p>
-	 * <p>
-	 * Also see the discussion of <a href="#accessor-key">the purpose of an accessor key </a>.
-	 * </p>
-	 * 
-	 * @param anAccessorKey
-	 *            Typically client supplies the object that invoked this method, or a proxy (
-	 *            <code>new Object()</code>) in the case of other static methods requesting a
-	 *            {@see ModuleStructuralModel}.
-	 * @return A {@see ModuleStructuralModel}for the project of the current nature.
-	 */
-	public ModuleStructuralModel getModuleStructuralModelForWrite(Object anAccessorKey) {
-		return (ModuleStructuralModel) getEditModelForWrite(ModuleStructuralModelFactory.MODULE_STRUCTURAL_MODEL_ID, anAccessorKey);
-	}
-
-	/**
-	 * <p>
-	 * Returns an {@see ArtifactEditModel}&nbsp; to work with the underlying content of an
-	 * individual {@see WorkbenchComponent}&nbsp; contained in the project. {@see ArtifactEditModel}s
-	 * are used to manipulate the content models for individual {@see WorkbenchComponent}s. In
-	 * general, a content model will contain an EMF representation of the module's relevant
-	 * deployment descriptor, and possibly other EMF resources as well.
-	 * </p>
-	 * <p>
-	 * {@see ArtifactEditModel}s that are returned from this method may not be used to modify and
-	 * persist changes to the underlying Module Content Metamodel. Clients that need to make changes
-	 * to the underlying Module Content Module, and that choose to work directly with the
-	 * {@see ArtifactEditModel}&nbsp; should use {@see #getArtifactEditModelForWrite(URI, Object)}.
-	 * </p>
-	 * <p>
-	 * Clients are encouraged to use {@see ArtifactEdit}&nbsp;or one of its relevant subclasses to
-	 * work with the module content model, instead of working with directly with the EditModel:
-	 * </p>
-	 * <p>
-	 * <code>ArtifactEdit editFacade = ArtifactEdit.getArtifactEditForRead(aWorkbenchModule);</code>
-	 * </p>
-	 * <p>
-	 * When a client is aware of the underlying type of module, more specific Edit Facades may be
-	 * acquired:
-	 * </p>
-	 * <p>
-	 * <code>WebEdit editFacade = WebEdit.getWebEditForRead(aWorkbenchModule);</code>
-	 * </p>
-	 * <p>
-	 * If a particular Edit Facade is not applicable to the supplied {@see WorkbenchComponent}, then
-	 * <b>null </b> will be returned.
-	 * </p>
-	 * 
-	 * <p>
-	 * See the discussion what a {@see ArtifactEditModel}&nbsp; is and <a
-	 * href="#artifact-editmodel">how it relates to the Module Content Metamodel </a>.
-	 * </p>
-	 * <p>
-	 * Also see the discussion of <a href="#accessor-key">the purpose of an accessor key </a>.
-	 * </p>
-	 * 
-	 * @param aModuleURI
-	 *            A fully qualified URI of the form "module:/resource/ <project-name>/
-	 *            <module-deployed-name>"
-	 * @param anAccessorKey
-	 *            Typically client supplies the object that invoked this method, or a proxy (
-	 *            <code>new Object()</code>) in the case of other static methods requesting a
-	 *            {@see ModuleStructuralModel}.
-	 * @return
-	 * @see ArtifactEdit
-	 * @see ArtifactEdit#getArtifactEditForRead(WorkbenchComponent)
-	 */
-	public ArtifactEditModel getArtifactEditModelForRead(URI aModuleURI, Object anAccessorKey) {
-		return getArtifactEditModelForRead(aModuleURI, anAccessorKey, null);
-	}
-	
-	public ArtifactEditModel getArtifactEditModelForRead(URI aModuleURI, Object anAccessorKey, String projectType) {
-		Map params = new HashMap();
-		params.put(ArtifactEditModelFactory.PARAM_MODULE_URI, aModuleURI);
-		if (projectType !=null)
-			return (ArtifactEditModel) getEditModelForRead(projectType, anAccessorKey, params);
-		try {
-			IProject aProject = StructureEdit.getContainingProject(aModuleURI);
-			IFacetedProject facetedProject = ProjectFacetsManager.create(aProject);
-			String[] editModelIDs = EditModelRegistry.getInstance().getRegisteredEditModelIDs();
-			for (int i=0; i<editModelIDs.length; i++) {
-				try {
-					IProjectFacet facet = ProjectFacetsManager.getProjectFacet(editModelIDs[i]);
-					if (facet != null && facetedProject.hasProjectFacet(facet)) {
-						ArtifactEditModel editModel = (ArtifactEditModel) getEditModelForRead(editModelIDs[i], anAccessorKey, params);
-						if (editModel !=null)
-							return editModel;
-					}
-				} catch (Exception e) {
-					continue;
-				}
-			}
-			
-		} catch (Exception e){
-			//Return null
-		}
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * Returns an {@see ArtifactEditModel}&nbsp; to work with the underlying content of an
-	 * individual {@see WorkbenchComponent}&nbsp; contained in the project. {@see ArtifactEditModel}s
-	 * are used to manipulate the content models for individual {@see WorkbenchComponent}s. In
-	 * general, a content model will contain an EMF representation of the module's relevant
-	 * deployment descriptor, and possibly other EMF resources as well.
-	 * </p>
-	 * 
-	 * <p>
-	 * {@see ArtifactEditModel}s that are returned from this method may be used to modify and
-	 * persist changes to the underlying Module Content Metamodel. For clients that do not expect to
-	 * make modifications are encouraged to use {@see #getArtifactEditModelForRead(URI, Object)}
-	 * &nbsp; instead.
-	 * </p>
-	 * <p>
-	 * Clients are encouraged to use {@see ArtifactEdit}&nbsp;or one of its relevant subclasses to
-	 * work with the module content model, instead of working with directly with the EditModel:
-	 * </p>
-	 * <p>
-	 * <code>ArtifactEdit editFacade = ArtifactEdit.getArtifactEditForWrite(aWorkbenchModule);</code>
-	 * </p>
-	 * <p>
-	 * When a client is aware of the underlying type of module, more specific Edit Facades may be
-	 * acquired:
-	 * </p>
-	 * <p>
-	 * <code>WebEdit editFacade = WebEdit.getWebEditForWrite(aWorkbenchModule);</code>
-	 * </p>
-	 * <p>
-	 * If a particular Edit Facade is not applicable to the supplied {@see WorkbenchComponent}, then
-	 * <b>null </b> will be returned.
-	 * </p>
-	 * 
-	 * <p>
-	 * See the discussion what a {@see ArtifactEditModel}&nbsp; is and <a
-	 * href="#artifact-editmodel">how it relates to the Module Content Metamodel </a>.
-	 * </p>
-	 * <p>
-	 * Also see the discussion of <a href="#accessor-key">the purpose of an accessor key </a>.
-	 * </p>
-	 * 
-	 * @param aModuleURI
-	 *            A fully qualified URI of the form "module:/resource/ <project-name>/
-	 *            <module-deployed-name>"
-	 * @param anAccessorKey
-	 *            Typically client supplies the object that invoked this method, or a proxy (
-	 *            <code>new Object()</code>) in the case of other static methods requesting a
-	 *            {@see ModuleStructuralModel}.
-	 * @return
-	 * @see ArtifactEdit
-	 * @see ArtifactEdit#getArtifactEditForRead(WorkbenchComponent)
-	 */
-	public ArtifactEditModel getArtifactEditModelForWrite(URI aModuleURI, Object anAccessorKey) {
-		return getArtifactEditModelForWrite(aModuleURI, anAccessorKey, null);
-	}
-	public ArtifactEditModel getArtifactEditModelForWrite(URI aModuleURI, Object anAccessorKey, String projectType) {
-		Map params = new HashMap();
-		params.put(ArtifactEditModelFactory.PARAM_MODULE_URI, aModuleURI);
-		if (projectType != null)
-			return  (ArtifactEditModel) getEditModelForWrite(projectType, anAccessorKey, params);
-		try {
-			IProject aProject = StructureEdit.getContainingProject(aModuleURI);
-			IFacetedProject facetedProject = ProjectFacetsManager.create(aProject);
-			String[] editModelIDs = EditModelRegistry.getInstance().getRegisteredEditModelIDs();
-			for (int i=0; i<editModelIDs.length; i++) {
-				try {
-					IProjectFacet facet = ProjectFacetsManager.getProjectFacet(editModelIDs[i]);
-					if (facet != null && facetedProject.hasProjectFacet(facet)) {
-						ArtifactEditModel editModel = (ArtifactEditModel) getEditModelForWrite(editModelIDs[i], anAccessorKey, params);
-						if (editModel !=null)
-							return editModel;
-					}
-				} catch (Exception e) {
-					continue;
-				}
-			}
-			
-		} catch (Exception e){
-			//Return null
-		}
-		return null;
-	}
-
-	public String getNatureID() {
-		return MODULE_NATURE_ID;
-	}
-
-
-	/**
-	 * <p>
-	 * This method should not be invoked by clients.
-	 * </p>
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.IEMFContextContributor#primaryContributeToContext(org.eclipse.jem.util.emf.workbench.EMFWorkbenchContextBase)
-	 */
-	public void primaryContributeToContext(EMFWorkbenchContextBase aNature) {
-		if (emfContext == aNature)
-			return;
-		emfContext = aNature;
-		getEmfContext().setDefaultToMOF5Compatibility(true);
-		// Overriding superclass to use our own URI converter, which knows about binary projects
-		ProjectResourceSet projectResourceSet = aNature.getResourceSet();
-		projectResourceSet.setResourceFactoryRegistry(WTPResourceFactoryRegistry.INSTANCE);
-		projectResourceSet.setURIConverter(createURIConverter(getProject(), projectResourceSet));
-		
-		// initializeCacheEditModel();
-		// addAdapterFactories(set);
-		// set.getSynchronizer().addExtender(this); // added so we can be informed of closes to the
-		// new J2EEResourceDependencyRegister(set); // This must be done after the URIConverter is
-		cacheModuleStructuralModel();
-	}
-	
-	/**
-	 * @see EMFNature.primConfigure
-	 */
-	protected void primConfigure() throws CoreException {
-		super.primConfigure();
-		// add Validation Builder to all flex Project's builder list
-		ProjectUtilities.addToBuildSpec(VALIDATION_BUILDER_ID,project);
-
-	}
-	
-	/**
-	 * @param project
-	 * @return
-	 */
-	private URIConverter createURIConverter(IProject aProject, ProjectResourceSet aResourceSet ) {
-		ComponentCoreURIConverter uriConverter = new ComponentCoreURIConverter(aProject, aResourceSet.getSynchronizer()); 
-		uriConverter.addInputContainer(getProject());
-		return uriConverter;
-	}
-	
-
-	/**
-	 * <p>
-	 * This method should not be invoked by clients.
-	 * </p>
-	 */
-	public ResourceSet getResourceSet() {
-		return getEmfContextBase().getResourceSet();
-	}
-
-	/**
-	 * <p>
-	 * This method should not be invoked by clients.
-	 * </p>
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.IEMFContextContributor#secondaryContributeToContext(org.eclipse.jem.util.emf.workbench.EMFWorkbenchContextBase)
-	 */
-	public void secondaryContributeToContext(EMFWorkbenchContextBase aNature) {
-		//Default
-	}
-
-	/**
-	 * <p>
-	 * This method should not be invoked by clients.
-	 * </p>
-	 * 
-	 * @see org.eclipse.jem.util.emf.workbench.nature.EMFNature#configure()
-	 */
-	public void configure() throws CoreException {
-		super.configure();
-		
-	}
-
-	private void cacheModuleStructuralModel() {
-		if (cachedModel == null)
-			cachedModel = getModuleStructuralModelForRead(this);
-	}
-
-	protected String getPluginID() {
-		return MODULE_PLUG_IN_ID;
-	}
-
-	public EditModel getExistingEditModel(String artifactEditModelId,Map params, boolean isReadOnly) {
-		return getEmfContext().getExistingEditModel(artifactEditModelId,params,isReadOnly);
-	}
-
-	public void shutdown() {
-		super.shutdown();
-		if (cachedModel != null) {
-			cachedModel.dispose();
-			cachedModel = null;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emfworkbench.ISynchronizerExtender#projectChanged(org.eclipse.core.resources.IResourceDelta)
-	 */
-	public void projectChanged(IResourceDelta delta) {
-		if (delta.getKind() == IResourceDelta.OPEN)
-			if (cachedModel == null)
-				cachedModel = getModuleStructuralModelForRead(this);
-	
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emfworkbench.ISynchronizerExtender#projectClosed()
-	 */
-	public void projectClosed() {
-		this.emfContext = null;
-		if (cachedModel != null) {
-			cachedModel.dispose();
-			cachedModel = null;
-		}
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/UnresolveableURIException.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/UnresolveableURIException.java
deleted file mode 100644
index 3957c00..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/UnresolveableURIException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore;
-
-import org.eclipse.emf.common.util.URI;
-
-/**
- * <p>
- * Thrown whenever a URI cannot be appropriately resolved.
- * </p>
- *  
- * @plannedfor 1.0
- */
-public class UnresolveableURIException extends Exception {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
-
-	public UnresolveableURIException(URI anUnresolveableURI) {
-		super("Could not resolve: " + anUnresolveableURI);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetDataModelConfigAdapter.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetDataModelConfigAdapter.java
deleted file mode 100644
index 705a702..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetDataModelConfigAdapter.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.datamodel;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IActionConfig;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetDataModelConfigAdapter
-
-    implements IActionConfig
-    
-{
-    private final IDataModel dm;
-    
-    public FacetDataModelConfigAdapter( final IDataModel dm )
-    {
-        this.dm = dm;
-    }
-    
-    public void setVersion( final IProjectFacetVersion fv )
-    {
-        dm.setProperty( IFacetDataModelProperties.FACET_VERSION, fv );
-    }
-
-    public void setProjectName( final String pjname )
-    {
-        dm.setStringProperty( IFacetDataModelProperties.FACET_PROJECT_NAME, pjname );
-    }
-
-    public IStatus validate()
-    {
-        return Status.OK_STATUS;
-    }
-
-    public static final class Factory
-    
-        implements IAdapterFactory
-        
-    {
-        private static final Class[] ADAPTER_TYPES
-            = { IActionConfig.class };
-        
-        public Object getAdapter( final Object adaptable, 
-                                  final Class adapterType )
-        {
-            if( adapterType == IActionConfig.class )
-            {
-                return new FacetDataModelConfigAdapter( (IDataModel) adaptable );
-            }
-            else
-            {
-                return null;
-            }
-        }
-
-        public Class[] getAdapterList()
-        {
-            return ADAPTER_TYPES;
-        }
-    }
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetDataModelProvider.java
deleted file mode 100644
index 4cc5a6a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetDataModelProvider.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel;
-
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.operation.FacetDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ExtendableOperationImpl;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type;
-
-public class FacetDataModelProvider extends AbstractDataModelProvider implements IFacetDataModelProperties {
-
-	public static final String NOTIFICATION_OPERATION = "FacetDataModelProvider.NOTIFICATION_OPERATION"; //$NON-NLS-1$
-
-	public Set getPropertyNames() {
-		Set names = super.getPropertyNames();
-		names.add(FACET_PROJECT_NAME);
-		names.add(FACET_ID);
-		names.add(FACET_VERSION_STR);
-		names.add(FACET_TYPE);
-		names.add(FACET_VERSION);
-		names.add(FACET_ACTION);
-		names.add(SHOULD_EXECUTE);
-		names.add(NOTIFICATION_OPERATION);
-		return names;
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (FACET_VERSION.equals(propertyName)) {
-			return ProjectFacetsManager.getProjectFacet(getStringProperty(FACET_ID)).getVersion(getStringProperty(FACET_VERSION_STR));
-		} else if (FACET_ACTION.equals(propertyName)) {
-			return new IFacetedProject.Action((Type) model.getProperty(FACET_TYPE), (IProjectFacetVersion) model.getProperty(FACET_VERSION), model);
-		} else if (SHOULD_EXECUTE.equals(propertyName)) {
-			return Boolean.TRUE;
-		} else if (NOTIFICATION_OPERATION.equals(propertyName)) {
-			return getFacetNotificationOperation();
-		}
-		return super.getDefaultProperty(propertyName);
-	}
-
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		if (FACET_ACTION.equals(propertyName)) {
-			throw new RuntimeException();
-		}
-		return super.propertySet(propertyName, propertyValue);
-	}
-
-	public final IDataModelOperation getDefaultOperation() {
-		return new FacetDataModelOperation(model);
-	}
-
-	protected IDataModelOperation getFacetNotificationOperation() {
-		return new ExtendableOperationImpl(new AbstractDataModelOperation(this.model) {
-			public String getID() {
-				return "FacetDataModelProvider.Notification." + model.getProperty(FACET_TYPE) + "." + model.getStringProperty(FACET_ID); //$NON-NLS-1$//$NON-NLS-2$ 
-			}
-
-			public org.eclipse.core.runtime.IStatus execute(IProgressMonitor monitor, org.eclipse.core.runtime.IAdaptable info) throws ExecutionException {
-				return AbstractDataModelProvider.OK_STATUS;
-			}
-		});
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetInstallDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetInstallDataModelProvider.java
deleted file mode 100644
index cb2ab1d..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetInstallDataModelProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelPropertyDescriptor;
-import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-public class FacetInstallDataModelProvider extends FacetDataModelProvider implements IActionConfigFactory {
-
-	public static final String MASTER_PROJECT_DM = "FacetInstallDataModelProvider.MASTER_PROJECT_DM"; //$NON-NLS-1$
-	
-	public Set getPropertyNames() {
-		Set names = super.getPropertyNames();
-		names.add(MASTER_PROJECT_DM);
-		return names;
-	}
-	
-	public FacetInstallDataModelProvider() {
-		super();
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (FACET_TYPE.equals(propertyName)) {
-			return FACET_TYPE_INSTALL;
-		} else if (FACET_VERSION_STR.equals(propertyName)) {
-			IProjectFacetVersion version = (IProjectFacetVersion) getProperty(FACET_VERSION);
-			return version.getVersionString();
-		} else if (FACET_VERSION.equals(propertyName)) {
-			DataModelPropertyDescriptor[] validVersions = getValidPropertyDescriptors(FACET_VERSION);
-			return validVersions[validVersions.length - 1].getPropertyValue();
-		}
-		return super.getDefaultProperty(propertyName);
-	}
-
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		if (FACET_TYPE.equals(propertyName)) {
-			throw new RuntimeException();
-		} else if (FACET_VERSION_STR.equals(propertyName)) {
-			DataModelPropertyDescriptor[] descriptors = getValidPropertyDescriptors(FACET_VERSION);
-			for (int i = 0; i < descriptors.length; i++) {
-				if (descriptors[i].getPropertyDescription().equals(propertyValue)) {
-					setProperty(FACET_VERSION, descriptors[i].getPropertyValue());
-					break;
-				}
-			}
-		} else if (null != propertyValue && FACET_VERSION.equals(propertyName)) {
-			IProjectFacetVersion version = (IProjectFacetVersion) propertyValue;
-			setProperty(FACET_VERSION_STR, version.getVersionString());
-		}
-		return super.propertySet(propertyName, propertyValue);
-	}
-
-	protected DataModelPropertyDescriptor[] cachedVersionDescriptors;
-	protected DataModelPropertyDescriptor[] cachedVersionStringDescriptors;
-
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName) {
-		if (FACET_VERSION.equals(propertyName)) {
-			if (null == cachedVersionDescriptors) {
-				Set versions = ProjectFacetsManager.getProjectFacet(getStringProperty(FACET_ID)).getVersions();
-				List list = Collections.list(Collections.enumeration(versions));
-				Collections.sort(list, new Comparator(){
-					public int compare(Object o1, Object o2) {
-						return ((IProjectFacetVersion)o1).getVersionString().compareTo(((IProjectFacetVersion)o2).getVersionString());
-					}
-				});
-				
-				cachedVersionDescriptors = new DataModelPropertyDescriptor[list.size()];
-				Iterator iterator = list.iterator();
-				for (int i = 0; i < cachedVersionDescriptors.length; i++) {
-					IProjectFacetVersion version = (IProjectFacetVersion) iterator.next();
-					cachedVersionDescriptors[i] = new DataModelPropertyDescriptor(version, version.getVersionString());
-				}
-			}
-			return cachedVersionDescriptors;
-		}
-		if (FACET_VERSION_STR.equals(propertyName)) {
-			if (null == cachedVersionStringDescriptors) {
-				DataModelPropertyDescriptor[] versionDescriptors = getValidPropertyDescriptors(FACET_VERSION);
-				cachedVersionStringDescriptors = new DataModelPropertyDescriptor[versionDescriptors.length];
-				for (int i = 0; i < cachedVersionStringDescriptors.length; i++) {
-					cachedVersionStringDescriptors[i] = new DataModelPropertyDescriptor(versionDescriptors[i].getPropertyDescription());
-				}
-			}
-			return cachedVersionStringDescriptors;
-		}
-		return super.getValidPropertyDescriptors(propertyName);
-	}
-
-	public Object create() {
-		return DataModelFactory.createDataModel(this);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java
deleted file mode 100644
index 2d350b0..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FacetProjectCreationDataModelProvider.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.operation.FacetProjectCreationOperation;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelPropertyDescriptor;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationPropertiesNew;
-import org.eclipse.wst.common.frameworks.internal.operations.ProjectCreationDataModelProviderNew;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-
-public class FacetProjectCreationDataModelProvider extends AbstractDataModelProvider implements IFacetProjectCreationDataModelProperties {
-
-	public FacetProjectCreationDataModelProvider() {
-		super();
-	}
-
-	public Set getPropertyNames() {
-		Set names = super.getPropertyNames();
-		names.add(FACET_PROJECT_NAME);
-		names.add(FACET_DM_MAP);
-		names.add(FACET_ACTION_MAP);
-		names.add(FACET_RUNTIME);
-		return names;
-	}
-
-	public void init() {
-		super.init();
-		IDataModel projectDataModel = DataModelFactory.createDataModel(new ProjectCreationDataModelProviderNew());
-		projectDataModel.addListener(new IDataModelListener() {
-			public void propertyChanged(DataModelEvent event) {
-				if (IProjectCreationPropertiesNew.PROJECT_NAME.equals(event.getPropertyName())) {
-					getDataModel().setProperty(FACET_PROJECT_NAME, event.getProperty());
-				}
-			}
-		});
-		model.addNestedModel(NESTED_PROJECT_DM, projectDataModel);
-	}
-
-	protected class FacetActionMapImpl extends HashMap implements FacetActionMap {
-		private static final long serialVersionUID = 1L;
-		private boolean supressNotification = false;
-
-		public void add(Action action) {
-			put(action.getProjectFacetVersion().getProjectFacet().getId(), action);
-		}
-
-		public Action getAction(String facetID) {
-			return (Action) get(facetID);
-		}
-
-		public void clear() {
-			try {
-				supressNotification = true;
-				super.clear();
-			} finally {
-				supressNotification = false;
-				getDataModel().notifyPropertyChange(FACET_ACTION_MAP, IDataModel.VALUE_CHG);
-			}
-		}
-
-		public Object remove(Object key) {
-			try {
-				return super.remove(key);
-			} finally {
-				if (!supressNotification) {
-					getDataModel().notifyPropertyChange(FACET_ACTION_MAP, IDataModel.VALUE_CHG);
-				}
-			}
-		}
-
-		public Object put(Object key, Object value) {
-			try {
-				return super.put(key, value);
-			} finally {
-				if (!supressNotification) {
-					getDataModel().notifyPropertyChange(FACET_ACTION_MAP, IDataModel.VALUE_CHG);
-				}
-			}
-		}
-
-		public void putAll(Map m) {
-			try {
-				supressNotification = true;
-				super.putAll(m);
-			} finally {
-				supressNotification = false;
-				getDataModel().notifyPropertyChange(FACET_ACTION_MAP, IDataModel.VALUE_CHG);
-			}
-		}
-	}
-
-	protected class FacetDataModelMapImpl extends HashMap implements FacetDataModelMap, IDataModelListener {
-		private static final long serialVersionUID = 1L;
-		private boolean supressNotification = false;
-
-		public void add(IDataModel facetDataModel) {
-			put(facetDataModel.getProperty(IFacetDataModelProperties.FACET_ID), facetDataModel);
-		}
-
-		public IDataModel getFacetDataModel(String facetID) {
-			return (IDataModel) get(facetID);
-		}
-
-		public void clear() {
-			try {
-				supressNotification = true;
-				for (Iterator iterator = values().iterator(); iterator.hasNext();) {
-					((IDataModel) iterator.next()).removeListener(this);
-				}
-				super.clear();
-			} finally {
-				supressNotification = false;
-				getDataModel().notifyPropertyChange(FACET_DM_MAP, IDataModel.VALUE_CHG);
-			}
-		}
-
-		public Object put(Object key, Object value) {
-			try {
-				IDataModel dm = (IDataModel) value;
-				Object lastValue = super.put(key, value);
-				if (lastValue != null) {
-					((IDataModel) lastValue).removeListener(this);
-					((IDataModel) lastValue).setProperty(FacetInstallDataModelProvider.MASTER_PROJECT_DM, null);
-				}
-				dm.setProperty(FACET_PROJECT_NAME, getDataModel().getProperty(FACET_PROJECT_NAME));
-				dm.setProperty(FacetInstallDataModelProvider.MASTER_PROJECT_DM, FacetProjectCreationDataModelProvider.this.model);
-				dm.addListener(this);
-				return lastValue;
-			} finally {
-				if (!supressNotification) {
-					getDataModel().notifyPropertyChange(FACET_DM_MAP, IDataModel.VALUE_CHG);
-				}
-			}
-		}
-
-		public void putAll(Map m) {
-			try {
-				supressNotification = true;
-				super.putAll(m);
-			} finally {
-				supressNotification = false;
-				getDataModel().notifyPropertyChange(FACET_DM_MAP, IDataModel.VALUE_CHG);
-			}
-		}
-
-		public Object remove(Object key) {
-			try {
-				IDataModel dm = (IDataModel) super.remove(key);
-				dm.removeListener(this);
-				return dm;
-			} finally {
-				if (!supressNotification) {
-					getDataModel().notifyPropertyChange(FACET_DM_MAP, IDataModel.VALUE_CHG);
-				}
-			}
-		}
-
-		public void propertyChanged(DataModelEvent event) {
-			if (event.getPropertyName().equals(FACET_PROJECT_NAME)) {
-				if (containsValue(event.getDataModel())) {
-					getDataModel().setProperty(FACET_PROJECT_NAME, event.getProperty());
-				} else {
-					event.getDataModel().removeListener(this);
-				}
-			} else if (event.getPropertyName().equals(FACET_RUNTIME)) {
-				if (containsValue(event.getDataModel())) {
-					getDataModel().setProperty(FACET_RUNTIME, event.getProperty());
-				} else {
-					event.getDataModel().removeListener(this);
-				}
-			} else if (event.getPropertyName().equals(IFacetDataModelProperties.FACET_VERSION)) {
-				getDataModel().notifyPropertyChange(FACET_RUNTIME, IDataModel.VALID_VALUES_CHG);
-			}
-		}
-
-	}
-
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		if (FACET_PROJECT_NAME.equals(propertyName)) {
-			for (Iterator iterator = ((Map) getDataModel().getProperty(FACET_DM_MAP)).values().iterator(); iterator.hasNext();) {
-				((IDataModel) iterator.next()).setProperty(FACET_PROJECT_NAME, propertyValue);
-			}
-			IDataModel projModel = model.getNestedModel(NESTED_PROJECT_DM);
-			projModel.setProperty(IProjectCreationPropertiesNew.PROJECT_NAME, propertyValue);
-		} else if (FACET_RUNTIME.equals(propertyName)) {
-			IRuntime runtime = (IRuntime) propertyValue;
-			for (Iterator iterator = ((Map) getDataModel().getProperty(FACET_DM_MAP)).values().iterator(); iterator.hasNext();) {
-				IDataModel dm = (IDataModel) iterator.next();
-				if (dm.isProperty(FACET_RUNTIME)) {
-					dm.setProperty(FACET_RUNTIME, runtime);
-				}
-			}
-			if (runtime != null) {
-				Map facetDMs = (Map) getProperty(FACET_DM_MAP);
-
-				for (Iterator iterator = facetDMs.values().iterator(); iterator.hasNext();) {
-					IDataModel facetDataModel = (IDataModel) iterator.next();
-					IProjectFacet facet = ProjectFacetsManager.getProjectFacet((String) facetDataModel.getProperty(IFacetDataModelProperties.FACET_ID));
-
-					try {
-						IDataModel facetModel = ((FacetDataModelMap) facetDMs).getFacetDataModel(facet.getId());
-						IProjectFacetVersion oldVersion = (IProjectFacetVersion) facetModel.getProperty(IFacetDataModelProperties.FACET_VERSION);
-						IProjectFacetVersion newVersion = facet.getLatestSupportedVersion(runtime);
-						if (newVersion != null && (oldVersion == null || oldVersion.getVersionString().compareTo(newVersion.getVersionString()) > 0)) {
-							facetModel.setProperty(IFacetDataModelProperties.FACET_VERSION, newVersion);
-						}
-
-					} catch (CoreException e) {
-						Logger.getLogger().logError(e);
-					}
-				}
-			}
-		}
-		return super.propertySet(propertyName, propertyValue);
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (FACET_DM_MAP.equals(propertyName)) {
-			Object obj = new FacetDataModelMapImpl();
-			setProperty(FACET_DM_MAP, obj);
-			return obj;
-		} else if (FACET_ACTION_MAP.equals(propertyName)) {
-			Object obj = new FacetActionMapImpl();
-			setProperty(FACET_ACTION_MAP, obj);
-			return obj;
-		}
-		return super.getDefaultProperty(propertyName);
-	}
-
-	public DataModelPropertyDescriptor getPropertyDescriptor(String propertyName) {
-		if (FACET_RUNTIME.equals(propertyName)) {
-			IRuntime runtime = (IRuntime) getProperty(propertyName);
-			if (null != runtime) {
-				return new DataModelPropertyDescriptor(runtime, runtime.getName());
-			}
-		}
-		return super.getPropertyDescriptor(propertyName);
-	}
-
-	public DataModelPropertyDescriptor[] getValidPropertyDescriptors(String propertyName) {
-		if (FACET_RUNTIME.equals(propertyName)) {
-			Set projectFacets = new HashSet();
-			Map facetDMs = (Map) getProperty(FACET_DM_MAP);
-			for (Iterator iterator = facetDMs.values().iterator(); iterator.hasNext();) {
-				IDataModel facetDataModel = (IDataModel) iterator.next();
-				if (facetDataModel.getBooleanProperty(IFacetDataModelProperties.SHOULD_EXECUTE)) {
-					IProjectFacet facet = ProjectFacetsManager.getProjectFacet((String) facetDataModel.getProperty(IFacetDataModelProperties.FACET_ID));
-					projectFacets.add(facet);
-				}
-			}
-			Map facetActions = (Map)getProperty(FACET_ACTION_MAP);
-			for(Iterator iterator = facetActions.values().iterator(); iterator.hasNext();){
-				IFacetedProject.Action action = (IFacetedProject.Action) iterator.next();
-				projectFacets.add(action.getProjectFacetVersion().getProjectFacet());
-			}
-			
-			Set runtimes = RuntimeManager.getRuntimes();
-			ArrayList list = new ArrayList();
-
-			for (Iterator it = runtimes.iterator(); it.hasNext();) {
-				IRuntime rt = (IRuntime) it.next();
-
-				// add this runtime in the list only if this runtime supports all of the facets
-				// in the project
-
-				boolean supportsFactet = true;
-				for (Iterator facetIt = projectFacets.iterator(); facetIt.hasNext();) {
-					IProjectFacet facet = (IProjectFacet) facetIt.next();
-					if (!rt.supports(facet)) {
-						supportsFactet = false;
-					}
-				}
-				if (supportsFactet) {
-					list.add(rt);
-				}
-			}
-
-			DataModelPropertyDescriptor[] descriptors = new DataModelPropertyDescriptor[list.size() + 1];
-			Iterator iterator = list.iterator();
-			for (int i = 0; i < descriptors.length -1; i++) {
-				IRuntime runtime = (IRuntime) iterator.next();
-				descriptors[i] = new DataModelPropertyDescriptor(runtime, runtime.getName());
-			}
-			descriptors[descriptors.length -1] = new DataModelPropertyDescriptor(null, "");
-			return descriptors;
-		}
-		return super.getValidPropertyDescriptors(propertyName);
-	}
-
-	public IStatus validate(String propertyName) {
-		if (FACET_PROJECT_NAME.equals(propertyName)) {
-			return validate(IProjectCreationPropertiesNew.PROJECT_NAME);
-		}
-		return super.validate(propertyName);
-	}
-
-	public IDataModelOperation getDefaultOperation() {
-		return new FacetProjectCreationOperation(model);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FlexibleProjectCreationDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FlexibleProjectCreationDataModelProvider.java
deleted file mode 100644
index b3d1bc5..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/FlexibleProjectCreationDataModelProvider.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFlexibleProjectCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.operation.FlexibleProjectCreationOperation;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationProperties;
-import org.eclipse.wst.common.frameworks.internal.operations.ProjectCreationDataModelProvider;
-
-public class FlexibleProjectCreationDataModelProvider extends AbstractDataModelProvider implements IFlexibleProjectCreationDataModelProperties {
-
-	public FlexibleProjectCreationDataModelProvider() {
-		super();
-
-	}
-
-	public void init() {
-		super.init();
-		initNestedProjectModel();
-	}
-
-	protected void initNestedProjectModel() {
-		IDataModel projModel = DataModelFactory.createDataModel(new ProjectCreationDataModelProvider());
-		model.addNestedModel(NESTED_MODEL_PROJECT_CREATION, projModel);
-	}
-
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(PROJECT_NAME);
-		propertyNames.add(PROJECT_LOCATION);
-		propertyNames.add(NESTED_MODEL_PROJECT_CREATION);
-		return propertyNames;
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (PROJECT_LOCATION.equals(propertyName)) {
-			return getDefaultLocation();
-		}
-		return super.getDefaultProperty(propertyName);
-	}
-
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		boolean status = super.propertySet(propertyName, propertyValue);
-		if (PROJECT_NAME.equals(propertyName)) {
-			IDataModel projModel = model.getNestedModel(NESTED_MODEL_PROJECT_CREATION);
-			projModel.setProperty(IProjectCreationProperties.PROJECT_NAME, propertyValue);
-		} else if (PROJECT_LOCATION.equals(propertyName)) {
-			IDataModel projModel = model.getNestedModel(NESTED_MODEL_PROJECT_CREATION);
-			projModel.setProperty(IProjectCreationProperties.PROJECT_LOCATION, propertyValue);
-		}
-		return status;
-	}
-
-	public IStatus validate(String propertyName) {
-		if (PROJECT_NAME.equals(propertyName)) {
-			return validateProjectName();
-		} else if (PROJECT_LOCATION.equals(propertyName)) {
-			return validateProjectLocation();
-		}
-		return OK_STATUS;
-	}
-
-	private IStatus validateProjectName() {
-		IDataModel projModel = model.getNestedModel(NESTED_MODEL_PROJECT_CREATION);
-		return projModel.validateProperty(IProjectCreationProperties.PROJECT_NAME);
-	}
-
-	private IStatus validateProjectLocation() {
-		IDataModel projModel = model.getNestedModel(NESTED_MODEL_PROJECT_CREATION);
-		return projModel.validateProperty(IProjectCreationProperties.PROJECT_LOCATION);
-	}
-
-	private String getDefaultLocation() {
-		IPath path = getRootLocation();
-		String projectName = (String) getProperty(PROJECT_NAME);
-		if (projectName != null)
-			path = path.append(projectName);
-		return path.toOSString();
-	}
-
-	private IPath getRootLocation() {
-		return ResourcesPlugin.getWorkspace().getRoot().getLocation();
-	}
-
-	//	
-	// protected void initNestedModels() {
-	// super.initNestedModels();
-	// initProjectModel();
-	// addNestedModel(NESTED_MODEL_PROJECT_CREATION, projectDataModel);
-	//
-	// serverTargetDataModel = new J2EEProjectServerTargetDataModel();
-	// addNestedModel(NESTED_MODEL_SERVER_TARGET, serverTargetDataModel);
-	// }
-
-	// protected void initProjectModel() {
-	// projectDataModel = new ProjectCreationDataModel();
-	// }
-	//	
-	public IDataModelOperation getDefaultOperation() {
-		return new FlexibleProjectCreationOperation(model);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/ProjectMigratorDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/ProjectMigratorDataModelProvider.java
deleted file mode 100644
index 21c3ca3..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/ProjectMigratorDataModelProvider.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel;
-
-import java.util.Set;
-
-import org.eclipse.wst.common.componentcore.datamodel.properties.IProjectMigratorDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.operation.ProjectMigratorDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-public class ProjectMigratorDataModelProvider extends AbstractDataModelProvider implements IProjectMigratorDataModelProperties {
-
-	public Set getPropertyNames() {
-		Set names = super.getPropertyNames();
-		names.add(PROJECT_NAME);
-		return names;
-	}
-
-	public final IDataModelOperation getDefaultOperation() {
-		return new ProjectMigratorDataModelOperation(model);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IComponentCreationDataModelProperties.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IComponentCreationDataModelProperties.java
deleted file mode 100644
index 4bb516b..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IComponentCreationDataModelProperties.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel.properties;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
-
-/**
- * <p>
- * IComponentCreationDataModelProperties provides properties to the DataModel associated with the
- * ComponentCreationDataModelProvider as well as all extending interfaces extending
- * IComponentCreationDataModelProperties specifically, but not limited to all J2EE component related
- * creation.
- * 
- * @see org.eclipse.wst.common.componentcore.internal.operation.ComponentCreationDataModelProvider
- *      </p>
- *      <p>
- *      This interface is not intended to be implemented by clients.
- *      </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties
- * 
- * @plannedfor 1.0
- */
-public interface IComponentCreationDataModelProperties extends IDataModelProperties {
-
-	/**
-	 * Required, type String. The user defined name of the target project for the component to be
-	 * created.
-	 */
-	public static final String PROJECT_NAME = "IComponentCreationDataModelProperties.PROJECT_NAME"; //$NON-NLS-1$
-	/**
-	 * Required, type String. The user defined name of the component to be created.
-	 */
-	public static final String COMPONENT_NAME = "IComponentCreationDataModelProperties.COMPONENT_NAME"; //$NON-NLS-1$
-	/**
-	 * Required, type String. The user defined location on disk of the target project for the
-	 * component to be created. Defaulted to default eclipse workspace location
-	 */
-	public static final String LOCATION = "IFlexibleProjectCreationDataModelProperties.LOCATION"; //$NON-NLS-1$
-
-
-	/**
-	 * Required, type String. The user defined deploy name of the component to be created. The
-	 * DataModelProvider will default the name to the COMPONENT_NAME.
-	 */
-	public static final String COMPONENT_DEPLOY_NAME = "IComponentCreationDataModelProperties.COMPONENT_DEPLOY_NAME"; //$NON-NLS-1$
-	/**
-	 * Required, type String. Nested operation to create a new project.
-	 */
-	public static final String NESTED_PROJECT_CREATION_DM = "IComponentCreationDataModelProperties.NESTED_PROJECT_CREATION_DM"; //$NON-NLS-1$
-	// TODO delete this
-	/**
-	 * Optional, type Boolean The default value is <code>Boolean.TRUE</code>. If this property is
-	 * set to <code>Boolean.TRUE</code> then a default deployment descriptor and supporting
-	 * bindings files will be generated.
-	 */
-	public static final String CREATE_DEFAULT_FILES = "IComponentCreationDataModelProperties.CREATE_DEFAULT_FILES"; //$NON-NLS-1$
-
-	/**
-	 * An unsettable result property used to retreive the created virtual component after the
-	 * operation has executed.
-	 */
-	public static final String COMPONENT = "IComponentCreationDataModelProperties.COMPONENT"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/ICreateReferenceComponentsDataModelProperties.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/ICreateReferenceComponentsDataModelProperties.java
deleted file mode 100644
index 78f3cb2..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/ICreateReferenceComponentsDataModelProperties.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel.properties;
-
-public interface ICreateReferenceComponentsDataModelProperties {
-	
-    /**
-     * Required, type IVirtualComponent
-     */	
-	public static final String SOURCE_COMPONENT = "ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT";
-	
-    /**
-     * Required, type ArrayList, ArrayList  should contain list of IVirtualComponent
-     */
-	public static final String TARGET_COMPONENT_LIST = "ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT"; //$NON-NLS-1$
-	
-	/**
-     * Optional, deploy path for the dependent component, default is "/"
-     */
-	public static final String TARGET_COMPONENTS_DEPLOY_PATH = "ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_DEPLOY_PATH"; //$NON-NLS-1$
-	
-	
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetDataModelProperties.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetDataModelProperties.java
deleted file mode 100644
index b775f39..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetDataModelProperties.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel.properties;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-
-public interface IFacetDataModelProperties extends IDataModelProperties {
-
-	public static final Object FACET_TYPE_INSTALL = Action.Type.INSTALL;
-	public static final Object FACET_TYPE_UNINSTALL = Action.Type.UNINSTALL;
-	public static final Object FACET_TYPE_VERSION_CHANGE = Action.Type.VERSION_CHANGE;
-
-	public static final String FACET_PROJECT_NAME = "IFacetDataModelPropeties.FACET_PROJECT_NAME"; //$NON-NLS-1$
-
-	public static final String FACET_TYPE = "IFacetDataModelPropeties.FACET_TYPE"; //$NON-NLS-1$
-
-	public static final String FACET_ID = "IFacetDataModelPropeties.FACET_ID"; //$NON-NLS-1$
-
-	public static final String FACET_VERSION_STR = "IFacetDataModelPropeties.FACET_VERSION_STR"; //$NON-NLS-1$
-
-	/**
-	 * an IProjectFacetVersion
-	 */
-	public static final String FACET_VERSION = "IFacetDataModelPropeties.FACET_VERSION"; //$NON-NLS-1$
-	
-	/**
-	 * an IFacetedProject.Action
-	 */
-	public static final String FACET_ACTION = "IFacetDataModelProperties.FACET_ACTION"; //$NON-NLS-1$
-
-	public static final String SHOULD_EXECUTE = "IFacetDataModelProperties.SHOULD_EXECUTE"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetInstallDataModelProperties.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetInstallDataModelProperties.java
deleted file mode 100644
index 1ae3fa7..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetInstallDataModelProperties.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel.properties;
-
-public interface IFacetInstallDataModelProperties extends IFacetDataModelProperties {
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetProjectCreationDataModelProperties.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetProjectCreationDataModelProperties.java
deleted file mode 100644
index c92d8c6..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFacetProjectCreationDataModelProperties.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel.properties;
-
-import java.util.Map;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-
-public interface IFacetProjectCreationDataModelProperties extends IDataModelProperties {
-
-	/**
-	 * A String
-	 */
-	public static final String FACET_PROJECT_NAME = IFacetDataModelProperties.FACET_PROJECT_NAME;
-
-	/**
-	 * A Nested IDataModel of type IProjectCreationDataModelProperties
-	 */
-	public static final String NESTED_PROJECT_DM = "IFacetProjectCreationDataModelProperties.NESTED_PROJECT_DM"; //$NON-NLS-1$";
-
-	/**
-	 * An instanceof FacetDataModelMap.
-	 */
-	public static final String FACET_DM_MAP = "IFacetProjectCreationDataModelProperties.FACET_DM_MAP"; //$NON-NLS-1$
-
-	/**
-	 * An instance of FacetActionMap
-	 */
-	public static final String FACET_ACTION_MAP = "IFacetProjectCreationDataModelProperties.FACET_ACTION_MAP"; //$NON-NLS-1$
-
-	
-	/**
-	 * An instanceof of IRuntime
-	 */
-	public static final String FACET_RUNTIME = "IFacetProjectCreationDataModelProperties.FACET_RUNTIME"; //$NON-NLS-1$
-
-	
-	/**
-	 * This map is used for tracking individual IDataModels implementing IFacetDataModelProperties.
-	 * The facet ids are the keys for retieving the specific IFacetataModelProperties IDataModels
-	 */
-	public interface FacetDataModelMap extends Map {
-		public void add(IDataModel facetDataModel);
-		public IDataModel getFacetDataModel(String facetID);
-	}
-
-	/**
-	 * This map is used for tracing indivdual IFacetedProject.Actions for facets that either do not
-	 * have any config data, or facets whose config data is not an IDataModel.
-	 */
-	public interface FacetActionMap extends Map {
-		public void add(IFacetedProject.Action action);
-		public IFacetedProject.Action getAction(String facetID);
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFlexibleProjectCreationDataModelProperties.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFlexibleProjectCreationDataModelProperties.java
deleted file mode 100644
index 6a9a06d..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IFlexibleProjectCreationDataModelProperties.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel.properties;
-
-import org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationProperties;
-/**
- * <p>
- * IFlexibleProjectCreationDataModelProperties provides properties to the DataModel associated with the 
- * FlexibleProjectCreationDataModelProperties as well as all extending interfaces extending 
- * IFlexibleProjectCreationDataModelProperties specifically, but not limited to the Java releated creatoin in the 
- * JST layer. 
- * @see FlexibleJavaProjectCreationDataModelProvider
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties
- * 
- * @plannedfor 1.0
- */
-public interface IFlexibleProjectCreationDataModelProperties extends IProjectCreationProperties {
-   
-    /**
-     * Required, type IDataModel. The user set IDataModel used to create the initial project.  Providers which currently exist for
-     * this IDataModel include IProjectCreationProperties.
-     * @see org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationProperties
-     */
-    public static final String NESTED_MODEL_PROJECT_CREATION = "IFlexibleProjectCreationDataModelProperties.NESTED_MODEL_PROJECT_CREATION"; //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IProjectMigratorDataModelProperties.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IProjectMigratorDataModelProperties.java
deleted file mode 100644
index 1e93fff..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/IProjectMigratorDataModelProperties.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.datamodel.properties;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
-
-public interface IProjectMigratorDataModelProperties extends IDataModelProperties {
-
-
-	public static final String PROJECT_NAME = "IProjectMigratorDataModelProperties.PROJECT_NAME"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/package.xml b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/package.xml
deleted file mode 100644
index 535937f..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/datamodel/properties/package.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../../../" />
-        <title>Component creation and Referenced Component api overview</title>
-    </head>
-
-    <body>  
-		<abstract>
-        This package includes API  for creating components in a Flexible project and 
-        adding referenced components to existing components.(see <a href="ComponentCore.html">ComponentCore</a>). 
-        Clients should also review the <b>org.eclipse.wst.common.componentcore.resources</b>
-        package.
-		</abstract>
-
-	<a href="#top">top</a>
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ArtifactEditModel.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ArtifactEditModel.java
deleted file mode 100644
index 6d8552a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ArtifactEditModel.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.internal.impl.PlatformURLModuleConnection;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-import org.eclipse.wst.common.frameworks.internal.enablement.EnablementManager;
-import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectListener;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * 
- * Provides resource life cycle management between an EditModel and a WTP flexible module pattern.
- * <p>
- * ArtifactEditModel provides a framework for managing a set of EMF resources within a unit of work.
- * Management of these resources includes basic services such as loads, saves, and synchronization
- * for the managed resources. ArtifactEditModels are reference counted so that a single instance can
- * be shared by more than one operation or editor.
- * </p>
- * <p>
- * AritfactEditModel utilizes
- * {@see org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext}&nbsp; to manage the life
- * cycle of an EMF {@see org.eclipse.emf.ecore.resource.Resource}&nbsp; in a given EMF
- * {@see org.eclipse.emf.ecore.resource.ResourceSet}. There is one ArtifactEditModel per
- * {@see org.eclipse.wst.common.modulecore.WorkbenchComponent}&nbsp;in each project.
- * </p>
- * 
- * @see org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext
- * @see org.eclipse.emf.ecore.resource.Resource
- * @see org.eclipse.emf.ecore.resource.ResourceSet
- * @see org.eclipse.wst.common.componentcore.internal.StructureEdit
- * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent
- * @see org.eclipse.wst.common.componentcore.internal.ComponentResource
- */
-
-public class ArtifactEditModel extends EditModel implements IAdaptable, IFacetedProjectListener {
-
-	public static final Class ADAPTER_TYPE = ArtifactEditModel.class;
-	private final IProject componentProject; 
-	private final IPath modulePath;
-	private final IVirtualComponent virtualComponent;
-	private final URI componentURI;
-
-	/**
-	 * <p>
-	 * Creates a ArtifactEditModel instance that uses information from the
-	 * <b>org.eclipse.wst.common.emfworkbench.integration.editModelFactory </b> extension point
-	 * associated with anEditModelId attached to the project managed by aContext for a specific
-	 * module referenced by aModuleURI. Resoures that are not recognized as defined Resources via
-	 * the appropriate EditModel extension points will be accessed as read-only.
-	 * </p>
-	 * <p>
-	 * This method is functionally equivalent to:
-	 * </p>
-	 * <p>
-	 * <code>ArtifactEditModel(anEditModelId, aContext, toMakeReadOnly, true, aModuleURI)</code>
-	 * </p>
-	 * 
-	 * @param anEditModelId
-	 *            A unique identifier for the EditModel defined by the appropriate
-	 *            <b>org.eclipse.wst.common.emfworkbench.integration.editModelFactory </b> extension
-	 *            point.
-	 * @param aContext
-	 *            A valid EMFWorkbenchContext which helps manage the lifecycle of EMF resources for
-	 *            a given project.
-	 * @param toMakeReadOnly
-	 *            True indicates that Resources loaded by the EditModel will not allow
-	 *            modifications.
-	 * @param aModuleURI
-	 *            A fully-qualified URI that conforms to the "module:" format.
-	 */
-
-	public ArtifactEditModel(String anEditModelId, EMFWorkbenchContext aContext, boolean toMakeReadOnly, URI aModuleURI) {
-		this(anEditModelId, aContext, toMakeReadOnly, true, aModuleURI);
-	}
-
-	/**
-	 * 
-	 * <p>
-	 * Creates a ArtifactEditModel instance that uses information from the
-	 * <b>org.eclipse.wst.common.emfworkbench.integration.editModelFactory </b> extension point
-	 * associated with anEditModelId attached to the project managed by aContext for a specific
-	 * module referenced by aModuleURI. Resoures that are not recognized as defined
-	 * </p>*
-	 * 
-	 * @param anEditModelId
-	 *            A unique identifier for the EditModel defined by the appropriate
-	 *            <b>org.eclipse.wst.common.emfworkbench.integration.editModelFactory </b> extension
-	 *            point.
-	 * @param aContext
-	 *            A valid EMFWorkbenchContext which helps manage the lifecycle of EMF resources for
-	 *            a given project.
-	 * @param toMakeReadOnly
-	 *            True indicates that Resources loaded by the EditModel will not allow
-	 *            modifications.
-	 * @param toAccessUnknownResourcesAsReadOnly
-	 *            True indicates that Resources not recognized by the EditModel be loaded as
-	 *            read-only - such those loaded via {@see #getResource(URI)}.
-	 * @param aModuleURI
-	 *            A fully-qualified URI that conforms to the "module:" format.
-	 *  
-	 */
-
-	public ArtifactEditModel(String anEditModelId, EMFWorkbenchContext aContext, boolean toMakeReadOnly, boolean toAccessUnknownResourcesAsReadOnly, URI aModuleURI) {
-		super(anEditModelId, aContext, toMakeReadOnly, toAccessUnknownResourcesAsReadOnly);
-		IProject aProject = null;
-		try {
-			aProject = StructureEdit.getContainingProject(aModuleURI);
-			IFacetedProject facetProj;
-			facetProj = ProjectFacetsManager.create(project);
-			if (facetProj != null)
-				facetProj.addListener(this);
-		} catch (UnresolveableURIException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}finally {
-			componentProject = aProject;
-		}
-		
-		virtualComponent = ComponentCore.createComponent(componentProject);
-		componentURI = aModuleURI;
-		modulePath = new Path(aModuleURI.path());
-		processLoadedResources(componentProject);
-	}
-
-	/**
-	 * <p>
-	 * Accesses resources within the underlying resource set. Takes a standard URI attaches module
-	 * protocol and information. This data can be used to determine if the resource is part of a
-	 * flexible module structure. If the resource does not exist in the resource set it will try and
-	 * load the resource.
-	 * </p>
-	 * 
-	 * @param aUri -
-	 *            location of resource
-	 * 
-	 * @return Resource (@see Resource)
-	 */
-	public Resource getResource(URI aUri) {
-		// First check if passed URI is already normalized...
-		IPath requestPath = modulePath.append(new Path(aUri.path()));
-		URI resourceURI = URI.createURI(PlatformURLModuleConnection.MODULE_PROTOCOL + requestPath.toString());
-		return super.getResource(resourceURI);
-	}
-
-	public IProject getComponentProject() { 
-		return componentProject;
-	}
-
-	public URI getModuleURI() {
-		return componentURI;
-	}
-
-	/**
-	 * <p>
-	 * Accesses resoureces within the underlying resource set. Takes a starndard URI attaches module
-	 * information. This data can be used to determine if the resource is part of a flexible module
-	 * structure.
-	 * </p>
-	 * 
-	 * @param aUri -
-	 *            location of resource
-	 * 
-	 * @return Resource (@see Resource)
-	 */
-
-	public Resource getOrCreateResource(URI aUri) {
-
-		return super.getOrCreateResource(aUri);
-	}
-
-	/**
-	 * <p>
-	 * Overridden to prevent super() implementation, processLoadedResources(aModuleURI) used
-	 * instead. (@link processLoadedResources(URI aModuleURI)
-	 * </p>
-	 * 
-	 * @param aUri -
-	 *            location of resource
-	 */
-
-
-
-	protected void processLoadedResources() {
-	}
-
-	/**
-	 * <p>
-	 * Gathers resources from the underlying resource set, determines if interested (@link
-	 * processLoadedResources(URI aModuleURI))and request access (@link access(ReferencedResource
-	 * aResource))to each resource incrementing the write/read count.
-	 * </p>
-	 * 
-	 * @param aUri -
-	 *            location of resource
-	 */
-
-
-	protected void processLoadedResources(IProject aComponentProject) {
-		List loadedResources = getResourceSet().getResources();
-		if (!loadedResources.isEmpty()) {
-			processResourcesIfInterrested(loadedResources);
-		}
-	}
-
-	/**
-	 * <p>
-	 * Checks to make sure a flexible module structure exist for the resources in the resource set.
-	 * This is achieved by querying ModuleCore(@see ModuleCore) for existing
-	 * WorkbenchModuleResources (@see WorkbenchModuleResources). If the resource exist it processes
-	 * the resource (@link processResource(Resource aResource)). Processing the resource increments
-	 * the read/write count.
-	 * </p>*
-	 * 
-	 * @param theResources -
-	 *            list of resources to verify flexible module status, and process
-	 * @throws UnresolveableURIException
-	 *             could not WorkbenchResource with the corresponding URI.
-	 */
-	protected boolean processResourcesIfInterrested(List theResources) {
-		int size = theResources.size();
-		Resource resourceToProcess;
-		boolean processed = false; 
- 
-		IResource resourceResource;
-		IVirtualResource[] virtualResources;
-		for (int i = 0; i < size; i++) { 
-			resourceToProcess = (Resource) theResources.get(i);
-			if (resourceToProcess == null) continue;
-			String lastSegment = resourceToProcess.getURI().lastSegment();
-			if (null != lastSegment && lastSegment.equals(IModuleConstants.COMPONENT_FILE_NAME)) continue;
-			resourceResource = WorkbenchResourceHelper.getFile(resourceToProcess);
-			if (resourceResource != null) {
-				virtualResources = ComponentCore.createResources(resourceResource); 
-				for (int resourcesIndex = 0; resourcesIndex < virtualResources.length; resourcesIndex++) {
-					if (virtualComponent.equals(virtualResources[resourcesIndex].getComponent())) {
-						if (resourceToProcess !=null && isInterrestedInResource(resourceToProcess)) {
-							processResource(resourceToProcess);
-							processed = true;
-						}
-					}
-				}
-			}
-		}  
-		return processed;
-	}
-
-	/**
-	 * 
-	 * <p>
-	 * Generic way to retrieve containing information, within the platform.
-	 * </p>
-	 * 
-	 * @return instance of the adapterType for this adapter class from adapter factory stored in the
-	 *         adapter manager (@see AdapterManager)
-	 *  
-	 */
-
-	public Object getAdapter(Class adapterType) {
-		return Platform.getAdapterManager().getAdapter(this, adapterType);
-	}
-
-	public IVirtualComponent getVirtualComponent() {
-		return virtualComponent;
-	}
-
-	public void projectChanged() {
-		try {
-			EnablementManager.INSTANCE.notifyFunctionGroupChanged(null,getComponentProject());
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentResource.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentResource.java
deleted file mode 100644
index 2fdfb39..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentResource.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
- * <copyright></copyright>
- * 
- * $Id: ComponentResource.java,v 1.3.2.1 2006/01/10 19:16:57 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc --> Provides an abstract mapping of workbench resources to deployable
- * resources.
- * <p>
- * The underlying eclipse resource could be a container or a file. However, if the
- * {@see #getSourcePath()}&nbsp; is a container, then the {@see #getDeployedPath()}&nbsp; will be
- * a container as well.
- * </p>Clients that require access to the underlying Eclipse Resource for a given
- * ComponentResource should use 
- * {@see org.eclipse.wst.common.modulecore.ModuleCore#getEclipseResource(ComponentResource)}&nbsp;
- * <p>
- * See the package overview for an <a href="package-summary.html">overview of the model components </a>.
- * </p>
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getSourcePath <em>Source Path</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getRuntimePath <em>Runtime Path</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getExclusions <em>Exclusions</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getComponent <em>Component</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getResourceType <em>Resource Type</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentResource()
- * @model
- * @generated
- */
-public interface ComponentResource extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Source Path</b></em>' attribute.
-	 * <!-- begin-user-doc
-	 * -->
-	 * <p>
-	 * If the meaning of the '<em>Source Path</em>' attribute isn't clear, there really should
-	 * be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Source Path</em>' attribute.
-	 * @see #setSourcePath(IPath)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentResource_SourcePath()
-	 * @model dataType="org.eclipse.wst.common.componentcore.internal.IPath" required="true"
-	 * @generated
-	 */
-	IPath getSourcePath();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getSourcePath <em>Source Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Source Path</em>' attribute.
-	 * @see #getSourcePath()
-	 * @generated
-	 */
-	void setSourcePath(IPath value);
-
-	/**
-	 * Returns the value of the '<em><b>Runtime Path</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Runtime Path</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Runtime Path</em>' attribute.
-	 * @see #setRuntimePath(IPath)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentResource_RuntimePath()
-	 * @model dataType="org.eclipse.wst.common.componentcore.internal.IPath" required="true"
-	 * @generated
-	 */
-	IPath getRuntimePath();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getRuntimePath <em>Runtime Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Runtime Path</em>' attribute.
-	 * @see #getRuntimePath()
-	 * @generated
-	 */
-	void setRuntimePath(IPath value);
-
-	/**
-	 * Returns the value of the '<em><b>Exclusions</b></em>' attribute list.
-	 * The list contents are of type {@link java.lang.String}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Exclusions</em>' attribute list isn't clear, there really
-	 * should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Exclusions</em>' attribute list.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentResource_Exclusions()
-	 * @model type="java.lang.String" default=""
-	 * @generated
-	 */
-	EList getExclusions();
-
-	/**
-	 * Returns the value of the '<em><b>Component</b></em>' container reference.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getResources <em>Resources</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Component</em>' container reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Component</em>' container reference.
-	 * @see #setComponent(WorkbenchComponent)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentResource_Component()
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getResources
-	 * @model opposite="resources" required="true"
-	 * @generated
-	 */
-	WorkbenchComponent getComponent();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getComponent <em>Component</em>}' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Component</em>' container reference.
-	 * @see #getComponent()
-	 * @generated
-	 */
-	void setComponent(WorkbenchComponent value);
-
-	/**
-	 * Returns the value of the '<em><b>Resource Type</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Resource Type</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Resource Type</em>' attribute.
-	 * @see #setResourceType(String)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentResource_ResourceType()
-	 * @model default="" required="true"
-	 * @generated
-	 */
-	String getResourceType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getResourceType <em>Resource Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Resource Type</em>' attribute.
-	 * @see #getResourceType()
-	 * @generated
-	 */
-	void setResourceType(String value);
-	
-	IProject getOwningProject();
-	void setOwningProject(IProject aProject);
-
-} // ComponentResource
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentType.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentType.java
deleted file mode 100644
index d4f7df3..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentType.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc --> 
- * Indicates how the {@see org.eclipse.wst.common.modulecore.WorkbenchComponent}&nbsp;should be handled by
- * the tooling.  
- * <p>
- * In particular, the {@see #getModuleTypeId()}&nbsp; is used to coordinate other
- * extensions such as EditModels and the module structure preparation builder.
- * </p>
- * 
- * <p>
- * See the package overview for an <a href="package-summary.html">overview of the model components </a>.
- * </p>
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getComponentTypeId <em>Component Type Id</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getVersion <em>Version</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getProperties <em>Properties</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getMetadataResources <em>Metadata Resources</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentType()
- * @model
- * @generated
- */
-public interface ComponentType extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Component Type Id</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Component Type Id</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Component Type Id</em>' attribute.
-	 * @see #setComponentTypeId(String)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentType_ComponentTypeId()
-	 * @model default="" required="true"
-	 * @generated
-	 */
-	String getComponentTypeId();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getComponentTypeId <em>Component Type Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Component Type Id</em>' attribute.
-	 * @see #getComponentTypeId()
-	 * @generated
-	 */
-	void setComponentTypeId(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Metadata Resources</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.core.runtime.IPath}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Metadata Resources</em>' attribute list isn't clear, there
-	 * really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Metadata Resources</em>' attribute list.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentType_MetadataResources()
-	 * @model type="org.eclipse.core.runtime.IPath" dataType="org.eclipse.wst.common.componentcore.internal.IPath"
-	 * @generated
-	 */
-	EList getMetadataResources();
-
-	/**
-	 * Returns the value of the '<em><b>Version</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Version</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Version</em>' attribute.
-	 * @see #setVersion(String)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentType_Version()
-	 * @model default="" required="true"
-	 * @generated
-	 */
-	String getVersion();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getVersion <em>Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Version</em>' attribute.
-	 * @see #getVersion()
-	 * @generated
-	 */
-	void setVersion(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Properties</b></em>' reference list.
-	 * The list contents are of type {@link org.eclipse.wst.common.componentcore.internal.Property}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Properties</em>' reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Properties</em>' reference list.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getComponentType_Properties()
-	 * @model type="org.eclipse.wst.common.componentcore.internal.Property"
-	 * @generated
-	 */
-	EList getProperties();
-
-} // ComponentType
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcoreFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcoreFactory.java
deleted file mode 100644
index 2d8f4da..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcoreFactory.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentcoreFactory.java,v 1.1 2005/04/04 07:05:00 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage
- * @generated
- */
-public interface ComponentcoreFactory extends EFactory {
-	/**
-	 * The singleton instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	ComponentcoreFactory eINSTANCE = new org.eclipse.wst.common.componentcore.internal.impl.ComponentcoreFactoryImpl();
-
-	/**
-	 * Returns a new object of class '<em>Workbench Component</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Workbench Component</em>'.
-	 * @generated
-	 */
-	WorkbenchComponent createWorkbenchComponent();
-
-	/**
-	 * Returns a new object of class '<em>Component Resource</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Component Resource</em>'.
-	 * @generated
-	 */
-	ComponentResource createComponentResource();
-
-	/**
-	 * Returns a new object of class '<em>Component Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Component Type</em>'.
-	 * @generated
-	 */
-	ComponentType createComponentType();
-
-	/**
-	 * Returns a new object of class '<em>Property</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Property</em>'.
-	 * @generated
-	 */
-	Property createProperty();
-
-	/**
-	 * Returns a new object of class '<em>Referenced Component</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Referenced Component</em>'.
-	 * @generated
-	 */
-	ReferencedComponent createReferencedComponent();
-
-	/**
-	 * Returns a new object of class '<em>Project Components</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Project Components</em>'.
-	 * @generated
-	 */
-	ProjectComponents createProjectComponents();
-
-	/**
-	 * Returns the package supported by this factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	ComponentcorePackage getComponentcorePackage();
-
-} //ComponentcoreFactory
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcorePackage.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcorePackage.java
deleted file mode 100644
index 25530ca..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ComponentcorePackage.java
+++ /dev/null
@@ -1,772 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentcorePackage.java,v 1.6 2005/10/18 22:25:43 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- *   <li>each class,</li>
- *   <li>each feature of each class,</li>
- *   <li>each enum,</li>
- *   <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcoreFactory
- * @model kind="package"
- * @generated
- */
-public interface ComponentcorePackage extends EPackage{
-	/**
-	 * The package name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNAME = "componentcore";
-
-	/**
-	 * The package namespace URI.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_URI = "componentcore.xmi";
-
-	/**
-	 * The package namespace name.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	String eNS_PREFIX = "org.eclipse.wst.common.componentcore";
-
-	/**
-	 * The singleton instance of the package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	ComponentcorePackage eINSTANCE = org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl.init();
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl <em>Workbench Component</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getWorkbenchComponent()
-	 * @generated
-	 */
-	int WORKBENCH_COMPONENT = 0;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORKBENCH_COMPONENT__NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Resources</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORKBENCH_COMPONENT__RESOURCES = 1;
-
-	/**
-	 * The feature id for the '<em><b>Component Type</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORKBENCH_COMPONENT__COMPONENT_TYPE = 2;
-
-	/**
-	 * The feature id for the '<em><b>Referenced Components</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORKBENCH_COMPONENT__REFERENCED_COMPONENTS = 3;
-
-	/**
-	 * The feature id for the '<em><b>Properties</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORKBENCH_COMPONENT__PROPERTIES = 4;
-
-	/**
-	 * The feature id for the '<em><b>Metadata Resources</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORKBENCH_COMPONENT__METADATA_RESOURCES = 5;
-
-	/**
-	 * The number of structural features of the the '<em>Workbench Component</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WORKBENCH_COMPONENT_FEATURE_COUNT = 6;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentResourceImpl <em>Component Resource</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentResourceImpl
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getComponentResource()
-	 * @generated
-	 */
-	int COMPONENT_RESOURCE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Source Path</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_RESOURCE__SOURCE_PATH = 0;
-
-	/**
-	 * The feature id for the '<em><b>Runtime Path</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_RESOURCE__RUNTIME_PATH = 1;
-
-	/**
-	 * The feature id for the '<em><b>Exclusions</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_RESOURCE__EXCLUSIONS = 2;
-
-	/**
-	 * The feature id for the '<em><b>Component</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_RESOURCE__COMPONENT = 3;
-
-	/**
-	 * The feature id for the '<em><b>Resource Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_RESOURCE__RESOURCE_TYPE = 4;
-
-	/**
-	 * The number of structural features of the the '<em>Component Resource</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_RESOURCE_FEATURE_COUNT = 5;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentTypeImpl <em>Component Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentTypeImpl
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getComponentType()
-	 * @generated
-	 */
-	int COMPONENT_TYPE = 2;
-
-	/**
-	 * The feature id for the '<em><b>Component Type Id</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_TYPE__COMPONENT_TYPE_ID = 0;
-
-	/**
-	 * The feature id for the '<em><b>Version</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_TYPE__VERSION = 1;
-
-	/**
-	 * The feature id for the '<em><b>Properties</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_TYPE__PROPERTIES = 2;
-
-	/**
-	 * The feature id for the '<em><b>Metadata Resources</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_TYPE__METADATA_RESOURCES = 3;
-
-	/**
-	 * The number of structural features of the the '<em>Component Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_TYPE_FEATURE_COUNT = 4;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.wst.common.componentcore.internal.impl.PropertyImpl <em>Property</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.PropertyImpl
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getProperty()
-	 * @generated
-	 */
-	int PROPERTY = 3;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Value</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__VALUE = 1;
-
-	/**
-	 * The number of structural features of the the '<em>Property</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY_FEATURE_COUNT = 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl <em>Referenced Component</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getReferencedComponent()
-	 * @generated
-	 */
-	int REFERENCED_COMPONENT = 4;
-
-	/**
-	 * The feature id for the '<em><b>Handle</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REFERENCED_COMPONENT__HANDLE = 0;
-
-	/**
-	 * The feature id for the '<em><b>Runtime Path</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REFERENCED_COMPONENT__RUNTIME_PATH = 1;
-
-	/**
-	 * The feature id for the '<em><b>Dependency Type</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REFERENCED_COMPONENT__DEPENDENCY_TYPE = 2;
-
-	/**
-	 * The feature id for the '<em><b>Dependent Object</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REFERENCED_COMPONENT__DEPENDENT_OBJECT = 3;
-
-	/**
-	 * The number of structural features of the the '<em>Referenced Component</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REFERENCED_COMPONENT_FEATURE_COUNT = 4;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.wst.common.componentcore.internal.impl.ProjectComponentsImpl <em>Project Components</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ProjectComponentsImpl
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getProjectComponents()
-	 * @generated
-	 */
-	int PROJECT_COMPONENTS = 5;
-
-	/**
-	 * The feature id for the '<em><b>Project Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROJECT_COMPONENTS__PROJECT_NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Components</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROJECT_COMPONENTS__COMPONENTS = 1;
-
-	/**
-	 * The number of structural features of the the '<em>Project Components</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROJECT_COMPONENTS_FEATURE_COUNT = 2;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.wst.common.componentcore.internal.DependencyType <em>Dependency Type</em>}' enum.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.wst.common.componentcore.internal.DependencyType
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getDependencyType()
-	 * @generated
-	 */
-	int DEPENDENCY_TYPE = 6;
-
-	/**
-	 * The meta object id for the '<em>IPath</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.core.runtime.IPath
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getIPath()
-	 * @generated
-	 */
-	int IPATH = 7;
-
-	/**
-	 * The meta object id for the '<em>URI</em>' data type.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.common.util.URI
-	 * @see org.eclipse.wst.common.componentcore.internal.impl.ComponentcorePackageImpl#getURI()
-	 * @generated
-	 */
-	int URI = 8;
-
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent <em>Workbench Component</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Workbench Component</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent
-	 * @generated
-	 */
-	EClass getWorkbenchComponent();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getName()
-	 * @see #getWorkbenchComponent()
-	 * @generated
-	 */
-	EAttribute getWorkbenchComponent_Name();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getResources <em>Resources</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Resources</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getResources()
-	 * @see #getWorkbenchComponent()
-	 * @generated
-	 */
-	EReference getWorkbenchComponent_Resources();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getComponentType <em>Component Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Component Type</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getComponentType()
-	 * @see #getWorkbenchComponent()
-	 * @generated
-	 */
-	EReference getWorkbenchComponent_ComponentType();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getReferencedComponents <em>Referenced Components</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Referenced Components</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getReferencedComponents()
-	 * @see #getWorkbenchComponent()
-	 * @generated
-	 */
-	EReference getWorkbenchComponent_ReferencedComponents();
-
-	/**
-	 * Returns the meta object for the reference list '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getProperties <em>Properties</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference list '<em>Properties</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getProperties()
-	 * @see #getWorkbenchComponent()
-	 * @generated
-	 */
-	EReference getWorkbenchComponent_Properties();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getMetadataResources <em>Metadata Resources</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Metadata Resources</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getMetadataResources()
-	 * @see #getWorkbenchComponent()
-	 * @generated
-	 */
-	EAttribute getWorkbenchComponent_MetadataResources();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource <em>Component Resource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Component Resource</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentResource
-	 * @generated
-	 */
-	EClass getComponentResource();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getSourcePath <em>Source Path</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Source Path</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentResource#getSourcePath()
-	 * @see #getComponentResource()
-	 * @generated
-	 */
-	EAttribute getComponentResource_SourcePath();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getRuntimePath <em>Runtime Path</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Runtime Path</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentResource#getRuntimePath()
-	 * @see #getComponentResource()
-	 * @generated
-	 */
-	EAttribute getComponentResource_RuntimePath();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getExclusions <em>Exclusions</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Exclusions</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentResource#getExclusions()
-	 * @see #getComponentResource()
-	 * @generated
-	 */
-	EAttribute getComponentResource_Exclusions();
-
-	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getComponent <em>Component</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the container reference '<em>Component</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentResource#getComponent()
-	 * @see #getComponentResource()
-	 * @generated
-	 */
-	EReference getComponentResource_Component();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getResourceType <em>Resource Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Resource Type</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentResource#getResourceType()
-	 * @see #getComponentResource()
-	 * @generated
-	 */
-	EAttribute getComponentResource_ResourceType();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.wst.common.componentcore.internal.ComponentType <em>Component Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Component Type</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentType
-	 * @generated
-	 */
-	EClass getComponentType();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getComponentTypeId <em>Component Type Id</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Component Type Id</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentType#getComponentTypeId()
-	 * @see #getComponentType()
-	 * @generated
-	 */
-	EAttribute getComponentType_ComponentTypeId();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getVersion <em>Version</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Version</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentType#getVersion()
-	 * @see #getComponentType()
-	 * @generated
-	 */
-	EAttribute getComponentType_Version();
-
-	/**
-	 * Returns the meta object for the reference list '{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getProperties <em>Properties</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference list '<em>Properties</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentType#getProperties()
-	 * @see #getComponentType()
-	 * @generated
-	 */
-	EReference getComponentType_Properties();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.wst.common.componentcore.internal.ComponentType#getMetadataResources <em>Metadata Resources</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Metadata Resources</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentType#getMetadataResources()
-	 * @see #getComponentType()
-	 * @generated
-	 */
-	EAttribute getComponentType_MetadataResources();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.wst.common.componentcore.internal.Property <em>Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Property</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.Property
-	 * @generated
-	 */
-	EClass getProperty();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.Property#getName <em>Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Name</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.Property#getName()
-	 * @see #getProperty()
-	 * @generated
-	 */
-	EAttribute getProperty_Name();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.Property#getValue <em>Value</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Value</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.Property#getValue()
-	 * @see #getProperty()
-	 * @generated
-	 */
-	EAttribute getProperty_Value();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent <em>Referenced Component</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Referenced Component</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ReferencedComponent
-	 * @generated
-	 */
-	EClass getReferencedComponent();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getHandle <em>Handle</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Handle</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getHandle()
-	 * @see #getReferencedComponent()
-	 * @generated
-	 */
-	EAttribute getReferencedComponent_Handle();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getRuntimePath <em>Runtime Path</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Runtime Path</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getRuntimePath()
-	 * @see #getReferencedComponent()
-	 * @generated
-	 */
-	EAttribute getReferencedComponent_RuntimePath();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependencyType <em>Dependency Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Dependency Type</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependencyType()
-	 * @see #getReferencedComponent()
-	 * @generated
-	 */
-	EAttribute getReferencedComponent_DependencyType();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependentObject <em>Dependent Object</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Dependent Object</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependentObject()
-	 * @see #getReferencedComponent()
-	 * @generated
-	 */
-	EReference getReferencedComponent_DependentObject();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.wst.common.componentcore.internal.ProjectComponents <em>Project Components</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Project Components</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ProjectComponents
-	 * @generated
-	 */
-	EClass getProjectComponents();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.wst.common.componentcore.internal.ProjectComponents#getProjectName <em>Project Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Project Name</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ProjectComponents#getProjectName()
-	 * @see #getProjectComponents()
-	 * @generated
-	 */
-	EAttribute getProjectComponents_ProjectName();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.wst.common.componentcore.internal.ProjectComponents#getComponents <em>Components</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Components</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.ProjectComponents#getComponents()
-	 * @see #getProjectComponents()
-	 * @generated
-	 */
-	EReference getProjectComponents_Components();
-
-	/**
-	 * Returns the meta object for enum '{@link org.eclipse.wst.common.componentcore.internal.DependencyType <em>Dependency Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for enum '<em>Dependency Type</em>'.
-	 * @see org.eclipse.wst.common.componentcore.internal.DependencyType
-	 * @generated
-	 */
-	EEnum getDependencyType();
-
-	/**
-	 * Returns the meta object for data type '{@link org.eclipse.core.runtime.IPath <em>IPath</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>IPath</em>'.
-	 * @see org.eclipse.core.runtime.IPath
-	 * @model instanceClass="org.eclipse.core.runtime.IPath"
-	 *        annotation="keywords datatype='null'" 
-	 * @generated
-	 */
-	EDataType getIPath();
-
-	/**
-	 * Returns the meta object for data type '{@link org.eclipse.emf.common.util.URI <em>URI</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for data type '<em>URI</em>'.
-	 * @see org.eclipse.emf.common.util.URI
-	 * @model instanceClass="org.eclipse.emf.common.util.URI"
-	 *        annotation="keywords datatype='null'" 
-	 * @generated
-	 */
-	EDataType getURI();
-
-	/**
-	 * Returns the factory that creates the instances of the model.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	ComponentcoreFactory getComponentcoreFactory();
-
-} //ComponentcorePackage
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/DependencyType.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/DependencyType.java
deleted file mode 100644
index d9cf17a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/DependencyType.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.util.AbstractEnumerator;
-
-/**
- * 
- * <!-- begin-user-doc --> 
- * Indicates how a particular {@see org.eclipse.wst.common.modulecore.ReferencedComponent}&nbsp;should be
- * absorbed by a {@see org.eclipse.wst.common.modulecore.WorkbenchComponent}. 
- * <p>
- * Provides two types ("uses", "consumes") which are used by
- * {@see org.eclipse.wst.common.modulecore.ReferencedComponent}s to specify how the
- * {@see org.eclipse.wst.common.modulecore.ReferencedComponent}&nbsp; should be absorbed by the
- * containing {@see org.eclipse.wst.common.modulecore.WorkbenchComponent}.
- * </p>
- * For clients that need to create one of these objects from scratch,
- * {@see org.eclipse.wst.common.modulecore.ModuleCoreFactory}.
- * <p>
- * A representation of the literals of the enumeration '<em><b>Dependency Type</b></em>', and
- * utility methods for working with them.
- * </p>
- * <p> 
- * See the package overview for an <a href="package-summary.html">overview of the model components</a>.
- * </p>
- * <!-- end-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> uses=0 consumes=1 <!--
- * end-model-doc -->
- * 
- * @see org.eclipse.wst.common.componentcore.internal.ModuleCorePackage#getDependencyType()
- * @model
- * @generated
- */
-public final class DependencyType extends AbstractEnumerator {
-	/**
-	 * The '<em><b>Uses</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Uses</b></em>' literal object isn't clear, there really should
-	 * be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #USES_LITERAL
-	 * @model name="uses"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int USES = 0;
-
-	/**
-	 * The '<em><b>Consumes</b></em>' literal value.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of '<em><b>Consumes</b></em>' literal object isn't clear, there really
-	 * should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @see #CONSUMES_LITERAL
-	 * @model name="consumes"
-	 * @generated
-	 * @ordered
-	 */
-	public static final int CONSUMES = 1;
-
-	/**
-	 * The '<em><b>Uses</b></em>' literal object.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @see #USES
-	 * @generated
-	 * @ordered
-	 */
-	public static final DependencyType USES_LITERAL = new DependencyType(USES, "uses");
-
-	/**
-	 * The '<em><b>Consumes</b></em>' literal object. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @see #CONSUMES
-	 * @generated
-	 * @ordered
-	 */
-	public static final DependencyType CONSUMES_LITERAL = new DependencyType(CONSUMES, "consumes");
-
-	/**
-	 * An array of all the '<em><b>Dependency Type</b></em>' enumerators.
-	 * <!-- begin-user-doc
-	 * --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static final DependencyType[] VALUES_ARRAY =
-		new DependencyType[] {
-			USES_LITERAL,
-			CONSUMES_LITERAL,
-		};
-
-	/**
-	 * A public read-only list of all the '<em><b>Dependency Type</b></em>' enumerators. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
-
-	/**
-	 * Returns the '<em><b>Dependency Type</b></em>' literal with the specified name. 
-	 * <!-- begin-user-doc --> 
-	 * @param name passes literal name
-	 * @return literal instance
-	 * <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public static DependencyType get(String name) {
-		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
-			DependencyType result = VALUES_ARRAY[i];
-			if (result.toString().equals(name)) {
-				return result;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the '<em><b>Dependency Type</b></em>' literal with the specified value. 
-	 *  <!-- begin-user-doc -->
-	 * @param value passes literal value
-	 * @return literal instance
-	 *  <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public static DependencyType get(int value) {
-		switch (value) {
-			case USES: return USES_LITERAL;
-			case CONSUMES: return CONSUMES_LITERAL;
-		}
-		return null;	
-	}
-
-	/**
-	 * Only this class can construct instances.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	private DependencyType(int value, String name) {
-		super(value, name);
-	}
-
-} //DependencyType
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/IComponentProjectMigrator.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/IComponentProjectMigrator.java
deleted file mode 100644
index 0f66ad1..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/IComponentProjectMigrator.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.core.resources.IProject;
-
-public interface IComponentProjectMigrator {
-	public void migrateProject(IProject project);
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModuleMigratorManager.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModuleMigratorManager.java
deleted file mode 100644
index 011f2c7..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModuleMigratorManager.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
-import org.eclipse.wst.common.componentcore.datamodel.ProjectMigratorDataModelProvider;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IProjectMigratorDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.IWorkspaceRunnableWithStatus;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-
-public class ModuleMigratorManager {
-
-	private static HashMap managerCache = new HashMap();
-
-	private static HashSet migrated = new HashSet();
-
-	private boolean migrating;
-
-	private HashSet moved = new HashSet();
-
-	public ModuleMigratorManager() {
-		super();
-	}
-
-	public static ModuleMigratorManager getManager(IProject proj) {
-		ModuleMigratorManager manager = (ModuleMigratorManager) managerCache.get(proj);
-		if (manager == null) {
-			manager = new ModuleMigratorManager();
-			managerCache.put(proj, manager);
-		}
-		return manager;
-	}
-	
-	
-
-	private void migrateComponentsIfNecessary(IProject project, boolean multiComps) {
-		if (multiComps) {
-			setupAndMigrateComponentProject(project);
-		} else {
-			IProject[] projects = WorkbenchResourceHelper.getWorkspace().getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject proj = projects[i];
-				setupAndMigrateComponentProject(proj);
-			}
-		}
-	}
-
-	private IStatus validateEdit(IResource aRes) {
-
-		ISchedulingRule validateEditRule = null;
-		IStatus status;
-		IFile[] validateFiles;
-		try {
-			if (aRes.getType() == IResource.FILE )
-				validateFiles = new IFile[] {(IFile)aRes};
-			else
-				validateFiles = getAllContainerFiles((IContainer)aRes);
-			IWorkspace workspace = aRes.getWorkspace();
-			validateEditRule = workspace.getRuleFactory().validateEditRule(validateFiles);
-			Platform.getJobManager().beginRule(validateEditRule, null);
-			status = workspace.validateEdit(validateFiles, null);
-			if (!status.isOK()) {
-				StringBuffer validateString = new StringBuffer();
-				for (int i = 0; i < validateFiles.length; i++) {
-					IFile file = validateFiles[i];
-					validateString.append('\n');
-					validateString.append(file.getProjectRelativePath());
-				}
-				Logger.getLogger().logWarning("During project migration on: " + aRes.getProject() + " validate edit failed on files: " + validateString.toString());
-			}
-			} finally {
-			if (validateEditRule != null) {
-				Platform.getJobManager().endRule(validateEditRule);
-			}
-		}
-		return status;
-
-	}
-
-	private void setupAndMigrateComponentProject(IProject proj) {
-		migrated.add(proj);
-		IDataModel dm = DataModelFactory.createDataModel(new ProjectMigratorDataModelProvider());
-		dm.setStringProperty(IProjectMigratorDataModelProperties.PROJECT_NAME, proj.getName());
-		try {
-			dm.getDefaultOperation().execute(null, null);
-		} catch (ExecutionException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	public synchronized void migrateOldMetaData(IProject aProject, final boolean multiComps) throws CoreException {
-		migrating = true;
-		IWorkspaceRunnableWithStatus workspaceRunnable = new IWorkspaceRunnableWithStatus(aProject) {
-
-			public void run(IProgressMonitor pm) throws CoreException {
-				IProject aProj = (IProject) this.getInfo();
-				try {
-					if (aProj.isAccessible() && ModuleCoreNature.isFlexibleProject(aProj)) {
-						if (aProj.findMember(".wtpmodules") != null) {
-							if (!moved.contains(aProj))
-								moveOldMetaDataFile();
-						} else
-							moved.add(aProj);
-						if (needsComponentMigration(aProj, multiComps))
-							migrateComponentsIfNecessary(aProj, multiComps);
-					}
-				} finally {
-					migrating = false;
-				}
-			}
-
-			private boolean needsComponentMigration(IProject aProj, boolean multiComps) throws CoreException {
-
-				boolean needs = !migrated.contains(aProj);
-				if (multiComps)
-					return (needs && multiComps);
-				else
-					return (aProj.findMember(".settings/.component") != null) && (ProjectFacetsManager.create(aProj) == null) && needs;
-			}
-		};
-
-		ResourcesPlugin.getWorkspace().run(workspaceRunnable, null, IWorkspace.AVOID_UPDATE, null);
-	}
-
-	private void moveMetaDataFile(IProject project) {
-		IResource oldfile = project.findMember(".wtpmodules");
-		if (oldfile != null && oldfile.exists()) {
-
-			try {
-				if (!validateEdit((IFile)oldfile).isOK()) return;
-				IFolder settingsFolder = project.getFolder(".settings");
-				if (!settingsFolder.exists())
-					settingsFolder.create(true, true, null);
-				oldfile.move(new Path(".settings/.component"), true, null);
-			} catch (CoreException e) {
-				Platform.getLog(ModulecorePlugin.getDefault().getBundle()).log(
-						new Status(IStatus.ERROR, ModulecorePlugin.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e));
-			}
-		}
-	}
-
-	private void moveOldMetaDataFile() {
-
-		try {
-			IProject[] projects = WorkbenchResourceHelper.getWorkspace().getRoot().getProjects();
-			for (int i = 0; i < projects.length; i++) {
-				IProject project = projects[i];
-				if (!moved.contains(project))
-					moveMetaDataFile(project);
-				IFolder depFolder = project.getFolder(".deployables");
-				if (depFolder.exists()) {
-					if (!validateEdit(depFolder).isOK()) return;
-					depFolder.delete(true, null);
-				}
-				project.refreshLocal(IResource.DEPTH_INFINITE, null);
-				moved.add(project);
-			}
-
-		} catch (Exception e) {
-		}
-
-	}
-
-	protected boolean isMigrating() {
-		return migrating;
-	}
-
-	private List collectFiles(IResource[] members, List result) throws CoreException {
-		// recursively collect files for the given members
-		for (int i = 0; i < members.length; i++) {
-			IResource res = members[i];
-			if (res instanceof IFolder) {
-				collectFiles(((IFolder) res).members(), result);
-			} else if (res instanceof IFile) {
-				result.add(res);
-			}
-		}
-		return result;
-	}
-
-	/**
-	 * List of all files in the project.
-	 * <p>
-	 * Note: A more efficient way to do this is to use {@link IResource#accept(org.eclipse.core.resources.IResourceProxyVisitor, int)}
-	 * 
-	 * @param 1.0.0
-	 * @return list of files in the project
-	 * 
-	 * @see IResource#accept(org.eclipse.core.resources.IResourceProxyVisitor, int)
-	 * @since 1.0.0
-	 */
-	private IFile[] getAllContainerFiles(IContainer container) {
-		List result = new ArrayList();
-		if (container == null)
-			return new IFile[0];
-		try {
-			result = collectFiles(container.members(), result);
-		} catch (CoreException e) {
-		}
-		return (IFile[])result.toArray(new IFile[result.size()]);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModuleStructuralModel.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModuleStructuralModel.java
deleted file mode 100644
index 51caed5..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModuleStructuralModel.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMIResource;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeNode;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeRoot;
-import org.eclipse.wst.common.componentcore.internal.impl.WTPModulesResource;
-import org.eclipse.wst.common.componentcore.internal.impl.WTPModulesResourceFactory;
-import org.eclipse.wst.common.internal.emf.resource.ReferencedResource;
-import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.project.facet.core.internal.FacetedProjectNature;
-/**
- * Manages the underlying Module Structural Metamodel.
-* <a name="module-structural-model"/>
-* <p>
-* Each ModuleCoreNature from a given project can provide access to the
-* {@see org.eclipse.wst.common.modulecore.ModuleStructuralModel}&nbsp; of the project.
-* {@see org.eclipse.wst.common.modulecore.ModuleStructuralModel}&nbsp; is a subclass of
-* {@see org.eclipse.wst.common.internal.emfworkbench.integration.EditModel}&nbsp;that manages
-* resources associated with the Module Structural Metamodel. As an EditModel, the
-* {@see org.eclipse.wst.common.modulecore.ModuleStructuralModel}&nbsp; references EMF resources,
-* that contain EMF models -- in this case, the EMF model of <i>.component </i> file.
-* </p>
-* <p>
-* Clients are encouraged to use the Edit Facade pattern (via
-* {@see org.eclipse.wst.common.modulecore.ModuleCore}&nbsp; or one if its relevant subclasses)
-* to work directly with the Module Structural Metamodel.
-* </p> 
-* <p>
-* <a href="ModuleCoreNature.html#model-discussion">See the discussion</a> of how ModuleStructuralModel relates to the ArtifactEditModel and ModuleCoreNature.
-* <a name="accessor-key"/>
-* <p>
-* All EditModels have a lifecycle that must be enforced to keep the resources loaded that are in
-* use, and to unload resources that are not in use. To access an EditModel, clients are required to
-* supply an object token referred to as an accessor key. The accessor key allows the framework to
-* better track which clients are using the EditModel, and to ensure that only a client which has
-* accessed the EditModel with an accessor key may invoke save*()s on that EditModel.
-* </p>
-*/ 
-public class ModuleStructuralModel extends EditModel implements IAdaptable {
-	
-	public static final String MODULE_CORE_ID = "moduleCoreId"; //$NON-NLS-1$ 
-	private boolean multiComps;
-	public ModuleStructuralModel(String editModelID, EMFWorkbenchContext context, boolean readOnly) {
-        super(editModelID, context, readOnly);
-    }
-    /**
-	 * Release each of the referenced resources.
-	 */
-	protected void release(ReferencedResource aResource) {
-		if (isReadOnly() && aResource.getReadCount() != 0)
-			aResource.releaseFromRead();
-		else
-			aResource.releaseFromWrite();
-
-	}
-	protected boolean removeResource(Resource aResource) {
-		if (aResource != null) {
-			synchronized (aResource) {
-				aResource.eAdapters().remove(resourceAdapter);
-				return getResources().remove(aResource);
-			}
-		}
-		return false;
-	}
-    
-    /* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModel#getPrimaryRootObject()
-	 */
-	public EObject getPrimaryRootObject() {
-		try {
-			Resource res = prepareProjectModulesIfNecessary();
-			if (res == null)
-				return null;
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		EObject modelRoot = null;
-		synchronized (this) {
-			modelRoot = super.getPrimaryRootObject();
-		}
-		if (modelRoot != null) {
-			// if the workspace tree is locked we cannot try to change the .component resource
-			if (ResourcesPlugin.getWorkspace().isTreeLocked())
-				return modelRoot;
-			List components = ((ProjectComponents)modelRoot).getComponents();
-			if (components.size()>0) {
-				WorkbenchComponent wbComp = (WorkbenchComponent)components.get(0);
-				// Check and see if we need to clean up spurrious redundant map entries
-				cleanupWTPModules(wbComp);
-			}
-		}
-		return modelRoot;
-	}
-	
-	/**
-	 * This method is used to remove spurrious redundant entries from the .component file
-	 * 
-	 * @param wbComp
-	 */
-	public void cleanupWTPModules(WorkbenchComponent wbComp) {
-		ModuleStructuralModel model = new ModuleStructuralModel(getEditModelID(),getEmfContext(),false);
-		if (wbComp == null || model == null)
-			return;
-		try {
-			model.access(this);
-			ResourceTreeRoot root = ResourceTreeRoot.getSourceResourceTreeRoot(wbComp);
-			List rootResources = getModuleResources(root);
-			// Only if we need to do a clean, do we clear, add all required root resource mappings, and save
-			if (!(wbComp.getResources().containsAll(rootResources) && wbComp.getResources().size()==rootResources.size())) {
-				wbComp.getResources().clear();
-				wbComp.getResources().addAll(rootResources);
-				model.save(this);
-			}
-		} finally {
-			if (model != null)
-				model.dispose();
-		}
-	}
-    
-	/**
-	 * This is a recursive method to find all the root level resources in the children's resource tree roots
-	 * 
-	 * @param node
-	 * @return List of module resources
-	 */
-	public List getModuleResources(ResourceTreeNode node) {
-		// If the resource node has module resources just return them
-		if (node.getModuleResources().length>0)
-			return Arrays.asList(node.getModuleResources());
-		// Otherwise, the root resource maps are really at the next level or lower
-		List rootResources = new ArrayList();
-		Map children = node.getChildren();
-		Iterator iter = children.values().iterator();
-		while (iter.hasNext()) {
-			ResourceTreeNode subNode = (ResourceTreeNode) iter.next();
-			// recursively call method to obtain module resources
-			rootResources.addAll(getModuleResources(subNode));
-		}
-		return rootResources;
-	}
-	
-	public WTPModulesResource  makeWTPModulesResource() {
-		return (WTPModulesResource) createResource(WTPModulesResourceFactory.WTP_MODULES_URI_OBJ);
-	}
-
-	public Resource prepareProjectModulesIfNecessary() throws CoreException {
-		ModuleMigratorManager manager = ModuleMigratorManager.getManager(getProject());
-		XMIResource res = null;
-		
-		synchronized(ModulecorePlugin.getDefault()){
-			res = (XMIResource) getPrimaryResource();
-		}
-		
-		if (resNeedsMigrating(res)) {
-			try {
-				if (!manager.isMigrating() && !ResourcesPlugin.getWorkspace().isTreeLocked())
-					manager.migrateOldMetaData(getProject(),multiComps);
-			} catch (CoreException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			} finally {
-				res = (XMIResource) getPrimaryResource();
-				if ((res == null) || (res != null && res.getContents().isEmpty())) {
-					if (res != null) {
-						removeResource(res);
-					}
-					res = null;
-				}
-			}
-		}
-		if(res == null)
-			res = makeWTPModulesResource();		
-		try {
-			addProjectModulesIfNecessary(res);
-		} catch (IOException e) {		
-			Platform.getLog(ModulecorePlugin.getDefault().getBundle()).log(new Status(IStatus.ERROR, ModulecorePlugin.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e));
-		} 
-		return res;
-	}
-	private boolean resNeedsMigrating(XMIResource res) throws CoreException {
-		multiComps = false;
-		if (project==null)
-			return false;
-		boolean needsMigrating =  (!project.hasNature(FacetedProjectNature.NATURE_ID)); //|| (res!=null && !res.isLoaded() && ((WTPModulesResource)res).getRootObject() != null);
-		if (!needsMigrating) {
-			if (res != null && ((WTPModulesResource)res).getRootObject() != null) {
-				ProjectComponents components = (ProjectComponents) ((WTPModulesResource)res).getRootObject();
-				if (components.getComponents() != null) {
-					multiComps = components.getComponents().size() > 1;
-					return multiComps;
-				}
-			}
-		}
-		return needsMigrating;
-	}
-	
-	public Object getAdapter(Class anAdapter) {
-		return Platform.getAdapterManager().getAdapter(this, anAdapter); 
-	}
-	
-	protected void addProjectModulesIfNecessary(XMIResource aResource) throws IOException {
-		
-		if (aResource != null) { 
-			if(aResource.getContents().isEmpty()) {
-				ProjectComponents projectModules = ComponentcorePackage.eINSTANCE.getComponentcoreFactory().createProjectComponents();
-				projectModules.setProjectName(project.getName());
-				aResource.getContents().add(projectModules); 
-				aResource.setID(projectModules, MODULE_CORE_ID);
-			}
-		}
-	}
-	protected Resource getAndLoadLocalResource(URI aUri) {
-		
-			Resource resource = getLocalResource(aUri);
-			if (null != resource) {
-				synchronized (resource) {
-					if (!resource.isLoaded()) {
-						try {
-							resource.load(Collections.EMPTY_MAP); // reload it
-						} catch (IOException e) {
-							// Ignore
-						}
-					}
-				}
-			}
-			return resource;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModulecorePlugin.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModulecorePlugin.java
deleted file mode 100644
index fca8e2d..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ModulecorePlugin.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-import org.eclipse.wst.common.componentcore.internal.impl.PlatformURLModuleConnection;
-import org.eclipse.wst.common.componentcore.internal.impl.WTPModulesInit;
-import org.eclipse.wst.common.componentcore.internal.util.ArtifactEditAdapterFactory;
-import org.eclipse.wst.common.componentcore.internal.util.ModuleCoreEclipseAdapterFactory;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class ModulecorePlugin extends Plugin {
-	//The shared instance.
-	private static ModulecorePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	//plugin id
-	public static final String PLUGIN_ID = "org.eclipse.wst.common.modulecore"; //$NON-NLS-1$
-	
-	/**
-	 * The constructor.
-	 */
-	public ModulecorePlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public synchronized void start(BundleContext context) throws Exception {
-		
-		super.start(context);
-		IAdapterManager manager = Platform.getAdapterManager();
-		
-		manager.registerAdapters(new ModuleCoreEclipseAdapterFactory(), ModuleStructuralModel.class);
-		manager.registerAdapters(new ArtifactEditAdapterFactory(), ArtifactEditModel.class);
-		manager.registerAdapters(new ArtifactEditAdapterFactory(), ArtifactEdit.class);
-		manager.registerAdapters(new ArtifactEditAdapterFactory(), IVirtualComponent.class);
-		manager.registerAdapters(new ModuleCoreEclipseAdapterFactory(), IResource.class);
-		
-		PlatformURLModuleConnection.startup();
-		WTPModulesInit.init();
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		plugin = null;
-		resourceBundle = null;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static ModulecorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = ModulecorePlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		try {
-			if (resourceBundle == null)
-				resourceBundle = ResourceBundle.getBundle("modulecore"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-		return resourceBundle;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ProjectComponents.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ProjectComponents.java
deleted file mode 100644
index bf7649a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ProjectComponents.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc --> 
- * Provides a root object to store and manage the
- * {@see org.eclipse.wst.common.modulecore.WorkbenchComponent}s. * 
- * <p>
- * See the package overview for an <a href="package-summary.html">overview of the model components </a>.
- * </p>
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ProjectComponents#getProjectName <em>Project Name</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ProjectComponents#getComponents <em>Components</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getProjectComponents()
- * @model
- * @generated
- */
-public interface ProjectComponents extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Project Name</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc
-	 * -->
-	 * <p>
-	 * If the meaning of the '<em>Project Name</em>' attribute isn't clear, there really should
-	 * be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Project Name</em>' attribute.
-	 * @see #setProjectName(String)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getProjectComponents_ProjectName()
-	 * @model default="" required="true"
-	 * @generated
-	 */
-	String getProjectName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ProjectComponents#getProjectName <em>Project Name</em>}' attribute.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Project Name</em>' attribute.
-	 * @see #getProjectName()
-	 * @generated
-	 */
-	void setProjectName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Components</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Components</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Components</em>' containment reference list.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getProjectComponents_Components()
-	 * @model type="org.eclipse.wst.common.componentcore.internal.WorkbenchComponent" containment="true"
-	 * @generated
-	 */
-	EList getComponents();
-
-	public WorkbenchComponent findWorkbenchModule(String aDeployName);
-
-} // ProjectComponents
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ProjectMigratorRegistry.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ProjectMigratorRegistry.java
deleted file mode 100644
index f6883ca..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ProjectMigratorRegistry.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Oct 29, 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.componentcore.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-
-/**
- * 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 ProjectMigratorRegistry extends RegistryReader {
-
-	static final String EXTENSION_NAME = "ComponentProjectMigrator"; //$NON-NLS-1$
-	static final String ELEMENT_MIGRATOR_EXTENSION = "migratorExtension"; //$NON-NLS-1$
-	static final String MIGRATOR_CLASS = "class"; //$NON-NLS-1$
-	private List projectMigrators = new ArrayList();
-	private static ProjectMigratorRegistry INSTANCE = null;
-
-	public ProjectMigratorRegistry() {
-		super(ModulecorePlugin.PLUGIN_ID, EXTENSION_NAME);
-	}
-
-	public static ProjectMigratorRegistry getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new ProjectMigratorRegistry();
-			INSTANCE.readRegistry();
-		}
-		return INSTANCE;
-	}
-
-	/**
-	 * readElement() - parse and deal w/ an extension like: <earModuleExtension extensionClass =
-	 * "com.ibm.etools.web.plugin.WebModuleExtensionImpl"/>
-	 */
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(ELEMENT_MIGRATOR_EXTENSION))
-			return false;
-
-		IComponentProjectMigrator migrator = null;
-		try {
-			migrator = (IComponentProjectMigrator) element.createExecutableExtension(MIGRATOR_CLASS);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		if (migrator != null)
-			addModuleExtension(migrator);
-		return true;
-	}
-
-	public IComponentProjectMigrator[] getProjectMigrators(){
-		return (IComponentProjectMigrator[])projectMigrators.toArray(new IComponentProjectMigrator[projectMigrators.size()]);
-	}
-	private void addModuleExtension(IComponentProjectMigrator ext) {
-		projectMigrators.add(ext);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/Property.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/Property.java
deleted file mode 100644
index 5549bd5..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/Property.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: Property.java,v 1.1 2005/04/04 07:05:00 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.Property#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.Property#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getProperty()
- * @model
- * @generated
- */
-public interface Property extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getProperty_Name()
-	 * @model default="" required="true"
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.Property#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Value</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Value</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Value</em>' attribute.
-	 * @see #setValue(String)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getProperty_Value()
-	 * @model default="" required="true"
-	 * @generated
-	 */
-	String getValue();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.Property#getValue <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Value</em>' attribute.
-	 * @see #getValue()
-	 * @generated
-	 */
-	void setValue(String value);
-
-} // Property
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ReferencedComponent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ReferencedComponent.java
deleted file mode 100644
index 7caa133..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/ReferencedComponent.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc --> 
- * Used to reference {@see org.eclipse.wst.common.modulecore.WorkbenchComponent}s either contained in
- * the same project or remotely. 
- * <p>
- * Each {@see org.eclipse.wst.common.modulecore.WorkbenchComponent}&nbsp; contains a list of its
- * DependentModules.
- * </p> 
- * <p>
- * The referenced {@see WorkbenchComponent}&nbsp; may be in the same project as the
- * {@see WorkbenchComponent}&nbsp; that contains the current ReferencedComponent. Use
- * {@see ModuleCore#isLocalDependency(ReferencedComponent)}&nbsp; to make the determination.
- * </p> 
- * <p>
- * See the package overview for an <a href="package-summary.html">overview of the model components </a>.
- * </p>
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getHandle <em>Handle</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getRuntimePath <em>Runtime Path</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependencyType <em>Dependency Type</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependentObject <em>Dependent Object</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getReferencedComponent()
- * @model
- * @generated
- */
-public interface ReferencedComponent extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Handle</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * Returns a fully-qualified URI that conforms to the standard "module:" URI format. The handle
-	 * references the {@see WorkbenchComponent}represented by the current ReferencedComponent.
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Handle</em>' attribute.
-	 * @see #setHandle(URI)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getReferencedComponent_Handle()
-	 * @model dataType="org.eclipse.wst.common.componentcore.internal.URI" required="true"
-	 * @generated
-	 */
-	URI getHandle();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getHandle <em>Handle</em>}' attribute.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Handle</em>' attribute.
-	 * @see #getHandle()
-	 * @generated
-	 */
-	void setHandle(URI value);
-
-	/**
-	 * Returns the value of the '<em><b>Runtime Path</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Runtime Path</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Runtime Path</em>' attribute.
-	 * @see #setRuntimePath(IPath)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getReferencedComponent_RuntimePath()
-	 * @model dataType="org.eclipse.wst.common.componentcore.internal.IPath" required="true"
-	 * @generated
-	 */
-	IPath getRuntimePath();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getRuntimePath <em>Runtime Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Runtime Path</em>' attribute.
-	 * @see #getRuntimePath()
-	 * @generated
-	 */
-	void setRuntimePath(IPath value);
-
-	/**
-	 * Returns the value of the '<em><b>Dependency Type</b></em>' attribute. The literals are
-	 * from the enumeration {@link org.eclipse.wst.common.componentcore.internal.DependencyType}. <!--
-	 * begin-user-doc -->
-	 * <p>
-	 * See the class documentation {@see DependencyType}for information on the purpose of this
-	 * field.
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * 
-	 * @return the value of the '<em>Dependency Type</em>' attribute.
-	 * @see org.eclipse.wst.common.componentcore.internal.DependencyType
-	 * @see #setDependencyType(DependencyType)
-	 * @see org.eclipse.wst.common.componentcore.internal.ModuleCorePackage#getDependentModule_DependencyType()
-	 * @model
-	 * @generated
-	 */
-	DependencyType getDependencyType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependencyType <em>Dependency Type</em>}' attribute.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Dependency Type</em>' attribute.
-	 * @see org.eclipse.wst.common.componentcore.internal.DependencyType
-	 * @see #getDependencyType()
-	 * @generated
-	 */
-	void setDependencyType(DependencyType value);
-
-	/**
-	 * Returns the value of the '<em><b>Dependent Object</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Dependent Object</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Dependent Object</em>' reference.
-	 * @see #setDependentObject(EObject)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getReferencedComponent_DependentObject()
-	 * @model
-	 * @generated
-	 */
-	EObject getDependentObject();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent#getDependentObject <em>Dependent Object</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Dependent Object</em>' reference.
-	 * @see #getDependentObject()
-	 * @generated
-	 */
-	void setDependentObject(EObject value);
-
-} // ReferencedComponent
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/StructureEdit.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/StructureEdit.java
deleted file mode 100644
index d173b49..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/StructureEdit.java
+++ /dev/null
@@ -1,918 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.IEditModelHandler;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.internal.impl.PlatformURLModuleConnection;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeNode;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualReference;
-import org.eclipse.wst.common.componentcore.internal.util.EclipseResourceAdapter;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-
-/**
- * <p>
- * Provides a Facade pattern for accessing the Web Tools Platform EMF Module Model. ModuleCore can
- * be used as a static utility or an instance adapter.
- * </p>
- * <p>
- * ModuleCore hides the management of accessing EditModels (
- * {@see org.eclipse.wst.common.modulecore.ModuleStructuralModel}) correctly. Each project has
- * exactly one ({@see org.eclipse.wst.common.modulecore.ModuleStructuralModel}) for read and
- * exactly one for write. Each of these is shared among all clients and reference counted as
- * necessary. Clients should use ModuleCore when working with the WTP Modules Strcutrual Model.
- * </p>
- * 
- * <p>
- * Each ModuleCore edit facade is designed to manage the EditModel lifecycle for clients. However,
- * while each ModuleCore is designed to be passed around as needed, clients must enforce the
- * ModuleCore lifecycle. The most common method of acquiring a ModuleCore edit facade is to use
- * {@see #getModuleCoreForRead(IProject)}&nbsp;or {@see #getModuleCoreForWrite(IProject)}.
- * </p>
- * <p>
- * When clients have concluded their use of their ModuleCore instance adapter , <b>clients must call
- * {@see #dispose()}</b>.
- * </p>
- * <p>
- * For more information about the underlying EditModel, see <a
- * href="ModuleCoreNature.html#module-structural-model">the discussion of the ModuleStructuralModel
- * </a>.
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- * 
- * @see org.eclipse.wst.common.componentcore.ModuleCoreNature
- * @see org.eclipse.wst.common.componentcore.internal.ModuleStructuralModel
- */
-public class StructureEdit implements IEditModelHandler {
-
-	public static final Class ADAPTER_TYPE = StructureEdit.class;
-
-	public static String MODULE_META_FILE_NAME = ".settings/.component"; //$NON-NLS-1$
-
-	private final static ComponentcoreFactory COMPONENT_FACTORY = ComponentcoreFactory.eINSTANCE;
-	private static final ComponentResource[] NO_RESOURCES = new ComponentResource[0];
-	
-	private final ModuleStructuralModel structuralModel;
-	private final Map dependentCores = new HashMap();
-	private IProject aProject;
-	private boolean isStructuralModelSelfManaged;
-	private boolean isReadOnly;
-
-	private static final WorkbenchComponent[] NO_COMPONENTS = new WorkbenchComponent[0];
-
-	/**
-	 * 
-	 * <p>
-	 * Each ModuleCore edit facade is tied to a specific project. A project
-	 * may have multiple ModuleCore edit facades live at any given time.
-	 * </p>
-	 * <p>
-	 * Use to acquire a ModuleCore facade for a specific project that will not
-	 * be used for editing. Invocations of any save*() API on an instance
-	 * returned from This method will throw exceptions.
-	 * </p>
-	 * 
-	 * @param aProject
-	 *            The IProject that contains the WTP Modules model to load
-	 * @return A ModuleCore edit facade to access the WTP Modules Model, null
-	 *         for non-flexible projects
-	 */
-	public static StructureEdit getStructureEditForRead(IProject aProject) {
-		ModuleCoreNature nature = ModuleCoreNature.getModuleCoreNature(aProject);
-		return nature != null ? new StructureEdit(nature, true) : null;
-	}
-
-	/**
-	 * 
-	 * <p>
-	 * Each ModuleCore edit facade is tied to a specific project. A project may have multiple
-	 * ModuleCore edit facades live at any given time.
-	 * </p>
-	 * <p>
-	 * Use to acquire a ModuleCore facade for a specific project that may be used to modify the
-	 * model.
-	 * </p>
-	 * 
-	 * @param aProject
-	 *            The IProject that contains the WTP Modules model to load
-	 * @return A ModuleCore edit facade to access the WTP Modules Model
-	 */
-	public static StructureEdit getStructureEditForWrite(IProject aProject) {
-		ModuleCoreNature nature = ModuleCoreNature.getModuleCoreNature(aProject);
-		return nature != null ? new StructureEdit(nature, false) : null;
-	}
-
-	/**
-	 * <p>
-	 * A convenience API to fetch the {@see ModuleCoreNature}&nbsp;for a particular module URI. The
-	 * module URI must be of the valid form, or an exception will be thrown. The module URI must be
-	 * contained by a project that has a {@see ModuleCoreNature}&nbsp;or null will be returned.
-	 * </p>
-	 * <p>
-	 * <b>This method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aModuleURI
-	 *            A valid, fully-qualified module URI
-	 * @return The ModuleCoreNature of the project associated with aModuleURI
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public static ModuleCoreNature getModuleCoreNature(URI aModuleURI) throws UnresolveableURIException {
-		IProject container = getContainingProject(aModuleURI);
-		if (container != null)
-			return ModuleCoreNature.getModuleCoreNature(container);
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * For {@see WorkbenchComponent}s that are contained within a project, the containing project
-	 * can be determined with the {@see WorkbenchComponent}'s fully-qualified module URI.
-	 * </p>
-	 * <p>
-	 * The following method will return the the corresponding project for the supplied module URI,
-	 * if it can be determined.
-	 * </p>
-	 * <p>
-	 * The method will not return an inaccessible project.
-	 * </p>
-	 * <p>
-	 * <b>This method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aModuleURI
-	 *            A valid, fully-qualified module URI
-	 * @return The project that contains the module referenced by the module URI
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public static IProject getContainingProject(WorkbenchComponent aComponent) {	
-		IProject project = ProjectUtilities.getProject(aComponent);
-		if (project != null && project.isAccessible())
-			return project;
-		return null;
-	}
-	
-	/**
-	 * <p>
-	 * For {@see WorkbenchComponent}s that are contained within a project, the containing project
-	 * can be determined with the {@see WorkbenchComponent}'s fully-qualified module URI.
-	 * </p>
-	 * <p>
-	 * The following method will return the the corresponding project for the supplied module URI,
-	 * if it can be determined.
-	 * </p>
-	 * <p>
-	 * The method will not return an inaccessible project.
-	 * </p>
-	 * <p>
-	 * <b>This method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aModuleURI
-	 *            A valid, fully-qualified module URI
-	 * @return The project that contains the module referenced by the module URI
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public static IProject getContainingProject(URI aModuleURI) throws UnresolveableURIException {
-		ModuleURIUtil.ensureValidFullyQualifiedModuleURI(aModuleURI);
-		String projectName = aModuleURI.segment(ModuleURIUtil.ModuleURI.PROJECT_NAME_INDX);
-		if (projectName == null || projectName.length() == 0)
-			throw new UnresolveableURIException(aModuleURI);
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		if (project.isAccessible())
-			return project;
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * Returns the corresponding Eclipse IResource, if it can be determined, for the given
-	 * {@see ComponentResource}. The {@see ComponentResource#getSourcePath()} &nbsp;must return a
-	 * valid resource path for This method to return a valid value. The returned value may be either
-	 * an {@see org.eclipse.core.resources.IFile}&nbsp;or {@see org.eclipse.core.resources.IFolder}.
-	 * A client may use the return value of {@see IResource#getType()}&nbsp;to determine what type
-	 * of resource was returned. (@see IResource#FILE} or {@see IResource#FOLDER}).
-	 * </p>
-	 * <p>
-	 * <b>This method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aModuleResource
-	 *            A ComponentResource with a valid sourcePath
-	 * @return The corresponding Eclipse IResource, if available.
-	 */
-	public static IResource getEclipseResource(ComponentResource aModuleResource) {
-		EclipseResourceAdapter eclipseResourceAdapter = (EclipseResourceAdapter) EcoreUtil.getAdapter(aModuleResource.eAdapters(), EclipseResourceAdapter.ADAPTER_TYPE);
-		if (eclipseResourceAdapter != null)
-			return eclipseResourceAdapter.getEclipseResource();
-		eclipseResourceAdapter = new EclipseResourceAdapter();
-		aModuleResource.eAdapters().add(eclipseResourceAdapter);
-		return eclipseResourceAdapter.getEclipseResource();
-	}
-
-	/**
-	 * <p>
-	 * Parses the supplied URI for the deployed name name of the {@see WorkbenchComponent}&nbsp;referenced
-	 * by the URI.
-	 * </p>
-	 * 
-	 * @param aFullyQualifiedModuleURI
-	 *            A valid, fully-qualified module URI
-	 * @return The deployed name of the referenced {@see WorkbenchComponent}
-	 * @throws UnresolveableURIException
-	 *             If the supplied URI is invalid or unresolveable
-	 */
-	public static String getDeployedName(URI aFullyQualifiedModuleURI) throws UnresolveableURIException {
-		return ModuleURIUtil.getDeployedName(aFullyQualifiedModuleURI);
-	}
-
-	//public static ComponentType getComponentType(IVirtualContainer aComponent) {
-	public static ComponentType getComponentType(IVirtualComponent aComponent) {
-		StructureEdit componentCore = null;
-		ComponentType componentType = null;
-		try {
-			componentCore = StructureEdit.getStructureEditForRead(aComponent.getProject());
-			WorkbenchComponent wbComponent = componentCore.getComponent();
-			componentType = wbComponent.getComponentType();
-		} finally {
-			if (componentCore != null)
-				componentCore.dispose();
-		}
-		return componentType;
-	}
-
-	public static IVirtualReference createVirtualReference(IVirtualComponent context, ReferencedComponent referencedComponent) {
-
-		IVirtualComponent targetComponent = null;
-		IProject targetProject = null;
-		URI uri = referencedComponent.getHandle();
-		if (uri == null)
-			return null;
-		boolean isClassPathURI = ModuleURIUtil.isClassPathURI(uri);
-		if( !isClassPathURI ){
-			try { 
-				targetProject = StructureEdit.getContainingProject(uri);
-			} catch(UnresolveableURIException uurie) {
-				//Ignore
-			} 
-			// if the project cannot be resolved, assume it's local - really it probably deleted 
-			
-			targetComponent = ComponentCore.createComponent(targetProject);  
-				
-
-		}else{
-			String archiveType = ""; //$NON-NLS-1$
-			String archiveName = ""; //$NON-NLS-1$
-			try {
-				archiveType = ModuleURIUtil.getArchiveType(uri);
-				archiveName = ModuleURIUtil.getArchiveName(uri);
-				
-			} catch (UnresolveableURIException e) {
-				//Ignore
-			}
-			targetComponent = ComponentCore.createArchiveComponent(context.getProject(), archiveType + IPath.SEPARATOR + archiveName ); 
-		}
-		return new VirtualReference(context, targetComponent, referencedComponent.getRuntimePath(), referencedComponent.getDependencyType().getValue());
-	}
-
-	protected StructureEdit(ModuleCoreNature aNature, boolean toAccessAsReadOnly) {
-		if (toAccessAsReadOnly)
-			structuralModel = aNature.getModuleStructuralModelForRead(this);
-		else
-			structuralModel = aNature.getModuleStructuralModelForWrite(this);
-		aProject = aNature.getProject();
-		isReadOnly = toAccessAsReadOnly;
-		isStructuralModelSelfManaged = true;
-	}
-
-	/**
-	 * <p>
-	 * The following constructor is used to manage an already loaded model. Clients should use the
-	 * following line if they intend to use this constructor: <br>
-	 * <br>
-	 * <code>ModuleCore componentCore = (ModuleCore) aStructuralModel.getAdapter(ModuleCore.ADAPTER_TYPE)</code>.
-	 * </p>
-	 * 
-	 * @param aStructuralModel
-	 *            The edit model to be managed by this ModuleCore
-	 */
-	public StructureEdit(ModuleStructuralModel aStructuralModel) {
-		structuralModel = aStructuralModel;
-		aProject = aStructuralModel.getProject();
-	}
-
-	/**
-	 * <p>
-	 * Force a save of the underlying model. The following method should be used with care. Unless
-	 * required, use {@see #saveIfNecessary(IProgressMonitor) instead.
-	 * </p>
-	 * {@inheritDoc}
-	 * 
-	 * @see org.eclipse.wst.common.componentcore.IEditModelHandler#save()
-	 * @throws IllegalStateException
-	 *             If the ModuleCore object was created as read-only
-	 */
-	public void save(IProgressMonitor aMonitor) {
-		if (isReadOnly)
-			throwAttemptedReadOnlyModification();
-		synchronized (structuralModel) {
-			if (!structuralModel.isDisposed())
-				structuralModel.save(aMonitor, this);
-		}
-	}
-
-	/**
-	 * <p>
-	 * Save the underlying model only if no other clients are currently using the model. If the
-	 * model is not shared, it will be saved. If it is shared, the save will be deferred.
-	 * </p>
-	 * {@inheritDoc}
-	 * 
-	 * @see org.eclipse.wst.common.componentcore.IEditModelHandler#saveIfNecessary()
-	 * @throws IllegalStateException
-	 *             If the ModuleCore object was created as read-only
-	 */
-	public void saveIfNecessary(IProgressMonitor aMonitor) {
-		if (isReadOnly)
-			throwAttemptedReadOnlyModification();
-		synchronized (structuralModel) {
-			if (!structuralModel.isDisposed())
-				structuralModel.saveIfNecessary(aMonitor, this);
-		}
-	}
-
-	/**
-	 * <p>
-	 * Clients must call the following method when they have finished using the model, even if the
-	 * ModuleCore edit facade was created as read-only.
-	 * </p>
-	 * {@inheritDoc}
-	 * 
-	 * @see org.eclipse.wst.common.componentcore.IEditModelHandler#dispose()
-	 */
-	public void dispose() {
-		
-		if (isStructuralModelSelfManaged) {
-			synchronized (structuralModel) {
-				if (!structuralModel.isDisposed()) {
-					structuralModel.releaseAccess(this);
-				}
-			}
-			
-		}
-		if (dependentCores.size() > 0) {
-			synchronized (dependentCores) {
-				for (Iterator cores = dependentCores.values().iterator(); cores.hasNext();)
-					((StructureEdit) cores.next()).dispose();
-			}
-		}
-	}
-
-	/**
-	 * <p>
-	 * Creates a default WTP Module Structural Metamodel file if necessary.
-	 * </p>
-	 */
-	public void prepareProjectComponentsIfNecessary() {
-		
-		synchronized (structuralModel) {
-			if (!structuralModel.isDisposed()) {
-				try {
-					structuralModel.prepareProjectModulesIfNecessary();
-				} catch (CoreException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-
-	/**
-	 * <p>
-	 * When loaded for write, the current ModuleCore may return the root object, which can be used
-	 * to add or remove {@see WorkbenchComponent}s. If a client needs to just read the existing
-	 * {@see WorkbenchComponent}s, use {@see #getWorkbenchModules()}.
-	 * </p>
-	 * 
-	 * @return The root object of the underlying model
-	 */
-	public ProjectComponents getComponentModelRoot() {
-		ProjectComponents comps = null;
-		if (!structuralModel.isDisposed())
-			comps = (ProjectComponents) structuralModel.getPrimaryRootObject();
-		return comps;
-	}
-
-	/**
-	 * <p>
-	 * Return the an array of ComponentResource which basically represent the source containers of a
-	 * WorkbenchResource.
-	 * <p>
-	 * 
-	 * @param component
-	 * @return
-	 */
-	public ComponentResource[] getSourceContainers(WorkbenchComponent component) {
-		// TODO Api in progress: Need to return the Java Source containers of the project
-		// TODO MDE: I don't know if I agree with the placement of this method.
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * Clients that wish to modify the individual {@see WorkbenchComponent}&nbsp;instances may use
-	 * this method. If clients need to add or remove {@see WorkbenchComponent}&nbsp;instances, use
-	 * {@see #getProjectModules()}&nbsp;to get the root object and then access the contained
-	 * {@see WorkbenchComponent}s through {@see ProjectComponents#getWorkbenchModules()}.
-	 * 
-	 * @return The WorkbenchModules of the underlying model, if any.
-	 */
-	public WorkbenchComponent[] getWorkbenchModules() {
-		ProjectComponents pc = getComponentModelRoot();
-		if(pc != null) {
-			List wbModules = pc.getComponents();
-			return (WorkbenchComponent[]) wbModules.toArray(new WorkbenchComponent[wbModules.size()]);
-		}
-		return NO_COMPONENTS;
-	}
-
-	/**
-	 * <p>
-	 * Create a {@see WorkbenchComponent}&nbsp;with the given deployed name. The returned module
-	 * will be contained by the root object of the current ModuleCore (so no need to re-add it to
-	 * the Module Module root object). The current ModuleCore must not be read-only to invoke This
-	 * method.
-	 * </p>
-	 * 
-	 * @param aDeployName
-	 *            A non-null String that will be assigned as the deployed-name
-	 * @return A {@see WorkbenchComponent}associated with the current ModuleCore with the supplied
-	 *         deployed name
-	 * @throws IllegalStateException
-	 *             If the current ModuleCore was created as read-only
-	 */
-	public WorkbenchComponent createWorkbenchModule(String aDeployName) {
-		if (isReadOnly)
-			throwAttemptedReadOnlyModification();
-		WorkbenchComponent module = COMPONENT_FACTORY.createWorkbenchComponent();
-		module.setName(aDeployName);
-		getComponentModelRoot().getComponents().add(module);
-		return module;
-	}
-
-	/**
-	 * <p>
-	 * Create a {@see ComponentResource}&nbsp;with the sourcePath of aResource. The current
-	 * ModuleCore must not be read-only to invoke This method.
-	 * </p>
-	 * 
-	 * @param aModule
-	 *            A non-null {@see WorkbenchComponent}to contain the created
-	 *            {@see ComponentResource}
-	 * @param aResource
-	 *            A non-null IResource that will be used to set the sourcePath
-	 * @return A {@see ComponentResource}associated with the current ModuleCore with its sourcePath
-	 *         equivalent to aResource
-	 * @throws IllegalStateException
-	 *             If the current ModuleCore was created as read-only
-	 */
-	public ComponentResource createWorkbenchModuleResource(IResource aResource) {
-		if (isReadOnly)
-			throwAttemptedReadOnlyModification();
-
-		ComponentResource moduleResource = COMPONENT_FACTORY.createComponentResource(); 
-		moduleResource.setSourcePath(aResource.getProjectRelativePath().makeAbsolute());
-		return moduleResource;
-	}
-
-	/**
-	 * <p>
-	 * Create a {@see ComponentType}&nbsp;with the sourcePath of aResource. The returned resource
-	 * will be associated with the current ModuleCore. The current ModuleCore must not be read-only
-	 * to invoke This method.
-	 * </p>
-	 * 
-	 * @param aResource
-	 *            A non-null IResource that will be used to set the sourcePath
-	 * @return A {@see ComponentResource}associated with the current ModuleCore with its sourcePath
-	 *         equivalent to aResource
-	 * @throws IllegalStateException
-	 *             If the current ModuleCore was created as read-only
-	 */
-	public ComponentType createModuleType(String aModuleTypeId) {
-		if (isReadOnly)
-			throwAttemptedReadOnlyModification();
-
-		ComponentType moduleType = COMPONENT_FACTORY.createComponentType();
-		moduleType.setComponentTypeId(aModuleTypeId);
-		return moduleType;
-	}
-
-	/**
-	 * <p>
-	 * Search the given module (indicated by aModuleURI) for the {@see ComponentResource}s
-	 * identified by the module-relative path (indicated by aDeployedResourcePath).
-	 * </p>
-	 * @deprecated To be removed at next Integration Build 04/14/05 MDE. No substitute. (No clients).
-	 * 
-	 * @param aModuleURI
-	 *            A valid, fully-qualified module URI
-	 * @param aDeployedResourcePath
-	 *            A module-relative path to a deployed file
-	 * @return An array of WorkbenchModuleResources that contain the URI specified by the
-	 *         module-relative aDeployedResourcePath
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public ComponentResource[] findResourcesByRuntimePath(URI aModuleURI, URI aDeployedResourcePath) throws UnresolveableURIException {
-		WorkbenchComponent module = getComponent();
-		return module.findResourcesByRuntimePath(new Path(aDeployedResourcePath.path()));
-	} 
-
-	/**
-	 * <p>
-	 * Search the the module (indicated by the root of aModuleResourcePath) for the
-	 * {@see ComponentResource}s identified by the module-qualified path (indicated by
-	 * aDeployedResourcePath).
-	 * </p>
-	 * @deprecated To be removed at next Integration Build 04/14/05 MDE Use IPath Signature instead.
-	 * 
-	 * @param aModuleResourcePath
-	 *            A valid fully-qualified URI of a deployed resource within a specific
-	 *            WorkbenchComponent
-	 * @return An array of WorkbenchModuleResources that contain the URI specified by
-	 *         aModuleResourcePath
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public ComponentResource[] findResourcesByRuntimePath(URI aModuleResourcePath) throws UnresolveableURIException {
-
-		URI deployedURI = ModuleURIUtil.trimToDeployPathSegment(aModuleResourcePath);
-		IPath deployedPath = new Path(deployedURI.path());
-		return findResourcesByRuntimePath(ModuleURIUtil.getDeployedName(aModuleResourcePath), deployedPath);
-	}
-	
-	/**
-	 * <p>
-	 * Search the the module (indicated by the root of aModuleResourcePath) for the
-	 * {@see ComponentResource}s identified by the module-qualified path (indicated by
-	 * aDeployedResourcePath).
-	 * </p> 
-	 * 
-	 * @param aModuleResourcePath
-	 *            A valid fully-qualified URI of a deployed resource within a specific
-	 *            WorkbenchComponent
-	 * @return An array of WorkbenchModuleResources that contain the URI specified by
-	 *         aModuleResourcePath
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public ComponentResource[] findResourcesByRuntimePath(String aModuleName, IPath aModuleResourcePath) {   
-		WorkbenchComponent module = getComponent();
-		return module.findResourcesByRuntimePath(aModuleResourcePath);
-	}
-	public ComponentResource[] findResourcesBySourcePath(URI aWorkspaceRelativePath) throws UnresolveableURIException {
-		return findResourcesBySourcePath(aWorkspaceRelativePath,ResourceTreeNode.CREATE_NONE);
-	}
-	/**
-	 * <p>
-	 * Locates the {@see ComponentResource}s that contain the supplied resource in their source
-	 * path. There are no representations about the containment of the {@see ComponentResource}s
-	 * which are returned. The only guarantee is that the returned elements are contained within the
-	 * same project.
-	 * </p>
-	 * <p>
-	 * The sourcePath of each {@see ComponentResource}&nbsp;will be mapped to either an IFile or an
-	 * IFolder. As a result, if the {@see ComponentResource}&nbsp;is a container mapping, the path
-	 * of the supplied resource may not be identical the sourcePath of the {@see ComponentResource}.
-	 * </p>
-	 * @deprecated To be removed at next Integration Build 04/14/05 MDE Use IPath Signature instead.
-	 * 
-	 * @param aWorkspaceRelativePath
-	 *            A valid fully-qualified workspace-relative path of a given resource
-	 * @return An array of WorkbenchModuleResources which have sourcePaths that contain the given
-	 *         resource
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public ComponentResource[] findResourcesBySourcePath(URI aWorkspaceRelativePath, int resourceFlag) throws UnresolveableURIException {
-		return findResourcesBySourcePath(new Path(aWorkspaceRelativePath.path()),resourceFlag);
-	}	
-	public ComponentResource[] findResourcesBySourcePath(IPath aProjectRelativePath) throws UnresolveableURIException {
-		return findResourcesBySourcePath(aProjectRelativePath,ResourceTreeNode.CREATE_NONE);
-	}
-	/**
-	 * <p>
-	 * Locates the {@see WorkbenchComponent}s that contains the resource with the given source
-	 * path. There are no representations about the containment of the {@see ComponentResource}s
-	 * which are returned. The only guarantee is that the returned elements are contained within the
-	 * same project.
-	 * </p>
-	 * <p>
-	 * The sourcePath of each {@see ComponentResource}&nbsp;will be mapped to either an IFile or an
-	 * IFolder. As a result, if the {@see ComponentResource}&nbsp;is a container mapping, the path
-	 * of the supplied resource may not be identical the sourcePath of the {@see ComponentResource}.
-	 * </p> 
-	 * 
-	 * @param aProjectRelativePath
-	 *            A valid project-relative path of a given resource
-	 *        resourceFlag
-	 *        	  A bit flag that determines if Resources should be created during the search
-	 *        		CREATE_NONE 
-	 * 				CREATE_RESOURCE_ALWAYS
-	 * 				CREATE_TREENODE_IFNEC
-	 * @return An array of WorkbenchModuleResources which have sourcePaths that contain the given
-	 *         resource
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public WorkbenchComponent findComponent(IPath aProjectRelativeResourcePath, int resourceFlag) throws UnresolveableURIException {
-		ProjectComponents projectModules = getComponentModelRoot();
-		if (projectModules == null) return null;
-		EList modules = projectModules.getComponents();
-
-		WorkbenchComponent module = null;
-		boolean resourceExists = false;
-		for (int i = 0; i < modules.size(); i++) {
-			module = (WorkbenchComponent) modules.get(i);
-			resourceExists = module.exists(aProjectRelativeResourcePath,resourceFlag);
-			if (!resourceExists && aProjectRelativeResourcePath.segments().length > 1) { 
-				resourceExists = module.exists(aProjectRelativeResourcePath.removeFirstSegments(1),resourceFlag);
-			}
-		if (resourceExists)
-			return module;
-		}
-		return null;
-	}
-	/**
-	 * <p>
-	 * Locates the {@see ComponentResource}s that contain the supplied resource in their source
-	 * path. There are no representations about the containment of the {@see ComponentResource}s
-	 * which are returned. The only guarantee is that the returned elements are contained within the
-	 * same project.
-	 * </p>
-	 * <p>
-	 * The sourcePath of each {@see ComponentResource}&nbsp;will be mapped to either an IFile or an
-	 * IFolder. As a result, if the {@see ComponentResource}&nbsp;is a container mapping, the path
-	 * of the supplied resource may not be identical the sourcePath of the {@see ComponentResource}.
-	 * </p> 
-	 * 
-	 * @param aProjectRelativePath
-	 *            A valid project-relative path of a given resource
-	 *         resourceFlag
-	 *        	  A bit flag that determines if Resources should be created during the search
-	 *        		CREATE_NONE 
-	 * 				CREATE_RESOURCE_ALWAYS
-	 * 				CREATE_TREENODE_IFNEC
-	 * @return An array of WorkbenchModuleResources which have sourcePaths that contain the given
-	 *         resource
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	public ComponentResource[] findResourcesBySourcePath(IPath aProjectRelativePath, int resourceFlag) throws UnresolveableURIException {
-		ProjectComponents projectModules = getComponentModelRoot();
-		if (projectModules==null)
-			return NO_RESOURCES;
-		EList modules = projectModules.getComponents();
-
-		WorkbenchComponent module = null;
-		ComponentResource[] resources = null;
-		List foundResources = new ArrayList();
-		for (int i = 0; i < modules.size(); i++) {
-			module = (WorkbenchComponent) modules.get(i);
-			resources = module.findResourcesBySourcePath(aProjectRelativePath,resourceFlag);
-			if (resources != null && resources.length != 0)
-				foundResources.addAll(Arrays.asList(resources));
-			else if (aProjectRelativePath.segments().length > 1) { 
-				resources = module.findResourcesBySourcePath(aProjectRelativePath.removeFirstSegments(1),resourceFlag);
-				if (resources != null && resources.length != 0)
-					foundResources.addAll(Arrays.asList(resources));
-			}
-		}
-		if (foundResources.size() > 0)
-			return (ComponentResource[]) foundResources.toArray(new ComponentResource[foundResources.size()]);
-		return NO_RESOURCES;
-	}
-
-	/**
-	 * <p>
-	 * Returns the {@see WorkbenchComponent}&nbsp;contained by the current ModuleCore with the
-	 * deploy name aModuleName.
-	 * </p>
-	 * <p>
-	 * <b>This method may return null. </b>
-	 * </p>
-	 * 
-	 * @param aModuleName
-	 * @return The {@see WorkbenchComponent}contained by the current ModuleCore with the deploy
-	 *         name aModuleName
-	 * @see WorkbenchComponent#getDeployedName()
-	 * @deprecated - Use getComponent() - Only one component per project
-	 */
-	public WorkbenchComponent findComponentByName(String aModuleName) {
-		return getComponentModelRoot() != null ? getComponentModelRoot().findWorkbenchModule(aModuleName) : null;
-	}
-
-	/**
-	 * <p>
-	 * Locate and return the {@see WorkbenchComponent}&nbsp;referenced by the fully-qualified
-	 * aModuleURI. The method will work correctly even if the requested {@see WorkbenchComponent}
-	 * &nbsp;is contained by another project.
-	 * </p>
-	 * 
-	 * @param aModuleURI
-	 *            A valid, fully-qualified module URI
-	 * @return The {@see WorkbenchComponent}referenced by aModuleURI
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 * @see WorkbenchComponent#getHandle()
-	 */
-	public WorkbenchComponent findComponentByURI(URI aModuleURI) throws UnresolveableURIException {
-		if(aModuleURI.scheme() == null && aModuleURI.segmentCount() == 1)
-			return getComponent();
-		ModuleURIUtil.ensureValidFullyQualifiedModuleURI(aModuleURI);
-		String projectName = aModuleURI.segment(ModuleURIUtil.ModuleURI.PROJECT_NAME_INDX);
-		/* Accessing a local module */
-		if (getProject().getName().equals(projectName)) {
-			return getComponent();
-		}
-		return getDependentModuleCore(aModuleURI).getComponent();
-	}
-
-	/**
-	 * <p>
-	 * Searches the available {@see WorkbenchComponent}s as available through
-	 * {@see #getWorkbenchModules()}&nbsp;for {@see WorkbenchComponent}s that have a
-	 * {@see WorkbenchComponent#getModuleType()}with a a module type Id as specified by
-	 * aModuleTypeId.
-	 * </p>
-	 * 
-	 * @param aModuleTypeId
-	 *            A non-null module type id ({@see ComponentType#getModuleTypeId()})
-	 * @return A non-null array of the {@see WorkbenchComponent}s that match the given module type
-	 *         id
-	 */
-//	public WorkbenchComponent[] findComponentsByType(String aModuleTypeId) {
-//		WorkbenchComponent[] availableModules = getWorkbenchModules();
-//		ComponentType moduleType;
-//		List results = new ArrayList();
-//		for (int i = 0; i < availableModules.length; i++) {
-//			moduleType = availableModules[i].getComponentType();
-//			if (moduleType != null && aModuleTypeId.equals(moduleType.getComponentTypeId()))
-//				results.add(availableModules[i]);
-//		}
-//		if (results.size() == 0)
-//			return NO_MODULES;
-//		return (WorkbenchComponent[]) results.toArray(new WorkbenchComponent[results.size()]);
-//	}
-	
-	/**
-	 * Find and return the ReferencedComponent that represents the depedency from aComponent to aReferencedComponent.
-	 * <p>This method could return null.</p>
-	 * @param aComponent
-	 * @param aReferencedComponent
-	 * @return
-	 */
-	public ReferencedComponent findReferencedComponent(WorkbenchComponent aComponent, WorkbenchComponent aReferencedComponent) {
-		if(aComponent == null || aReferencedComponent == null)
-			return null;
-		
-		IProject referencedProject = getContainingProject(aReferencedComponent);
-		EList referencedComponents = aComponent.getReferencedComponents();
-		String dependentProjectName = null;
-		for (Iterator iter = referencedComponents.iterator(); iter.hasNext();) {
-			ReferencedComponent referencedComponent = (ReferencedComponent) iter.next();
-			dependentProjectName = referencedComponent.getHandle().segment(ModuleURIUtil.ModuleURI.PROJECT_NAME_INDX);
-			if(referencedProject.getName().equals(dependentProjectName)) 
-				return referencedComponent;			
-			
-		}
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * Returns true if the {@see ReferencedComponent}&nbsp;references a {@see WorkbenchComponent}(
-	 * {@see ReferencedComponent#getHandle()}) which is contained by the project that the current
-	 * ModuleCore is managing. The following method will determine if the dependency can be
-	 * satisfied by the current project.
-	 * </p>
-	 * 
-	 * @param aDependentModule
-	 * @return True if the {@see ReferencedComponent}references a {@see WorkbenchComponent}managed
-	 *         directly by the current ModuleCore
-	 */
-	public boolean isLocalDependency(ReferencedComponent aDependentModule) {
-		if (aDependentModule == null || aDependentModule.getHandle()==null)
-			return false;
-		URI dependentHandle = aDependentModule.getHandle();
-		// with no scheme and a simple name, the referenced component must be local
-		if(dependentHandle.scheme() == null && dependentHandle.segmentCount() == 1)  
-			return true; 
-		try {
-
-			String localProjectName = getProject().getName();
-			if(ModuleURIUtil.ensureValidFullyQualifiedModuleURI(dependentHandle, false)) {
-				String dependentProjectName = aDependentModule.getHandle().segment(ModuleURIUtil.ModuleURI.PROJECT_NAME_INDX);
-				return localProjectName.equals(dependentProjectName);
-			}
-		} catch (UnresolveableURIException e) {
-			// Ignore
-		}
-		return false;
-	}
-
-	/**
-	 * @param aModuleURI
-	 *            A valid, fully-qualified module URI
-	 * @return The ModuleCore facade for the supplied URI
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */
-	private StructureEdit getDependentModuleCore(URI aModuleURI) throws UnresolveableURIException {
-		StructureEdit dependentCore = (StructureEdit) dependentCores.get(aModuleURI);
-		if (dependentCore != null)
-			return dependentCore;
-		synchronized (dependentCores) {
-			dependentCore = (StructureEdit) dependentCores.get(aModuleURI);
-			if (dependentCore == null) {
-				IProject container = getContainingProject(aModuleURI);
-				if (container != null) {
-					dependentCore = getStructureEditForRead(container);
-					dependentCores.put(aModuleURI, dependentCore);
-				} else
-					throw new UnresolveableURIException(aModuleURI);
-			}
-		}
-		return dependentCore;
-	}
-
-	private void throwAttemptedReadOnlyModification() {
-		throw new IllegalStateException("Attempt to modify a ModuleCore edit facade that was loaded as read-only.");
-	}
-
-	/**
-	 * temporary method to return first module in the project
-	 * 
-	 * @return first module in the project
-	 * @deprecated
-	 */
-	public WorkbenchComponent getFirstModule() {
-		return getComponent();
-	}
-	/**
-	 * returns the one and only component in the project
-	 * 
-	 * @return the component in the project if exists or null
-	 * 
-	 */
-	public WorkbenchComponent getComponent() {
-		if (getWorkbenchModules().length > 0)
-			return getWorkbenchModules()[0];
-		return null;
-	}
-
-	public static URI createComponentURI(IProject aContainingProject, String aComponentName) {
-		return URI.createURI(PlatformURLModuleConnection.MODULE_PROTOCOL + IPath.SEPARATOR + PlatformURLModuleConnection.RESOURCE_MODULE + aContainingProject.getName() + IPath.SEPARATOR + aComponentName);
-	}
-
-	
-	protected IProject getProject() {
-		return aProject;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/WorkbenchComponent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/WorkbenchComponent.java
deleted file mode 100644
index f84bbf8..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/WorkbenchComponent.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc --> 
- * An EMF representation of a development-time module contained by an Eclipse project. 
- * <p> 
- * See the package overview for an <a href="package-summary.html">overview of the model components</a>.
- * </p>
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getResources <em>Resources</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getComponentType <em>Component Type</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getReferencedComponents <em>Referenced Components</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getProperties <em>Properties</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getMetadataResources <em>Metadata Resources</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getWorkbenchComponent()
- * @model
- * @generated
- */
-public interface WorkbenchComponent extends EObject{
-	/**
-	 * Returns the value of the '<em><b>Name</b></em>' attribute.
-	 * The default value is <code>""</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Name</em>' attribute.
-	 * @see #setName(String)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getWorkbenchComponent_Name()
-	 * @model default="" required="true"
-	 * @generated
-	 */
-	String getName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getName <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Name</em>' attribute.
-	 * @see #getName()
-	 * @generated
-	 */
-	void setName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Resources</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.wst.common.componentcore.internal.ComponentResource}.
-	 * It is bidirectional and its opposite is '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource#getComponent <em>Component</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Resources</em>' reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Resources</em>' containment reference list.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getWorkbenchComponent_Resources()
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentResource#getComponent
-	 * @model type="org.eclipse.wst.common.componentcore.internal.ComponentResource" opposite="component" containment="true"
-	 * @generated
-	 */
-	EList getResources();
-
-	/**
-	 * Returns the value of the '<em><b>Component Type</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Component Type</em>' reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Component Type</em>' containment reference.
-	 * @see #setComponentType(ComponentType)
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getWorkbenchComponent_ComponentType()
-	 * @model containment="true" required="true"
-	 * @generated
-	 */
-	ComponentType getComponentType();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent#getComponentType <em>Component Type</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Component Type</em>' containment reference.
-	 * @see #getComponentType()
-	 * @generated
-	 */
-	void setComponentType(ComponentType value);
-
-	/**
-	 * Returns the value of the '<em><b>Referenced Components</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Referenced Components</em>' reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Referenced Components</em>' containment reference list.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getWorkbenchComponent_ReferencedComponents()
-	 * @model type="org.eclipse.wst.common.componentcore.internal.ReferencedComponent" containment="true"
-	 * @generated
-	 */
-	EList getReferencedComponents();
-
-	/**
-	 * Returns the value of the '<em><b>Properties</b></em>' reference list.
-	 * The list contents are of type {@link org.eclipse.wst.common.componentcore.internal.Property}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Properties</em>' reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Properties</em>' reference list.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getWorkbenchComponent_Properties()
-	 * @model type="org.eclipse.wst.common.componentcore.internal.Property"
-	 * @generated
-	 */
-	EList getProperties();
-
-	/**
-	 * Returns the value of the '<em><b>Metadata Resources</b></em>' attribute list.
-	 * The list contents are of type {@link org.eclipse.core.runtime.IPath}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Metadata Resources</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Metadata Resources</em>' attribute list.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#getWorkbenchComponent_MetadataResources()
-	 * @model type="org.eclipse.core.runtime.IPath" dataType="org.eclipse.wst.common.componentcore.internal.IPath"
-	 * @generated
-	 */
-	EList getMetadataResources();
-
-	URI getHandle();
-
-	ComponentResource[] findResourcesByRuntimePath(IPath aDeployPath);
-	
-	ComponentResource[] findResourcesBySourcePath(IPath aSourcePath, int resourceFlag);
-	
-	boolean exists(IPath aSourcePath, int resourceFlag);
-
-} // WorkbenchComponent
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/builder/DependencyGraph.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/builder/DependencyGraph.java
deleted file mode 100644
index e811f34..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/builder/DependencyGraph.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.builder;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-
-public class DependencyGraph {
-	
-	private static final DependencyGraph INSTANCE = new DependencyGraph();
-	
-	private final Map dependencies = new HashMap();
-	
-	public static DependencyGraph getInstance() {
-		return INSTANCE;
-	}
-
-	public IProject[] getReferencingComponents(IProject target) {
-		Set referencingComponents = internalGetReferencingComponents(target);
-		return (IProject[]) referencingComponents.toArray(new IProject[referencingComponents.size()]);
-	}
-	
-	public void addReference(IProject target, IProject referencingComponent) {
-		internalGetReferencingComponents(target).add(referencingComponent);
-	}
-	
-	public void removeReference(IProject target, IProject referencingComponent) {
-		internalGetReferencingComponents(target).remove(referencingComponent);
-		
-	}
-	
-	protected Set internalGetReferencingComponents(IProject target) {
-		Set referencingComponents = (Set) dependencies.get(target);
-		if(referencingComponents == null) 
-			dependencies.put(target, (referencingComponents = new HashSet()));
-		return referencingComponents;
-	}
-	
-	public void clear() {
-		dependencies.clear();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/builder/DependencyGraphManager.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/builder/DependencyGraphManager.java
deleted file mode 100644
index b646364..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/builder/DependencyGraphManager.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.builder;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-
-public class DependencyGraphManager {
-
-	private static DependencyGraphManager INSTANCE = null;
-	private HashMap wtpModuleTimeStamps = null;
-	
-	private DependencyGraphManager() {
-		super();
-	}
-	
-	public static final DependencyGraphManager getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new DependencyGraphManager();
-			INSTANCE.constructIfNecessary();
-		}
-		return INSTANCE;
-	}
-	
-	public void construct(IProject project) {
-		if (project!=null && project.isAccessible() && project.findMember(IModuleConstants.COMPONENT_FILE_PATH) !=null) //$NON-NLS-1$
-			constructIfNecessary();
-	}
-	
-	private void constructIfNecessary() {
-		// Block other clients here while we are building
-		synchronized (this) {
-			if (moduleTimeStampsChanged()) {
-				cleanDependencyGraph();
-				buildDependencyGraph();
-			}
-		}
-	}
-	
-	private boolean moduleTimeStampsChanged() {
-		HashMap workspaceTimeStamps = collectModuleTimeStamps();
-		if (getWtpModuleTimeStamps().equals(workspaceTimeStamps))
-			return false;
-		return true;
-	}
-	
-	private HashMap collectModuleTimeStamps() {
-		HashMap timeStamps = new HashMap();
-		IProject[] projects = ProjectUtilities.getAllProjects();
-		for (int i=0; i<projects.length; i++) {
-			if (projects[i]==null || !projects[i].isAccessible())
-				continue;
-			IResource wtpModulesFile = projects[i].findMember(IModuleConstants.COMPONENT_FILE_PATH); //$NON-NLS-1$
-			if (wtpModulesFile != null) {
-				Long currentTimeStamp = new Long(wtpModulesFile.getLocalTimeStamp());
-				timeStamps.put(projects[i],currentTimeStamp);
-			}
-		}
-		return timeStamps;
-	}
-	
-	private void buildDependencyGraph() {
-		IProject[] projects = ProjectUtilities.getAllProjects();
-		for (int k=0; k<projects.length; k++) {
-			
-			if (!projects[k].isAccessible() || !addTimeStamp(projects[k])) 
-				continue;
-			IVirtualComponent component= ComponentCore.createComponent(projects[k]);
-			if (component == null) continue;
-			addDependencyReference(component);
-		}
-	}
-	
-	private void addDependencyReference(IVirtualComponent component) {
-		IProject componentProject = component.getProject();
-		IVirtualReference[] depRefs = component.getReferences();
-		for(int i = 0; i<depRefs.length; i++){
-			IVirtualComponent targetComponent = depRefs[i].getReferencedComponent();
-			if (targetComponent!=null) {
-				IProject targetProject = targetComponent.getProject();
-				DependencyGraph.getInstance().addReference(targetProject,componentProject);
-			}	
-		}
-		
-	}
-	
-	private boolean addTimeStamp(IProject project) {
-		// Get the .component file for the given project
-		IResource wtpModulesFile = project.findMember(IModuleConstants.COMPONENT_FILE_PATH); //$NON-NLS-1$
-		if (wtpModulesFile==null)
-			return false;
-		Long currentTimeStamp = new Long(wtpModulesFile.getLocalTimeStamp());
-		getWtpModuleTimeStamps().put(project,currentTimeStamp);
-		return true;
-	}
-	
-	private void cleanDependencyGraph() {
-		DependencyGraph.getInstance().clear();
-		getWtpModuleTimeStamps().clear();
-	}
-
-	/**
-	 * Lazy initialization and return of the key valued pair of projects and wtp modules file
-	 * timestamps.
-	 * 
-	 * @return HashMap of projects to .component file stamps
-	 */
-	private HashMap getWtpModuleTimeStamps() {
-		if (wtpModuleTimeStamps == null)
-			wtpModuleTimeStamps = new HashMap();
-		return wtpModuleTimeStamps;
-	}
-	
-	/**
-	 * Return the dependency graph which was initialized if need be in the 
-	 * singleton manager method.
-	 */ 
-	public DependencyGraph getDependencyGraph() {
-		constructIfNecessary();
-		return DependencyGraph.getInstance();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ArtifactEditModelFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ArtifactEditModelFactory.java
deleted file mode 100644
index aad88e4..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ArtifactEditModelFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel;
-import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ArtifactEditModelFactory extends EditModelFactory {
-	
-	public static final String MODULE_EDIT_MODEL_ID = "org.eclipse.wst.modulecore.editModel"; //$NON-NLS-1$
-	
-	public static final String PARAM_MODULE_URI = "MODULE_URI"; //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory#createEditModelForRead(java.lang.String, org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext, java.util.Map)
-	 */
-	public EditModel createEditModelForRead(String editModelID, EMFWorkbenchContext context, Map params) {
-		URI moduleURI = (URI) ((params != null) ? params.get(PARAM_MODULE_URI) : null);
-		if(moduleURI == null)
-			throw new IllegalStateException("A Module URI must be provided");
-		
-		return  new ArtifactEditModel(editModelID, context, true, moduleURI);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory#createEditModelForWrite(java.lang.String, org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext, java.util.Map)
-	 */
-	public EditModel createEditModelForWrite(String editModelID, EMFWorkbenchContext context, Map params) {
-		URI moduleURI = (URI) ((params != null) ? params.get(PARAM_MODULE_URI) : null);
-		if(moduleURI == null)
-			throw new IllegalStateException("A Module URI must be provided");
-		return  new ArtifactEditModel(editModelID, context, false,false, moduleURI);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory#getCacheID(java.lang.String, java.util.Map)
-	 */
-	public String getCacheID(String editModelID, Map params) { 
-		URI moduleURI = (URI)params.get(PARAM_MODULE_URI);
-		if(moduleURI != null)
-			return editModelID+":"+moduleURI.toString(); //$NON-NLS-1$
-		return editModelID+":NOURI"; //$NON-NLS-1$
-	}
-
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentCoreURIConverter.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentCoreURIConverter.java
deleted file mode 100644
index 217de91..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentCoreURIConverter.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.io.IOException;
-import java.util.Collections;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jem.util.emf.workbench.ResourceSetWorkbenchSynchronizer;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.internal.emfworkbench.CompatibilityWorkbenchURIConverterImpl;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ComponentCoreURIConverter extends CompatibilityWorkbenchURIConverterImpl {
-	
-	private IProject containingProject;
-	private IFolder archiveRoot;
-	/**
-	 *  
-	 */
-	public ComponentCoreURIConverter() {
-		super();
-	}
-
-	/**
-	 * @param anInputContainer
-	 */
-	public ComponentCoreURIConverter(IProject aContainingProject) {
-		super();
-		containingProject = aContainingProject;
-	}
-
-	/**
-	 * @param aContainer
-	 * @param aSynchronizer
-	 */
-	public ComponentCoreURIConverter(IProject aContainingProject, ResourceSetWorkbenchSynchronizer aSynchronizer) {
-		super(aContainingProject, aSynchronizer);
-		containingProject = aContainingProject;
-	} 
- 
-	public IVirtualComponent findComponent(IResource res) {
-		
-		if (res != null && res.exists())
-			return ComponentCore.createComponent(res.getProject());
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jem.util.emf.workbench.WorkbenchURIConverterImpl#normalize(org.eclipse.emf.common.util.URI)
-	 */
-	public URI normalize(URI aURI) {
-		URI normalizedURI = null;
-		if(PlatformURLModuleConnection.MODULE.equals(aURI.scheme())) { 		
-			try {
-				normalizedURI = PlatformURLModuleConnection.resolve(aURI);
-			} catch(IOException ioe) {
-				ioe.printStackTrace();
-			} 
-		} else {
-			normalizedURI = super.normalize(aURI);
-		}
-		if(normalizedURI == null) {
-			normalizedURI = newPlatformURI(aURI);
-		}
-		else if(normalizedURI.scheme() == null || normalizedURI.scheme().length() == 0) {
-			normalizedURI = URI.createPlatformResourceURI(getInputContainer().getFullPath().append(normalizedURI.toString()).toString());	
-		}
-		return normalizedURI;
-	}
-	
-	private URI newPlatformURI(URI aNewURI) {
-		
-		try {
-			String componentName = StructureEdit.getDeployedName(aNewURI);
-			IVirtualComponent component = ComponentCore.createComponent(containingProject);
-
-			URI deployPathSegment = ModuleURIUtil.trimToDeployPathSegment(aNewURI);
-			
-			//IVirtualFile newFile = component.getFile(new Path(deployPathSegment.path()));			
-			IVirtualFolder rootFolder = component.getRootFolder();
-			IVirtualFile newFile = rootFolder.getFile(new Path(deployPathSegment.path()));
-			
-			return URI.createPlatformResourceURI(newFile.getWorkspaceRelativePath().toString());
-			 
-		} catch(Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	/**
-	 * @see com.ibm.etools.xmi.helpers.CompatibilityURIConverter#deNormalize(URI)
-	 */
-	public URI deNormalize(URI uri) {
-		if (WorkbenchResourceHelperBase.isPlatformResourceURI(uri)) {
-			IFile aFile = WorkbenchResourceHelper.getPlatformFile(uri);
-			
-			if (aFile != null) {
-				IVirtualComponent component = ComponentCore.createComponent(getContainingProject());
-				if (component != null) {
-					IProject fileProject = getContainingProject();
-					//If it is not in the same project then just return the URI as is.
-					if (resourceSetSynchronizer.getProject() == fileProject)
-						return getArchiveRelativeURI(aFile,component.getRootFolder().getUnderlyingFolder());
-				} else
-					return super.deNormalize(uri);
-			}
-		}
-		return uri;
-	}
-	
-	protected URI getContainerRelativeURI(IFile aFile) {
-		IPath path = WorkbenchResourceHelperBase.getPathFromContainers(inputContainers, aFile.getFullPath());
-		if (path != null)
-			return URI.createURI(path.toString());
-		return null;
-	}
-	protected URI getArchiveRelativeURI(IFile aFile, IContainer aContainer) {
-		IPath path = WorkbenchResourceHelperBase.getPathFromContainers(Collections.singletonList(aContainer), aFile.getFullPath());
-		if (path != null)
-			return URI.createURI(path.toString());
-		return null;
-	}
-
-	
-	protected IProject getContainingProject() {
-		return containingProject;
-	}
-
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentResourceImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentResourceImpl.java
deleted file mode 100644
index 6b96ae1..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentResourceImpl.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentResourceImpl.java,v 1.2.2.1 2006/01/10 19:16:57 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Workbench Module Resource</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentResourceImpl#getSourcePath <em>Source Path</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentResourceImpl#getRuntimePath <em>Runtime Path</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentResourceImpl#getExclusions <em>Exclusions</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentResourceImpl#getComponent <em>Component</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentResourceImpl#getResourceType <em>Resource Type</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ComponentResourceImpl extends EObjectImpl implements ComponentResource {
-	/**
-	 * The default value of the '{@link #getSourcePath() <em>Source Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSourcePath()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final IPath SOURCE_PATH_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getSourcePath() <em>Source Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSourcePath()
-	 * @generated
-	 * @ordered
-	 */
-	protected IPath sourcePath = SOURCE_PATH_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getRuntimePath() <em>Runtime Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRuntimePath()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final IPath RUNTIME_PATH_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getRuntimePath() <em>Runtime Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRuntimePath()
-	 * @generated
-	 * @ordered
-	 */
-	protected IPath runtimePath = RUNTIME_PATH_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getExclusions() <em>Exclusions</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExclusions()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList exclusions = null;
-	
-	/**
-	 * The default value of the '{@link #getResourceType() <em>Resource Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getResourceType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String RESOURCE_TYPE_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getResourceType() <em>Resource Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getResourceType()
-	 * @generated
-	 * @ordered
-	 */
-	protected String resourceType = RESOURCE_TYPE_EDEFAULT;
-
-	protected IProject owningProject;
-	protected static final int VIRTUAL = 0;
-	protected static final int PERSISTED = 1;
-	
-	private int type = PERSISTED;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ComponentResourceImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ComponentcorePackage.eINSTANCE.getComponentResource();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IPath getSourcePath() {
-		return sourcePath;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setSourcePath(IPath newSourcePath) {
-		IPath oldSourcePath = sourcePath;
-		sourcePath = newSourcePath;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.COMPONENT_RESOURCE__SOURCE_PATH, oldSourcePath, sourcePath));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IPath getRuntimePath() {
-		return runtimePath;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setRuntimePath(IPath newRuntimePath) {
-		IPath oldRuntimePath = runtimePath;
-		runtimePath = newRuntimePath;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.COMPONENT_RESOURCE__RUNTIME_PATH, oldRuntimePath, runtimePath));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getExclusions() {
-		if (exclusions == null) {
-			exclusions = new EDataTypeUniqueEList(String.class, this, ComponentcorePackage.COMPONENT_RESOURCE__EXCLUSIONS);
-		}
-		return exclusions;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public WorkbenchComponent getComponent() {
-		if (eContainerFeatureID != ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT) return null;
-		return (WorkbenchComponent)eContainer;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setComponent(WorkbenchComponent newComponent) {
-		if (newComponent != eContainer || (eContainerFeatureID != ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT && newComponent != null)) {
-			if (EcoreUtil.isAncestor(this, newComponent))
-				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
-			NotificationChain msgs = null;
-			if (eContainer != null)
-				msgs = eBasicRemoveFromContainer(msgs);
-			if (newComponent != null)
-				msgs = ((InternalEObject)newComponent).eInverseAdd(this, ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES, WorkbenchComponent.class, msgs);
-			msgs = eBasicSetContainer((InternalEObject)newComponent, ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT, newComponent, newComponent));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getResourceType() {
-		return resourceType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setResourceType(String newResourceType) {
-		String oldResourceType = resourceType;
-		resourceType = newResourceType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.COMPONENT_RESOURCE__RESOURCE_TYPE, oldResourceType, resourceType));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT:
-					if (eContainer != null)
-						msgs = eBasicRemoveFromContainer(msgs);
-					return eBasicSetContainer(otherEnd, ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT:
-					return eBasicSetContainer(null, ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
-		if (eContainerFeatureID >= 0) {
-			switch (eContainerFeatureID) {
-				case ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT:
-					return eContainer.eInverseRemove(this, ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES, WorkbenchComponent.class, msgs);
-				default:
-					return eDynamicBasicRemoveFromContainer(msgs);
-			}
-		}
-		return eContainer.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - eContainerFeatureID, null, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.COMPONENT_RESOURCE__SOURCE_PATH:
-				return getSourcePath();
-			case ComponentcorePackage.COMPONENT_RESOURCE__RUNTIME_PATH:
-				return getRuntimePath();
-			case ComponentcorePackage.COMPONENT_RESOURCE__EXCLUSIONS:
-				return getExclusions();
-			case ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT:
-				return getComponent();
-			case ComponentcorePackage.COMPONENT_RESOURCE__RESOURCE_TYPE:
-				return getResourceType();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.COMPONENT_RESOURCE__SOURCE_PATH:
-				setSourcePath((IPath)newValue);
-				return;
-			case ComponentcorePackage.COMPONENT_RESOURCE__RUNTIME_PATH:
-				setRuntimePath((IPath)newValue);
-				return;
-			case ComponentcorePackage.COMPONENT_RESOURCE__EXCLUSIONS:
-				getExclusions().clear();
-				getExclusions().addAll((Collection)newValue);
-				return;
-			case ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT:
-				setComponent((WorkbenchComponent)newValue);
-				return;
-			case ComponentcorePackage.COMPONENT_RESOURCE__RESOURCE_TYPE:
-				setResourceType((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.COMPONENT_RESOURCE__SOURCE_PATH:
-				setSourcePath(SOURCE_PATH_EDEFAULT);
-				return;
-			case ComponentcorePackage.COMPONENT_RESOURCE__RUNTIME_PATH:
-				setRuntimePath(RUNTIME_PATH_EDEFAULT);
-				return;
-			case ComponentcorePackage.COMPONENT_RESOURCE__EXCLUSIONS:
-				getExclusions().clear();
-				return;
-			case ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT:
-				setComponent((WorkbenchComponent)null);
-				return;
-			case ComponentcorePackage.COMPONENT_RESOURCE__RESOURCE_TYPE:
-				setResourceType(RESOURCE_TYPE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.COMPONENT_RESOURCE__SOURCE_PATH:
-				return SOURCE_PATH_EDEFAULT == null ? sourcePath != null : !SOURCE_PATH_EDEFAULT.equals(sourcePath);
-			case ComponentcorePackage.COMPONENT_RESOURCE__RUNTIME_PATH:
-				return RUNTIME_PATH_EDEFAULT == null ? runtimePath != null : !RUNTIME_PATH_EDEFAULT.equals(runtimePath);
-			case ComponentcorePackage.COMPONENT_RESOURCE__EXCLUSIONS:
-				return exclusions != null && !exclusions.isEmpty();
-			case ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT:
-				return getComponent() != null;
-			case ComponentcorePackage.COMPONENT_RESOURCE__RESOURCE_TYPE:
-				return RESOURCE_TYPE_EDEFAULT == null ? resourceType != null : !RESOURCE_TYPE_EDEFAULT.equals(resourceType);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (sourcePath: ");
-		result.append(sourcePath);
-		result.append(", runtimePath: ");
-		result.append(runtimePath);
-		result.append(", exclusions: ");
-		result.append(exclusions);
-		result.append(", resourceType: ");
-		result.append(resourceType);
-		result.append(')');
-		return result.toString();
-	}
-
-	public int getType() {
-		return type;
-	}
-	
-	
-	public void setType(int type) {
-		this.type = type;
-	}
-
-	public IProject getOwningProject() {
-		return owningProject;
-	}
-
-	public void setOwningProject(IProject aProject) {
-		owningProject = aProject;
-	}
-	
-
-} //ComponentResourceImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentTypeImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentTypeImpl.java
deleted file mode 100644
index b0c2f21..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentTypeImpl.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentTypeImpl.java,v 1.1 2005/04/04 07:04:59 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.wst.common.componentcore.internal.ComponentType;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.Property;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Module Type</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentTypeImpl#getComponentTypeId <em>Component Type Id</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentTypeImpl#getVersion <em>Version</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentTypeImpl#getProperties <em>Properties</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ComponentTypeImpl#getMetadataResources <em>Metadata Resources</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ComponentTypeImpl extends EObjectImpl implements ComponentType {
-	/**
-	 * The default value of the '{@link #getComponentTypeId() <em>Component Type Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getComponentTypeId()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String COMPONENT_TYPE_ID_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getComponentTypeId() <em>Component Type Id</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getComponentTypeId()
-	 * @generated
-	 * @ordered
-	 */
-	protected String componentTypeId = COMPONENT_TYPE_ID_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getVersion() <em>Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getVersion()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String VERSION_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getVersion()
-	 * @generated
-	 * @ordered
-	 */
-	protected String version = VERSION_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getProperties() <em>Properties</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getProperties()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList properties = null;
-
-	/**
-	 * The cached value of the '{@link #getMetadataResources() <em>Metadata Resources</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMetadataResources()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList metadataResources = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ComponentTypeImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ComponentcorePackage.eINSTANCE.getComponentType();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getComponentTypeId() {
-		return componentTypeId;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setComponentTypeId(String newComponentTypeId) {
-		String oldComponentTypeId = componentTypeId;
-		componentTypeId = newComponentTypeId;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.COMPONENT_TYPE__COMPONENT_TYPE_ID, oldComponentTypeId, componentTypeId));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getMetadataResources() {
-		if (metadataResources == null) {
-			metadataResources = new EDataTypeUniqueEList(IPath.class, this, ComponentcorePackage.COMPONENT_TYPE__METADATA_RESOURCES);
-		}
-		return metadataResources;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getVersion() {
-		return version;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setVersion(String newVersion) {
-		String oldVersion = version;
-		version = newVersion;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.COMPONENT_TYPE__VERSION, oldVersion, version));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getProperties() {
-		if (properties == null) {
-			properties = new EObjectResolvingEList(Property.class, this, ComponentcorePackage.COMPONENT_TYPE__PROPERTIES);
-		}
-		return properties;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.COMPONENT_TYPE__COMPONENT_TYPE_ID:
-				return getComponentTypeId();
-			case ComponentcorePackage.COMPONENT_TYPE__VERSION:
-				return getVersion();
-			case ComponentcorePackage.COMPONENT_TYPE__PROPERTIES:
-				return getProperties();
-			case ComponentcorePackage.COMPONENT_TYPE__METADATA_RESOURCES:
-				return getMetadataResources();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.COMPONENT_TYPE__COMPONENT_TYPE_ID:
-				setComponentTypeId((String)newValue);
-				return;
-			case ComponentcorePackage.COMPONENT_TYPE__VERSION:
-				setVersion((String)newValue);
-				return;
-			case ComponentcorePackage.COMPONENT_TYPE__PROPERTIES:
-				getProperties().clear();
-				getProperties().addAll((Collection)newValue);
-				return;
-			case ComponentcorePackage.COMPONENT_TYPE__METADATA_RESOURCES:
-				getMetadataResources().clear();
-				getMetadataResources().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.COMPONENT_TYPE__COMPONENT_TYPE_ID:
-				setComponentTypeId(COMPONENT_TYPE_ID_EDEFAULT);
-				return;
-			case ComponentcorePackage.COMPONENT_TYPE__VERSION:
-				setVersion(VERSION_EDEFAULT);
-				return;
-			case ComponentcorePackage.COMPONENT_TYPE__PROPERTIES:
-				getProperties().clear();
-				return;
-			case ComponentcorePackage.COMPONENT_TYPE__METADATA_RESOURCES:
-				getMetadataResources().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.COMPONENT_TYPE__COMPONENT_TYPE_ID:
-				return COMPONENT_TYPE_ID_EDEFAULT == null ? componentTypeId != null : !COMPONENT_TYPE_ID_EDEFAULT.equals(componentTypeId);
-			case ComponentcorePackage.COMPONENT_TYPE__VERSION:
-				return VERSION_EDEFAULT == null ? version != null : !VERSION_EDEFAULT.equals(version);
-			case ComponentcorePackage.COMPONENT_TYPE__PROPERTIES:
-				return properties != null && !properties.isEmpty();
-			case ComponentcorePackage.COMPONENT_TYPE__METADATA_RESOURCES:
-				return metadataResources != null && !metadataResources.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (componentTypeId: ");
-		result.append(componentTypeId);
-		result.append(", version: ");
-		result.append(version);
-		result.append(", metadataResources: ");
-		result.append(metadataResources);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ComponentTypeImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcoreFactoryImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcoreFactoryImpl.java
deleted file mode 100644
index 1e23e37..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcoreFactoryImpl.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentcoreFactoryImpl.java,v 1.7 2005/10/18 22:27:18 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentType;
-import org.eclipse.wst.common.componentcore.internal.ComponentcoreFactory;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.DependencyType;
-import org.eclipse.wst.common.componentcore.internal.ProjectComponents;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ComponentcoreFactoryImpl extends EFactoryImpl implements ComponentcoreFactory {
-	/**
-	 * Creates an instance of the factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComponentcoreFactoryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-			case ComponentcorePackage.WORKBENCH_COMPONENT: return createWorkbenchComponent();
-			case ComponentcorePackage.COMPONENT_RESOURCE: return createComponentResource();
-			case ComponentcorePackage.COMPONENT_TYPE: return createComponentType();
-			case ComponentcorePackage.PROPERTY: return createProperty();
-			case ComponentcorePackage.REFERENCED_COMPONENT: return createReferencedComponent();
-			case ComponentcorePackage.PROJECT_COMPONENTS: return createProjectComponents();
-			default:
-				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object createFromString(EDataType eDataType, String initialValue) {
-		switch (eDataType.getClassifierID()) {
-			case ComponentcorePackage.DEPENDENCY_TYPE: {
-				DependencyType result = DependencyType.get(initialValue);
-				if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
-				return result;
-			}
-			case ComponentcorePackage.IPATH:
-				return createIPathFromString(eDataType, initialValue);
-			case ComponentcorePackage.URI:
-				return createURIFromString(eDataType, initialValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertToString(EDataType eDataType, Object instanceValue) {
-		switch (eDataType.getClassifierID()) {
-			case ComponentcorePackage.DEPENDENCY_TYPE:
-				return instanceValue == null ? null : instanceValue.toString();
-			case ComponentcorePackage.IPATH:
-				return convertIPathToString(eDataType, instanceValue);
-			case ComponentcorePackage.URI:
-				return convertURIToString(eDataType, instanceValue);
-			default:
-				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
-		}
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public WorkbenchComponent createWorkbenchComponent() {
-		WorkbenchComponentImpl workbenchComponent = new WorkbenchComponentImpl();
-		return workbenchComponent;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComponentResource createComponentResource() {
-		ComponentResourceImpl componentResource = new ComponentResourceImpl();
-		return componentResource;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComponentType createComponentType() {
-		ComponentTypeImpl componentType = new ComponentTypeImpl();
-		return componentType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Property createProperty() {
-		PropertyImpl property = new PropertyImpl();
-		return property;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ReferencedComponent createReferencedComponent() {
-		ReferencedComponentImpl referencedComponent = new ReferencedComponentImpl();
-		return referencedComponent;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ProjectComponents createProjectComponents() {
-		ProjectComponentsImpl projectComponents = new ProjectComponentsImpl();
-		return projectComponents;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IPath createIPathFromString(EDataType eDataType, String initialValue) {
-		return (IPath)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertIPathToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public URI createURIFromString(EDataType eDataType, String initialValue) {
-		return (URI)super.createFromString(eDataType, initialValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String convertURIToString(EDataType eDataType, Object instanceValue) {
-		return super.convertToString(eDataType, instanceValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComponentcorePackage getComponentcorePackage() {
-		return (ComponentcorePackage)getEPackage();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @deprecated
-	 * @generated
-	 */
-	public static ComponentcorePackage getPackage() {
-		return ComponentcorePackage.eINSTANCE;
-	}
-
-} //ComponentcoreFactoryImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcorePackageImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcorePackageImpl.java
deleted file mode 100644
index 6da7033..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ComponentcorePackageImpl.java
+++ /dev/null
@@ -1,624 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentcorePackageImpl.java,v 1.7 2005/10/18 22:25:44 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentType;
-import org.eclipse.wst.common.componentcore.internal.ComponentcoreFactory;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.DependencyType;
-import org.eclipse.wst.common.componentcore.internal.ProjectComponents;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class ComponentcorePackageImpl extends EPackageImpl implements ComponentcorePackage {
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass workbenchComponentEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass componentResourceEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass componentTypeEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass propertyEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass referencedComponentEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass projectComponentsEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EEnum dependencyTypeEEnum = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EDataType iPathEDataType = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EDataType uriEDataType = null;
-
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with
-	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
-	 * package URI value.
-	 * <p>Note: the correct way to create the package is via the static
-	 * factory method {@link #init init()}, which also performs
-	 * initialization of the package, or returns the registered package,
-	 * if one already exists.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private ComponentcorePackageImpl() {
-		super(eNS_URI, ComponentcoreFactory.eINSTANCE);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private static boolean isInited = false;
-
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this
-	 * model, and for any others upon which it depends.  Simple
-	 * dependencies are satisfied by calling this method on all
-	 * dependent packages before doing anything else.  This method drives
-	 * initialization for interdependent packages directly, in parallel
-	 * with this package, itself.
-	 * <p>Of this package and its interdependencies, all packages which
-	 * have not yet been registered by their URI values are first created
-	 * and registered.  The packages are then initialized in two steps:
-	 * meta-model objects for all of the packages are created before any
-	 * are initialized, since one package's meta-model objects may refer to
-	 * those of another.
-	 * <p>Invocation of this method will not affect any packages that have
-	 * already been initialized.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static ComponentcorePackage init() {
-		if (isInited) return (ComponentcorePackage)EPackage.Registry.INSTANCE.getEPackage(ComponentcorePackage.eNS_URI);
-
-		// Obtain or create and register package
-		ComponentcorePackageImpl theComponentcorePackage = (ComponentcorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ComponentcorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ComponentcorePackageImpl());
-
-		isInited = true;
-
-		// Create package meta-data objects
-		theComponentcorePackage.createPackageContents();
-
-		// Initialize created meta-data
-		theComponentcorePackage.initializePackageContents();
-
-		// Mark meta-data to indicate it can't be changed
-		theComponentcorePackage.freeze();
-
-		return theComponentcorePackage;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getWorkbenchComponent() {
-		return workbenchComponentEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getWorkbenchComponent_Name() {
-		return (EAttribute)workbenchComponentEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getWorkbenchComponent_Resources() {
-		return (EReference)workbenchComponentEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getWorkbenchComponent_ComponentType() {
-		return (EReference)workbenchComponentEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getWorkbenchComponent_ReferencedComponents() {
-		return (EReference)workbenchComponentEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getWorkbenchComponent_Properties() {
-		return (EReference)workbenchComponentEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getWorkbenchComponent_MetadataResources() {
-		return (EAttribute)workbenchComponentEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getComponentResource() {
-		return componentResourceEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getComponentResource_SourcePath() {
-		return (EAttribute)componentResourceEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getComponentResource_RuntimePath() {
-		return (EAttribute)componentResourceEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getComponentResource_Exclusions() {
-		return (EAttribute)componentResourceEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getComponentResource_Component() {
-		return (EReference)componentResourceEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getComponentResource_ResourceType() {
-		return (EAttribute)componentResourceEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getComponentType() {
-		return componentTypeEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getComponentType_ComponentTypeId() {
-		return (EAttribute)componentTypeEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getComponentType_Version() {
-		return (EAttribute)componentTypeEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getComponentType_Properties() {
-		return (EReference)componentTypeEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getComponentType_MetadataResources() {
-		return (EAttribute)componentTypeEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getProperty() {
-		return propertyEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProperty_Name() {
-		return (EAttribute)propertyEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProperty_Value() {
-		return (EAttribute)propertyEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getReferencedComponent() {
-		return referencedComponentEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getReferencedComponent_Handle() {
-		return (EAttribute)referencedComponentEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getReferencedComponent_RuntimePath() {
-		return (EAttribute)referencedComponentEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getReferencedComponent_DependencyType() {
-		return (EAttribute)referencedComponentEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getReferencedComponent_DependentObject() {
-		return (EReference)referencedComponentEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getProjectComponents() {
-		return projectComponentsEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getProjectComponents_ProjectName() {
-		return (EAttribute)projectComponentsEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getProjectComponents_Components() {
-		return (EReference)projectComponentsEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EEnum getDependencyType() {
-		return dependencyTypeEEnum;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EDataType getIPath() {
-		return iPathEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EDataType getURI() {
-		return uriEDataType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComponentcoreFactory getComponentcoreFactory() {
-		return (ComponentcoreFactory)getEFactoryInstance();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isCreated = false;
-
-	/**
-	 * Creates the meta-model objects for the package.  This method is
-	 * guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) return;
-		isCreated = true;
-
-		// Create classes and their features
-		workbenchComponentEClass = createEClass(WORKBENCH_COMPONENT);
-		createEAttribute(workbenchComponentEClass, WORKBENCH_COMPONENT__NAME);
-		createEReference(workbenchComponentEClass, WORKBENCH_COMPONENT__RESOURCES);
-		createEReference(workbenchComponentEClass, WORKBENCH_COMPONENT__COMPONENT_TYPE);
-		createEReference(workbenchComponentEClass, WORKBENCH_COMPONENT__REFERENCED_COMPONENTS);
-		createEReference(workbenchComponentEClass, WORKBENCH_COMPONENT__PROPERTIES);
-		createEAttribute(workbenchComponentEClass, WORKBENCH_COMPONENT__METADATA_RESOURCES);
-
-		componentResourceEClass = createEClass(COMPONENT_RESOURCE);
-		createEAttribute(componentResourceEClass, COMPONENT_RESOURCE__SOURCE_PATH);
-		createEAttribute(componentResourceEClass, COMPONENT_RESOURCE__RUNTIME_PATH);
-		createEAttribute(componentResourceEClass, COMPONENT_RESOURCE__EXCLUSIONS);
-		createEReference(componentResourceEClass, COMPONENT_RESOURCE__COMPONENT);
-		createEAttribute(componentResourceEClass, COMPONENT_RESOURCE__RESOURCE_TYPE);
-
-		componentTypeEClass = createEClass(COMPONENT_TYPE);
-		createEAttribute(componentTypeEClass, COMPONENT_TYPE__COMPONENT_TYPE_ID);
-		createEAttribute(componentTypeEClass, COMPONENT_TYPE__VERSION);
-		createEReference(componentTypeEClass, COMPONENT_TYPE__PROPERTIES);
-		createEAttribute(componentTypeEClass, COMPONENT_TYPE__METADATA_RESOURCES);
-
-		propertyEClass = createEClass(PROPERTY);
-		createEAttribute(propertyEClass, PROPERTY__NAME);
-		createEAttribute(propertyEClass, PROPERTY__VALUE);
-
-		referencedComponentEClass = createEClass(REFERENCED_COMPONENT);
-		createEAttribute(referencedComponentEClass, REFERENCED_COMPONENT__HANDLE);
-		createEAttribute(referencedComponentEClass, REFERENCED_COMPONENT__RUNTIME_PATH);
-		createEAttribute(referencedComponentEClass, REFERENCED_COMPONENT__DEPENDENCY_TYPE);
-		createEReference(referencedComponentEClass, REFERENCED_COMPONENT__DEPENDENT_OBJECT);
-
-		projectComponentsEClass = createEClass(PROJECT_COMPONENTS);
-		createEAttribute(projectComponentsEClass, PROJECT_COMPONENTS__PROJECT_NAME);
-		createEReference(projectComponentsEClass, PROJECT_COMPONENTS__COMPONENTS);
-
-		// Create enums
-		dependencyTypeEEnum = createEEnum(DEPENDENCY_TYPE);
-
-		// Create data types
-		iPathEDataType = createEDataType(IPATH);
-		uriEDataType = createEDataType(URI);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private boolean isInitialized = false;
-
-	/**
-	 * Complete the initialization of the package and its meta-model.  This
-	 * method is guarded to have no affect on any invocation but its first.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) return;
-		isInitialized = true;
-
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
-
-		// Add supertypes to classes
-
-		// Initialize classes and features; add operations and parameters
-		initEClass(workbenchComponentEClass, WorkbenchComponent.class, "WorkbenchComponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getWorkbenchComponent_Name(), ecorePackage.getEString(), "name", "", 1, 1, WorkbenchComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getWorkbenchComponent_Resources(), this.getComponentResource(), this.getComponentResource_Component(), "resources", null, 0, -1, WorkbenchComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getWorkbenchComponent_ComponentType(), this.getComponentType(), null, "componentType", null, 1, 1, WorkbenchComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getWorkbenchComponent_ReferencedComponents(), this.getReferencedComponent(), null, "referencedComponents", null, 0, -1, WorkbenchComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getWorkbenchComponent_Properties(), this.getProperty(), null, "properties", null, 0, -1, WorkbenchComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getWorkbenchComponent_MetadataResources(), this.getIPath(), "metadataResources", null, 0, -1, WorkbenchComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(componentResourceEClass, ComponentResource.class, "ComponentResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getComponentResource_SourcePath(), this.getIPath(), "sourcePath", null, 1, 1, ComponentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getComponentResource_RuntimePath(), this.getIPath(), "runtimePath", null, 1, 1, ComponentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getComponentResource_Exclusions(), ecorePackage.getEString(), "exclusions", "", 0, -1, ComponentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getComponentResource_Component(), this.getWorkbenchComponent(), this.getWorkbenchComponent_Resources(), "component", null, 1, 1, ComponentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getComponentResource_ResourceType(), ecorePackage.getEString(), "resourceType", "", 1, 1, ComponentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(componentTypeEClass, ComponentType.class, "ComponentType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getComponentType_ComponentTypeId(), ecorePackage.getEString(), "componentTypeId", "", 1, 1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getComponentType_Version(), ecorePackage.getEString(), "version", "", 1, 1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getComponentType_Properties(), this.getProperty(), null, "properties", null, 0, -1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getComponentType_MetadataResources(), this.getIPath(), "metadataResources", null, 0, -1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getProperty_Name(), ecorePackage.getEString(), "name", "", 1, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getProperty_Value(), ecorePackage.getEString(), "value", "", 1, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(referencedComponentEClass, ReferencedComponent.class, "ReferencedComponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getReferencedComponent_Handle(), this.getURI(), "handle", null, 1, 1, ReferencedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getReferencedComponent_RuntimePath(), this.getIPath(), "runtimePath", null, 1, 1, ReferencedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getReferencedComponent_DependencyType(), this.getDependencyType(), "dependencyType", null, 1, 1, ReferencedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getReferencedComponent_DependentObject(), ecorePackage.getEObject(), null, "dependentObject", null, 0, 1, ReferencedComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(projectComponentsEClass, ProjectComponents.class, "ProjectComponents", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getProjectComponents_ProjectName(), ecorePackage.getEString(), "projectName", "", 1, 1, ProjectComponents.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getProjectComponents_Components(), this.getWorkbenchComponent(), null, "components", null, 0, -1, ProjectComponents.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		// Initialize enums and add enum literals
-		initEEnum(dependencyTypeEEnum, DependencyType.class, "DependencyType");
-		addEEnumLiteral(dependencyTypeEEnum, DependencyType.USES_LITERAL);
-		addEEnumLiteral(dependencyTypeEEnum, DependencyType.CONSUMES_LITERAL);
-
-		// Initialize data types
-		initEDataType(iPathEDataType, IPath.class, "IPath", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
-		initEDataType(uriEDataType, org.eclipse.emf.common.util.URI.class, "URI", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
-
-		// Create resource
-		createResource(eNS_URI);
-
-		// Create annotations
-		// keywords
-		createKeywordsAnnotations();
-	}
-
-	/**
-	 * Initializes the annotations for <b>keywords</b>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void createKeywordsAnnotations() {
-		String source = "keywords";		
-		addAnnotation
-		  (iPathEDataType, 
-		   source, 
-		   new String[] {
-			 "datatype", null
-		   });		
-		addAnnotation
-		  (uriEDataType, 
-		   source, 
-		   new String[] {
-			 "datatype", null
-		   });
-	}
-
-} //ComponentcorePackageImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/IModuleStructureListener.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/IModuleStructureListener.java
deleted file mode 100644
index 82a97d7..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/IModuleStructureListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-
-/**
- * 
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public interface IModuleStructureListener {
-    
-    public void structureChanged(ModuleStructureEvent event);
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/MappedComponentXMIHelper.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/MappedComponentXMIHelper.java
deleted file mode 100644
index 250ccb7..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/MappedComponentXMIHelper.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-import org.eclipse.wst.common.internal.emf.resource.MappedXMIHelper;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-
-public class MappedComponentXMIHelper extends MappedXMIHelper {
-
-	public MappedComponentXMIHelper(XMLResource resource, Map prefixesToURIs) {
-		super(resource, prefixesToURIs);
-	}
-
-	public URI resolve(URI relative, URI base) {
-		URI resolved = null;
-		if (!isMapped(relative))
-			resolved = resolveURIFromComponent(relative,base);
-		else
-			resolved = relative;
-		
-		return resolved == null ? super.resolve(relative, base) : resolved;
-	}
-	
-	private boolean isMapped(URI relative) {
-		boolean isMapped = false;
-		ResourceSet set = getResource().getResourceSet();
-		if (set != null) {
-			URI localresourceURI = relative;
-			if (relative.hasFragment())
-				localresourceURI = relative.trimFragment();
-			isMapped = !((URIConverterImpl.URIMap) set.getURIConverter().getURIMap()).getURI(localresourceURI).equals(localresourceURI);
-		}
-		return isMapped;
-	}
-	
-	private URI resolveURIFromComponent(URI relative, URI base) {
-		IVirtualComponent component = getComponent(base);
-		if (component != null) {
-			IVirtualFile virtualFile = component.getRootFolder().getFile(new Path(relative.toString()));
-			if (virtualFile != null) {
-				IPath resolvingPath = virtualFile.getWorkspaceRelativePath();
-				if (resolvingPath !=null) 
-					return URI.createPlatformResourceURI(resolvingPath.toString());
-			}
-		}
-		return null;
-	}
-	
-	private IVirtualComponent getComponent(URI base) {
-		ResourceSet set = getResource().getResourceSet();
-		if (set == null || set.getURIConverter()==null)
-			return null;
-		URI normalized = set.getURIConverter().normalize(base);
-		if (WorkbenchResourceHelperBase.isPlatformResourceURI(normalized)) {
-			IFile file = WorkbenchResourceHelper.getPlatformFile(normalized);
-			if (file !=null) {
-				IVirtualResource[] virtualResources = ComponentCore.createResources(file);
-				if (virtualResources.length>0)
-					return virtualResources[0].getComponent();
-			}
-		}
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleIndexingAdapter.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleIndexingAdapter.java
deleted file mode 100644
index 5946e50..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleIndexingAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ModuleIndexingAdapter extends AdapterImpl {
-
-	private static final Class MODULE_INDEXING_ADAPTER_CLASS = ModuleIndexingAdapter.class;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
-	 */
-	public void notifyChanged(Notification aNotification) {
-		if (aNotification.getNotifier() instanceof EObject) {
-			EObject notifier = (EObject) aNotification.getNotifier();
-			if (notifier.eClass().getClassifierID() == ComponentcorePackage.PROJECT_COMPONENTS) {
-				ProjectComponentsImpl projectModules = (ProjectComponentsImpl) notifier;
-				synchronized (projectModules.getModulesIndex()) {
-					switch (aNotification.getEventType()) {
-						case Notification.ADD :
-							WorkbenchComponent module = (WorkbenchComponent) aNotification.getNewValue();
-							projectModules.getModulesIndex().put(module.getName(), module);
-					}
-				} 
-			}
-		} 
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
-	 */
-	public boolean isAdapterForType(Object type) {
-		return type == MODULE_INDEXING_ADAPTER_CLASS;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleStructuralModelFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleStructuralModelFactory.java
deleted file mode 100644
index 792221e..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleStructuralModelFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.Map;
-
-import org.eclipse.wst.common.componentcore.internal.ModuleStructuralModel;
-import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ModuleStructuralModelFactory extends EditModelFactory {
-	
-	public static final String MODULE_STRUCTURAL_MODEL_ID = "org.eclipse.wst.modulecore.structuralModel"; //$NON-NLS-1$
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory#createEditModelForRead(java.lang.String, org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext, java.util.Map)
-	 */
-	public EditModel createEditModelForRead(String anEditModelId, EMFWorkbenchContext aContext, Map theParams) {
-		return new ModuleStructuralModel(anEditModelId, aContext, true);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelFactory#createEditModelForWrite(java.lang.String, org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext, java.util.Map)
-	 */
-	public EditModel createEditModelForWrite(String anEditModelId, EMFWorkbenchContext aContext, Map theParams) {
-		return new ModuleStructuralModel(anEditModelId, aContext, false);
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleStructureEvent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleStructureEvent.java
deleted file mode 100644
index b692e3b..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleStructureEvent.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 26, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.EventObject;
-
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-
-//in progress...
-
-public class ModuleStructureEvent extends EventObject {
-    /**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
-	private ComponentResource[] resources;
-
-    public ModuleStructureEvent(Object source) {
-        super(source);
-    }
-    
-    public ModuleStructureEvent(Object source, ComponentResource[] theModuleResources) {
-        super(source);
-        resources = theModuleResources;
-        
-    }
-
-    public ComponentResource[] getMoudleResources() {
-        return resources;
-    }
-  
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleURIUtil.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleURIUtil.java
deleted file mode 100644
index 7454537..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ModuleURIUtil.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-
-/**
- * 
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ModuleURIUtil {
-
-	protected static final String RESOURCE_URI_PROTOCOL = PlatformURLModuleConnection.MODULE_PROTOCOL+IPath.SEPARATOR+PlatformURLModuleConnection.RESOURCE_MODULE+IPath.SEPARATOR;
-
-	protected static final String ARCHIVE_URI_PROTOCOL = PlatformURLModuleConnection.MODULE_PROTOCOL+IPath.SEPARATOR+PlatformURLModuleConnection.CLASSPATH +IPath.SEPARATOR;
-	
-	public static interface ModuleURI {
-		public static final int SUB_PROTOCOL_INDX = 0;
-		public static final int PROJECT_NAME_INDX = 1;
-		public static final int MODULE_NAME_INDX = 2;
-	}
-
-
-	public static final String PLATFORM_SCHEME = "platform"; //$NON-NLS-1$
-	public static final String RESOURCE_PROTOCOL = "resource"; //$NON-NLS-1$
-
-	
-	/**
-	 * <p>
-	 * A fully-qualified module URI will contain enough information to determine the deployed name
-	 * of the module.
-	 * </p>
-	 * 
-	 * @param aModuleURI
-	 *            A valid, fully-qualified module URI
-	 * @return The deployed name of the {@see WorkbenchComponent}referenced by the module URI
-	 * @throws UnresolveableURIException
-	 *             If the supplied module URI is invalid or unresolveable.
-	 */ 
-	public static String getDeployedName(URI aModuleURI) throws UnresolveableURIException {
-		ensureValidFullyQualifiedModuleURI(aModuleURI);
-		return aModuleURI.segment(ModuleURI.MODULE_NAME_INDX);
-	}
-
-	public static boolean ensureValidFullyQualifiedModuleURI(URI aModuleURI) throws UnresolveableURIException {
-		return ensureValidFullyQualifiedModuleURI(aModuleURI, true);
-	}
-
-	public static boolean ensureValidFullyQualifiedModuleURI(URI aModuleURI, boolean toThrowExceptionIfNecessary) throws UnresolveableURIException {
-		if (aModuleURI.segmentCount() < 3) {
-			if(toThrowExceptionIfNecessary)
-				throw new UnresolveableURIException(aModuleURI);
-			return false;
-		}
-		return true;
-	}
-
-	public static boolean ensureValidFullyQualifiedPlatformURI(URI aFullyQualifiedResourceURI, boolean toThrowExceptionIfNecessary) throws UnresolveableURIException {
-		if (aFullyQualifiedResourceURI.segmentCount() < 2 || !PLATFORM_SCHEME.equals(aFullyQualifiedResourceURI.scheme()) || !RESOURCE_PROTOCOL.equals(aFullyQualifiedResourceURI.segment(0))) {
-			if (toThrowExceptionIfNecessary)
-				throw new UnresolveableURIException(aFullyQualifiedResourceURI);
-			return false;
-		}
-		return true;
-	}
-
-	public static void ensureValidFullyQualifiedPlatformURI(URI aFullyQualifiedResourceURI) throws UnresolveableURIException {
-		ensureValidFullyQualifiedPlatformURI(aFullyQualifiedResourceURI, true);
-	}
-
-	public static URI trimModuleResourcePathToModuleURI(URI aModuleResourcePath) throws UnresolveableURIException {
-		ensureValidFullyQualifiedModuleURI(aModuleResourcePath);
-		return aModuleResourcePath.trimSegments(aModuleResourcePath.segmentCount() - 3);
-	}
-
-	public static URI trimWorkspacePathToProjectRelativeURI(URI aFullyQualifiedResourceURI) throws UnresolveableURIException {
-		URI projectRelativePath = null;
-		/* Check for a non-hierachical Workspace-relative path of the form platform:/resource/<project>/...*/
-		if (ensureValidFullyQualifiedPlatformURI(aFullyQualifiedResourceURI, false)) {
-			if (aFullyQualifiedResourceURI.segmentCount() == 2)
-				/* The URI points to a project, resolve to an empty URI */
-				return URI.createURI(""); //$NON-NLS-1$
-
-			/*
-			 * The URI has to be > 2 since the validation method above checks for < 2, and just
-			 * checked for == 2 so if X NOT < 2 and X NOT == 2, THEN > 2
-			 */
-			projectRelativePath = trimToRelativePath(aFullyQualifiedResourceURI, 2);
-
-		} else if(aFullyQualifiedResourceURI.isHierarchical() && aFullyQualifiedResourceURI.path().startsWith(""+IPath.SEPARATOR)) {
-			projectRelativePath = trimToRelativePath(aFullyQualifiedResourceURI, 1);
-		} else {
-			throw new UnresolveableURIException(aFullyQualifiedResourceURI);
-		}
-		return projectRelativePath;
-	}
-	
-	public static URI trimToRelativePath(URI aURI, int aStartIndex) {
-		StringBuffer relativePath = new StringBuffer();
-		for (int segmentIndex = aStartIndex; segmentIndex < aURI.segmentCount(); segmentIndex++) {
-			relativePath.append(aURI.segment(segmentIndex));
-			if (segmentIndex < (aURI.segmentCount() - 1))
-				relativePath.append(IPath.SEPARATOR);
-		}
-		return URI.createURI(relativePath.toString());
-	}
-	
-	
-	/**
-	 * @param aModuleResourcePath
-	 * @return
-	 */
-	public static URI trimToDeployPathSegment(URI aFullyQualifiedModuleResourcePath) {
-		int segmentCount = aFullyQualifiedModuleResourcePath.segmentCount();
-		URI uri;
-		if(segmentCount > 4){
-			uri = aFullyQualifiedModuleResourcePath.deresolve(aFullyQualifiedModuleResourcePath.trimSegments(segmentCount - 4));
-		} else {
-			uri = URI.createURI(aFullyQualifiedModuleResourcePath.segment(segmentCount-1));
-		}
-		return uri;
-	}
-
-	public static URI concat(URI uri1, URI uri2){
-	    URI concatURI = uri1.appendSegments(uri2.segments());
-	    return concatURI;
-	}
-	
-	public static URI fullyQualifyURI(WorkbenchComponent aComponent) {
-		try {
-			if(ensureValidFullyQualifiedModuleURI(aComponent.getHandle(), false))
-				return aComponent.getHandle(); 
-			IProject project = StructureEdit.getContainingProject(aComponent);
-			if(project != null) {
-				return URI.createURI(RESOURCE_URI_PROTOCOL + project.getName() + IPath.SEPARATOR + aComponent.getName());
-			} 
-		} catch (UnresolveableURIException e) {
-			// Ignore
-		}
-		return null; 
-	}
-	
-
-	public static URI fullyQualifyURI(IProject aProject) {
-		return URI.createURI(RESOURCE_URI_PROTOCOL + aProject.getName() + IPath.SEPARATOR + aProject.getName());
-	}
-
-	public static URI archiveComponentfullyQualifyURI(String aComponentName) {
-		return URI.createURI(ARCHIVE_URI_PROTOCOL + aComponentName);
-	}
-	
-	public static boolean isClassPathURI(URI uri){
-		if(uri !=null && PlatformURLModuleConnection.CLASSPATH.equals(uri.segment(0) )){
-			return true;
-		}
-		return false;
-	}
-	
-	public static String getArchiveType(URI aModuleURI)throws UnresolveableURIException {
-		ensureValidFullyQualifiedModuleURI(aModuleURI);
-		return aModuleURI.segment(ModuleURI.PROJECT_NAME_INDX);		
-	}
-	
-	public static String getArchiveName(URI aModuleURI)throws UnresolveableURIException {
-		ensureValidFullyQualifiedModuleURI(aModuleURI);
-		URI uri = trimToRelativePath(aModuleURI, ModuleURI.MODULE_NAME_INDX);
-		return uri.toString();
-	}
-	public static String getHandleString(IVirtualComponent aComponent){
-		if (aComponent.isBinary())
-			return ModuleURIUtil.archiveComponentfullyQualifyURI(aComponent.getName()).toString();
-		else
-			return "[" + aComponent.getProject().getFullPath() + "]:" + aComponent.getProject().getName();
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/PlatformURLModuleConnection.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/PlatformURLModuleConnection.java
deleted file mode 100644
index 9b95e51..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/PlatformURLModuleConnection.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 20, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.internal.boot.PlatformURLConnection;
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-
-/**
- * @author mdelder
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class PlatformURLModuleConnection extends PlatformURLConnection {
-
-	public static final String MODULE = "module"; //$NON-NLS-1$
-	public static final String MODULE_PROTOCOL = MODULE + PlatformURLHandler.PROTOCOL_SEPARATOR;
-	
-	public static final String CLASSPATH = "classpath"; //$NON-NLS-1$
-
-	public static final String RESOURCE_MODULE = "resource"; //$NON-NLS-1$
-	public static final String BINARY_MODULE = "binary"; //$NON-NLS-1$
-
-
-	public PlatformURLModuleConnection(URL aURL) {
-		super(aURL);
-	}
- 
-	public static URI resolve(URI aModuleResourceRuntimePath) throws IOException {
-		try {
-			IProject componentProject = StructureEdit.getContainingProject(aModuleResourceRuntimePath);
-			String componentName = ModuleURIUtil.getDeployedName(aModuleResourceRuntimePath);
-			URI runtimeURI = ModuleURIUtil.trimToDeployPathSegment(aModuleResourceRuntimePath);
-			IPath runtimePath = new Path(runtimeURI.path());
-			IVirtualComponent component = ComponentCore.createComponent(componentProject);
-			//IVirtualFile vFile = component.getFile(runtimePath);
-			IVirtualFolder rootFolder = component.getRootFolder();
-			IVirtualFile vFile = rootFolder.getFile(runtimePath);
-			return URI.createPlatformResourceURI(vFile.getWorkspaceRelativePath().toString());
-		} catch (UnresolveableURIException e) {
-		}
-		return aModuleResourceRuntimePath;
-		 
-	}
-
-	private static URI normalizeToWorkspaceRelative(IProject project, IPath sourcePath, URI moduleResourceDeployPath) throws UnresolveableURIException {
-		String projectName = project.getName();
-		return URI.createURI(projectName + '/' + sourcePath.toString());
-	
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.internal.boot.PlatformURLConnection#resolve()
-	 */
-	protected URL resolve() throws IOException {
-		System.out.println("URL: " + getURL());
-		//IPath moduleRelativePath = new Path(getURL().toExternalForm());
-		//String moduleName = moduleRelativePath.segment(1);
-
-		IPath resolvedPath = null; // handle.getResolvedPath().append(moduleRelativePath.removeFirstSegments(2));
-
-		int count = resolvedPath.segmentCount();
-		// if there are two segments then the second is a project name.
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(resolvedPath.segment(0));
-		if (!project.exists()) {
-			// TODO Fix this string
-			String message = "Could not resolve URL"; //Policy.bind("url.couldNotResolve", project.getName(), url.toExternalForm()); //$NON-NLS-1$
-			throw new IOException(message);
-		}
-		IPath result = null;
-		if (count == 2)
-			result = project.getLocation();
-		else {
-			resolvedPath = resolvedPath.removeFirstSegments(2);
-			result = project.getFile(resolvedPath).getLocation();
-		}
-		return new URL("file", "", result.toString()); //$NON-NLS-1$ //$NON-NLS-2$
-
-	}
-
-	public static void startup() {
-		PlatformURLHandler.register(PlatformURLModuleConnection.MODULE, PlatformURLModuleConnection.class);
-	}
-
-	// private IProject getRelevantProject(URI aModuleURI) {
-	// aModuleURI.segment()
-	// }
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ProjectComponentsImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ProjectComponentsImpl.java
deleted file mode 100644
index 543a3ab..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ProjectComponentsImpl.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ProjectComponentsImpl.java,v 1.2 2005/08/26 16:45:31 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.ProjectComponents;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-/**
- * <!-- begin-user-doc --> An implementation of the model object '<em><b>Project Modules</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ProjectComponentsImpl#getProjectName <em>Project Name</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ProjectComponentsImpl#getComponents <em>Components</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ProjectComponentsImpl extends EObjectImpl implements ProjectComponents {
-	/**
-	 * The default value of the '{@link #getProjectName() <em>Project Name</em>}' attribute. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @see #getProjectName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String PROJECT_NAME_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getProjectName() <em>Project Name</em>}' attribute. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @see #getProjectName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String projectName = PROJECT_NAME_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getComponents() <em>Components</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getComponents()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList components = null;
-
-	private boolean isIndexed;
-
-	private final Map modulesIndex = new HashMap();
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ProjectComponentsImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ComponentcorePackage.eINSTANCE.getProjectComponents();
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getProjectName() {
-		return projectName;
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setProjectName(String newProjectName) {
-		String oldProjectName = projectName;
-		projectName = newProjectName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.PROJECT_COMPONENTS__PROJECT_NAME, oldProjectName, projectName));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getComponents() {
-		if (components == null) {
-			components = new EObjectContainmentEList(WorkbenchComponent.class, this, ComponentcorePackage.PROJECT_COMPONENTS__COMPONENTS);
-		}
-		return components;
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ComponentcorePackage.PROJECT_COMPONENTS__COMPONENTS:
-					return ((InternalEList)getComponents()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.PROJECT_COMPONENTS__PROJECT_NAME:
-				return getProjectName();
-			case ComponentcorePackage.PROJECT_COMPONENTS__COMPONENTS:
-				return getComponents();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.PROJECT_COMPONENTS__PROJECT_NAME:
-				setProjectName((String)newValue);
-				return;
-			case ComponentcorePackage.PROJECT_COMPONENTS__COMPONENTS:
-				getComponents().clear();
-				getComponents().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.PROJECT_COMPONENTS__PROJECT_NAME:
-				setProjectName(PROJECT_NAME_EDEFAULT);
-				return;
-			case ComponentcorePackage.PROJECT_COMPONENTS__COMPONENTS:
-				getComponents().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.PROJECT_COMPONENTS__PROJECT_NAME:
-				return PROJECT_NAME_EDEFAULT == null ? projectName != null : !PROJECT_NAME_EDEFAULT.equals(projectName);
-			case ComponentcorePackage.PROJECT_COMPONENTS__COMPONENTS:
-				return components != null && !components.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (projectName: ");
-		result.append(projectName);
-		result.append(')');
-		return result.toString();
-	}
-
-	public WorkbenchComponent findWorkbenchModule(String aDeployName) {
-		if (getComponents().size() == 1)
-			return ((WorkbenchComponent)getComponents().get(0)).getName().equals(aDeployName) ? (WorkbenchComponent)getComponents().get(0) : null;
-		if (!isIndexed()) 
-			indexModules(); 
-		return (WorkbenchComponent) getModulesIndex().get(aDeployName);
-	}
-
-	/**
-	 * @return
-	 */
-	private boolean isIndexed() {
-		return isIndexed;
-	}
-
-	/**
-	 * 
-	 */
-	private void indexModules() {
-		if (isIndexed)
-			return;
-
-		synchronized (modulesIndex) {
-			Adapter adapter = EcoreUtil.getAdapter(eAdapters(), ModuleIndexingAdapter.class);
-			if (adapter == null) 
-				eAdapters().add((adapter = new ModuleIndexingAdapter()));
-			
-			WorkbenchComponent module = null;
-			for(Iterator iter = getComponents().iterator(); iter.hasNext(); ) {
-				module = (WorkbenchComponent) iter.next();
-				modulesIndex.put(module.getName(), module);
-			}
-		}
-		isIndexed = true;
-	}
-
-	/**
-	 * @return
-	 */
-	/* package */ Map getModulesIndex() {
-		return modulesIndex;
-	}
-
-} // ProjectComponentsImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/PropertyImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/PropertyImpl.java
deleted file mode 100644
index eae8a93..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/PropertyImpl.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: PropertyImpl.java,v 1.1 2005/04/04 07:04:59 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.Property;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Property</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.PropertyImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.PropertyImpl#getValue <em>Value</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class PropertyImpl extends EObjectImpl implements Property {
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String VALUE_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getValue()
-	 * @generated
-	 * @ordered
-	 */
-	protected String value = VALUE_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected PropertyImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ComponentcorePackage.eINSTANCE.getProperty();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setName(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.PROPERTY__NAME, oldName, name));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getValue() {
-		return value;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setValue(String newValue) {
-		String oldValue = value;
-		value = newValue;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.PROPERTY__VALUE, oldValue, value));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.PROPERTY__NAME:
-				return getName();
-			case ComponentcorePackage.PROPERTY__VALUE:
-				return getValue();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.PROPERTY__NAME:
-				setName((String)newValue);
-				return;
-			case ComponentcorePackage.PROPERTY__VALUE:
-				setValue((String)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.PROPERTY__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case ComponentcorePackage.PROPERTY__VALUE:
-				setValue(VALUE_EDEFAULT);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.PROPERTY__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case ComponentcorePackage.PROPERTY__VALUE:
-				return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (name: ");
-		result.append(name);
-		result.append(", value: ");
-		result.append(value);
-		result.append(')');
-		return result.toString();
-	}
-
-} //PropertyImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentImpl.java
deleted file mode 100644
index 084b06e..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentImpl.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ReferencedComponentImpl.java,v 1.2 2005/09/12 02:48:31 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.DependencyType;
-import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Dependent Module</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl#getHandle <em>Handle</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl#getRuntimePath <em>Runtime Path</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl#getDependencyType <em>Dependency Type</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.ReferencedComponentImpl#getDependentObject <em>Dependent Object</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class ReferencedComponentImpl extends EObjectImpl implements ReferencedComponent {
-	/**
-	 * The default value of the '{@link #getHandle() <em>Handle</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHandle()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final URI HANDLE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getHandle() <em>Handle</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getHandle()
-	 * @generated
-	 * @ordered
-	 */
-	protected URI handle = HANDLE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getRuntimePath() <em>Runtime Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRuntimePath()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final IPath RUNTIME_PATH_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getRuntimePath() <em>Runtime Path</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRuntimePath()
-	 * @generated
-	 * @ordered
-	 */
-	protected IPath runtimePath = RUNTIME_PATH_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getDependencyType() <em>Dependency Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDependencyType()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final DependencyType DEPENDENCY_TYPE_EDEFAULT = DependencyType.USES_LITERAL;
-
-	/**
-	 * The cached value of the '{@link #getDependencyType() <em>Dependency Type</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDependencyType()
-	 * @generated
-	 * @ordered
-	 */
-	protected DependencyType dependencyType = DEPENDENCY_TYPE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getDependentObject() <em>Dependent Object</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDependentObject()
-	 * @generated
-	 * @ordered
-	 */
-	protected EObject dependentObject = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ReferencedComponentImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ComponentcorePackage.eINSTANCE.getReferencedComponent();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public URI getHandle() {
-		return handle;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setHandle(URI newHandle) {
-		URI oldHandle = handle;
-		handle = newHandle;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.REFERENCED_COMPONENT__HANDLE, oldHandle, handle));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public IPath getRuntimePath() {
-		return runtimePath;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setRuntimePath(IPath newRuntimePath) {
-		IPath oldRuntimePath = runtimePath;
-		runtimePath = newRuntimePath;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.REFERENCED_COMPONENT__RUNTIME_PATH, oldRuntimePath, runtimePath));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public DependencyType getDependencyType() {
-		return dependencyType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDependencyType(DependencyType newDependencyType) {
-		DependencyType oldDependencyType = dependencyType;
-		dependencyType = newDependencyType == null ? DEPENDENCY_TYPE_EDEFAULT : newDependencyType;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE, oldDependencyType, dependencyType));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject getDependentObject() {
-		if (dependentObject != null && dependentObject.eIsProxy()) {
-			EObject oldDependentObject = dependentObject;
-			dependentObject = (EObject)eResolveProxy((InternalEObject)dependentObject);
-			if (dependentObject != oldDependentObject) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT, oldDependentObject, dependentObject));
-			}
-		}
-		return dependentObject;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EObject basicGetDependentObject() {
-		return dependentObject;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setDependentObject(EObject newDependentObject) {
-		EObject oldDependentObject = dependentObject;
-		dependentObject = newDependentObject;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT, oldDependentObject, dependentObject));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.REFERENCED_COMPONENT__HANDLE:
-				return getHandle();
-			case ComponentcorePackage.REFERENCED_COMPONENT__RUNTIME_PATH:
-				return getRuntimePath();
-			case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE:
-				return getDependencyType();
-			case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT:
-				if (resolve) return getDependentObject();
-				return basicGetDependentObject();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.REFERENCED_COMPONENT__HANDLE:
-				setHandle((URI)newValue);
-				return;
-			case ComponentcorePackage.REFERENCED_COMPONENT__RUNTIME_PATH:
-				setRuntimePath((IPath)newValue);
-				return;
-			case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE:
-				setDependencyType((DependencyType)newValue);
-				return;
-			case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT:
-				setDependentObject((EObject)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.REFERENCED_COMPONENT__HANDLE:
-				setHandle(HANDLE_EDEFAULT);
-				return;
-			case ComponentcorePackage.REFERENCED_COMPONENT__RUNTIME_PATH:
-				setRuntimePath(RUNTIME_PATH_EDEFAULT);
-				return;
-			case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE:
-				setDependencyType(DEPENDENCY_TYPE_EDEFAULT);
-				return;
-			case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT:
-				setDependentObject((EObject)null);
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.REFERENCED_COMPONENT__HANDLE:
-				return HANDLE_EDEFAULT == null ? handle != null : !HANDLE_EDEFAULT.equals(handle);
-			case ComponentcorePackage.REFERENCED_COMPONENT__RUNTIME_PATH:
-				return RUNTIME_PATH_EDEFAULT == null ? runtimePath != null : !RUNTIME_PATH_EDEFAULT.equals(runtimePath);
-			case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENCY_TYPE:
-				return dependencyType != DEPENDENCY_TYPE_EDEFAULT;
-			case ComponentcorePackage.REFERENCED_COMPONENT__DEPENDENT_OBJECT:
-				return dependentObject != null;
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (handle: ");
-		result.append(handle);
-		result.append(", runtimePath: ");
-		result.append(runtimePath);
-		result.append(", dependencyType: ");
-		result.append(dependencyType);
-		result.append(')');
-		return result.toString();
-	}
-
-} //ReferencedComponentImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentXMIResourceFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentXMIResourceFactory.java
deleted file mode 100644
index 2a157ad..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentXMIResourceFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.wst.common.internal.emf.resource.ReferencedXMIFactoryImpl;
-
-public class ReferencedComponentXMIResourceFactory extends
-		ReferencedXMIFactoryImpl {
-
-	public ReferencedComponentXMIResourceFactory() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-	/**
-	 * This is the method that subclasses can override to actually instantiate a new Resource
-	 * 
-	 * @param uri
-	 * @return
-	 */
-	protected Resource doCreateResource(URI uri) {
-		return new ReferencedComponentXMIResourceImpl(uri);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentXMIResourceImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentXMIResourceImpl.java
deleted file mode 100644
index 333b4b0..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ReferencedComponentXMIResourceImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.wst.common.internal.emf.resource.MappedXMIHelper;
-import org.eclipse.wst.common.internal.emf.resource.ReferencedXMIResourceImpl;
-
-public class ReferencedComponentXMIResourceImpl extends
-		ReferencedXMIResourceImpl implements Resource {
-
-	public ReferencedComponentXMIResourceImpl() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-
-	public ReferencedComponentXMIResourceImpl(URI uri) {
-		super(uri);
-		// TODO Auto-generated constructor stub
-	}
-	protected MappedXMIHelper doCreateXMLHelper() {
-		return new MappedComponentXMIHelper(this, getPrefixToPackageURIs());
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeNode.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeNode.java
deleted file mode 100644
index 0eda447..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeNode.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.util.IPathProvider;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ResourceTreeNode {
-	
-	public static final int CREATE_NONE = 0x0;
-	/** 
-	 * Type constant (bit mask value 1) which identifies creating child nodes.
-	 *
-	 */
-	public static final int CREATE_TREENODE_IFNEC = 0x1;
-
-	/**
-	 * Type constant (bit mask value 2) which identifies always creating a virtual resource.
-	 *
-	 */
-	public static final int CREATE_RESOURCE_ALWAYS = 0x2;
-
-	private final Set moduleResources = Collections.synchronizedSet(new HashSet());	
-	private final Map children = Collections.synchronizedMap(new HashMap());
-	private final Map transientChildResources = Collections.synchronizedMap(new HashMap());
-	private static final ComponentResource[] NO_MODULE_RESOURCES = new ComponentResource[]{};
-	private IPathProvider pathProvider;
-//	private ResourceTreeNode parent;
-	private String pathSegment;
-
-	public ResourceTreeNode(String aPathSegment, ResourceTreeNode parent, IPathProvider aPathProvider) {
-		pathSegment = aPathSegment;
-		pathProvider = aPathProvider;
-	}
-
-	public ResourceTreeNode addChild(ResourceTreeNode aChild) {
-		children.put(aChild.getPathSegment(), aChild);
-		return aChild;
-	}
-
-	public ResourceTreeNode addChild(ComponentResource aModuleResource) {
-		ResourceTreeNode newChild = findChild(getPathProvider().getPath(aModuleResource), CREATE_TREENODE_IFNEC);
-		if(newChild != null) {
-			newChild.addModuleResource(aModuleResource);
-			return newChild;
-		}
-		return null;
-	}
-
-	public ResourceTreeNode removeChild(ResourceTreeNode aChild) {
-		return (ResourceTreeNode) children.remove(aChild.getPathSegment());
-	}
-
-	public ResourceTreeNode removeChild(ComponentResource aModuleResource) { 
-		ResourceTreeNode containingChild = findChild(getPathProvider().getPath(aModuleResource), CREATE_NONE);
-		if(containingChild != null) {
-			containingChild.removeResource(aModuleResource);
-			if(containingChild.hasModuleResources())
-				return containingChild;
-			return removeChild(containingChild);
-		}
-		return null;
-	}
-
-	public ResourceTreeNode removeChild(IPath targetPath, ComponentResource aModuleResource) { 
-		ResourceTreeNode containingChild = findChild(targetPath, CREATE_NONE);
-		if(containingChild != null) {
-			containingChild.removeResource(aModuleResource);
-			if(containingChild.hasModuleResources())
-				return containingChild;
-			return removeChild(containingChild);
-		}
-		return null;			
-	}
-	
-	public void removeResource(ComponentResource aResource) {
-		moduleResources.remove(aResource);
-	}
-
-	public ResourceTreeNode findChild(IPath aPath) {
-		return findChild(aPath, CREATE_TREENODE_IFNEC);
-	}
-
-	public ResourceTreeNode findChild(IPath aPath, int creationFlags) {
-		if(aPath == null)
-			return null;
-		ResourceTreeNode child = this;
-		if (aPath.segmentCount() > 0) {
-			child = findChild(aPath.segment(0), creationFlags);
-			if (child == null)
-				return null;
-			if (aPath.segmentCount() == 1)
-				return child;
-			child = child.findChild(aPath.removeFirstSegments(1), creationFlags);
-
-		}
-		return child;
-	}
-
-	public ResourceTreeNode findChild(String aPathSegment) {
-		if (aPathSegment == null || aPathSegment.length() == 0)
-			return this;
-		return findChild(aPathSegment, CREATE_NONE);
-	}
-
-	public ResourceTreeNode findChild(String aPathSegment, int creationFlags) {
-		boolean toCreateChildIfNecessary = (creationFlags & CREATE_TREENODE_IFNEC) == CREATE_TREENODE_IFNEC;
-		ResourceTreeNode childNode = (ResourceTreeNode) children.get(aPathSegment);
-		if (childNode == null && toCreateChildIfNecessary)
-			childNode = addChild(aPathSegment);
-		return childNode;
-	}
-
-	public ComponentResource[] findModuleResources(IPath aPath, int creationFlags) {
-
-		Set foundModuleResources = findModuleResourcesSet(aPath, aPath, creationFlags);
-		if (foundModuleResources.size() == 0)
-			return NO_MODULE_RESOURCES;
-		return (ComponentResource[]) foundModuleResources.toArray(new ComponentResource[foundModuleResources.size()]);
-	}
-	public boolean exists(IPath aPath, int creationFlags) {
-
-		Set foundModuleResources = findModuleResourcesSet(aPath, aPath, creationFlags);
-		if (foundModuleResources.size() == 0) {
-			if (true) {
-				ResourceTreeNode child = findChild(aPath.segment(0), creationFlags);
-				if (child != null)
-					return true;
-			}
-			return false;
-		}
-		return true;
-	}
-
-	public boolean hasModuleResources() {
-		return moduleResources.size() > 0;
-	}
-
-	public ComponentResource[] getModuleResources() {
-		return (ComponentResource[]) moduleResources.toArray(new ComponentResource[moduleResources.size()]);
-	}
-
-	private Set findModuleResourcesSet(IPath aFullPath, IPath aPath, int creationFlags) {
-
-		if (aPath.segmentCount() == 0) {
-			Set resources = aggregateResources(new HashSet());
-			return resources;
-		}
-		ResourceTreeNode child = findChild(aPath.segment(0), creationFlags);
-		if (child == null)
-			return findMatchingVirtualPathsSet(aFullPath, aPath, creationFlags);
-		Set foundResources = new HashSet();
-		foundResources.addAll(child.findModuleResourcesSet(aFullPath, aPath.removeFirstSegments(1), creationFlags));
-		foundResources.addAll(findMatchingVirtualPathsSet(aFullPath, aPath, creationFlags));
-		return foundResources;
-	}
-
-	private Set findMatchingVirtualPathsSet(IPath aFullPath, IPath aPath, int creationFlags) {
-		boolean toCreateResourceAlways = (creationFlags & CREATE_RESOURCE_ALWAYS) == CREATE_RESOURCE_ALWAYS;
-		if (hasModuleResources()) {
-			ComponentResource moduleResource = null;
-			IResource eclipseResource = null;
-			IContainer eclipseContainer = null;
-			Set resultSet = new HashSet();
-			for (Iterator resourceIter = moduleResources.iterator(); resourceIter.hasNext();) {
-				moduleResource = (ComponentResource) resourceIter.next();
-				if(moduleResource.getRuntimePath() != null && moduleResource.eResource() != null) {
-					eclipseResource = StructureEdit.getEclipseResource(moduleResource);
-					
-					if (eclipseResource != null && (eclipseResource.getType() == IResource.FOLDER || eclipseResource.getType() == IResource.PROJECT)) {
-						eclipseContainer = (IContainer) eclipseResource;
-				 
-						IPath runtimeURI = moduleResource.getRuntimePath().append(aPath);
-						IPath srcPath = eclipseContainer.getProjectRelativePath().append(aPath);
-						
-						// check for existing subpath in tree
-						ComponentResource newResource = findExistingComponentResource(moduleResource.getComponent(), runtimeURI, srcPath);
-						
-						// add new resource if null
-						if(newResource == null) {
-							// flesh out the tree
-							IResource eclipseRes = eclipseContainer.findMember(aPath);
-							if ((toCreateResourceAlways) || (eclipseRes != null)) {
-								newResource = (ComponentResource)transientChildResources.get(srcPath);
-								if (newResource == null) {
-								newResource = ComponentcorePackage.eINSTANCE.getComponentcoreFactory().createComponentResource();
-								// Not setting the parent on this transient child resource
-								// newResource.setComponent(moduleResource.getComponent());
-								newResource.setRuntimePath(runtimeURI);
-								newResource.setSourcePath(srcPath);
-								if (eclipseRes != null)
-									newResource.setOwningProject(eclipseRes.getProject());
-								transientChildResources.put(srcPath,newResource);
-								}
-								resultSet.add(newResource);
-							}
-						}
-					}
-		
-				}
-			}
-			return resultSet.size() > 0 ? resultSet : Collections.EMPTY_SET;
-		}
-		return Collections.EMPTY_SET;
-	}
-
-	private ComponentResource findExistingComponentResource(WorkbenchComponent component, IPath runtimeURI, IPath srcPath) { 
-		List resources = component.getResources();
-		for (Iterator iter = resources.iterator(); iter.hasNext();) {
-			ComponentResource element = (ComponentResource) iter.next();
-			if(runtimeURI.equals(element.getRuntimePath()) && srcPath.equals(element.getSourcePath()))
-				return element;
-			
-		}
-		return null;
-	}
-
-	private Set aggregateResources(Set anAggregationSet) {
-		if (hasModuleResources())
-			anAggregationSet.addAll(moduleResources);
-		ResourceTreeNode childNode = null;
-		for (Iterator childrenIterator = children.values().iterator(); childrenIterator.hasNext();) {
-			childNode = (ResourceTreeNode) childrenIterator.next();
-			childNode.aggregateResources(anAggregationSet);
-		}
-		return anAggregationSet;
-	}
-
-	public int childrenCount() {
-		return children.size();
-	}
-
-	public String getPathSegment() {
-		return pathSegment;
-	}
-
-	protected ResourceTreeNode addChild(String aPathSegment) {
-		ResourceTreeNode newChild = null;
-		if ((newChild = (ResourceTreeNode) children.get(aPathSegment)) == null) {
-			newChild = new ResourceTreeNode(aPathSegment, this, pathProvider);
-			children.put(newChild.getPathSegment(), newChild);
-		}
-		return newChild;
-	}
-
-	protected ResourceTreeNode removeChild(String aPathSegment) {
-		return (ResourceTreeNode) children.remove(aPathSegment);
-	}
-
-	/* package */void addModuleResource(ComponentResource aModuleResource) {
-		moduleResources.add(aModuleResource);
-	}
-
-	/* package */IPathProvider getPathProvider() {
-		return pathProvider;
-	}
-
-	public Map getChildren() {
-		return children;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeRoot.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeRoot.java
deleted file mode 100644
index bb5f670..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeRoot.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-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.URI;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.util.IPathProvider;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ResourceTreeRoot extends ResourceTreeNode {
-	
-	private class ResourceTreeResourceListener extends AdapterImpl {
-		public void notifyChanged(Notification msg) {
-			
-			if(msg.getFeature() == ComponentcorePackage.eINSTANCE.getWorkbenchComponent_Resources()) {
-				ComponentResource resource = null;
-				switch(msg.getEventType()) {
-				case Notification.ADD:
-					resource = (ComponentResource) msg.getNewValue();
-					if(resource != null)
-						resource.eAdapters().add(getResourcePathListenerAdapter());					
-					break; 
-				case Notification.ADD_MANY:
-					List newValues = (List) msg.getNewValue();					
-					for (int i = 0; i < newValues.size(); i++) {
-						resource = (ComponentResource) newValues.get(i);
-						resource.eAdapters().add(getResourcePathListenerAdapter());
-					}
-					break;
-				case Notification.REMOVE:
-					resource = (ComponentResource) msg.getOldValue();
-					if(resource != null){
-						resource.eAdapters().remove(getResourcePathListenerAdapter());
-						removeChild(resource);
-					}
-					break;
-				case Notification.REMOVE_MANY:
-					List removedValues = (List) msg.getOldValue();
-					if (removedValues != null) {
-						for (int i = 0; i < removedValues.size(); i++) {
-							resource = (ComponentResource) removedValues.get(i);
-							resource.eAdapters().remove(getResourcePathListenerAdapter());
-							removeChild(resource);
-						}
-					}
-					break;
-				}
-			}
-		}
-	}
-	
-	private class ResourcePathListener extends AdapterImpl {
-		
-		public void setTarget(Notifier newTarget) {
-			if(newTarget instanceof ComponentResource) {				
-//				if(getTarget() != null) {
-//					if(getPathProvider().getPath((ComponentResource)getTarget()) != null)
-//						removeChild((ComponentResource)getTarget());
-//				}
-				ComponentResource resource = (ComponentResource) newTarget;
-				if(resource != null) {
-					if(getPathProvider().getPath(resource) != null)
-						addChild(resource);					
-				}		
-			}
-			super.setTarget(newTarget);
-		}
-		
-		public void notifyChanged(Notification msg) {
-			
-			if(msg.getFeature() == getPathProvider().getFeature()) {
-				ComponentResource resource = (ComponentResource) msg.getNotifier();
-				switch(msg.getEventType()) {
-				case Notification.SET:
-					
-					// remove the old value 
-					IPath oldPath = (IPath)msg.getOldValue();
-					if(oldPath!=null)
-						removeChild(oldPath, resource);
-					
-					IPath newPath = (IPath)msg.getNewValue();
-					if(newPath!=null)
-						addChild(resource);
-					break; 
-				}
-			} 
-		}
-	}
-
-	// TODO The source tree should be attached to the project modules root, not each module.
-	public static ResourceTreeRoot getSourceResourceTreeRoot(WorkbenchComponent aModule) {
-		ResourceTreeRootAdapter resourceTreeAdapter = (ResourceTreeRootAdapter) ExtendedEcoreUtil.getAdapter(aModule, aModule.eAdapters(), ResourceTreeRootAdapter.SOURCE_ADAPTER_TYPE);
-		if (resourceTreeAdapter != null)
-			return resourceTreeAdapter.getResourceTreeRoot();
-		resourceTreeAdapter = new ResourceTreeRootAdapter(ResourceTreeRootAdapter.SOURCE_TREE);
-		aModule.eAdapters().add(resourceTreeAdapter);
-		return resourceTreeAdapter.getResourceTreeRoot();
-	}
-
-	public static ResourceTreeRoot getDeployResourceTreeRoot(WorkbenchComponent aModule) {
-		ResourceTreeRootAdapter resourceTreeAdapter = (ResourceTreeRootAdapter) ExtendedEcoreUtil.getAdapter(aModule, aModule.eAdapters(), ResourceTreeRootAdapter.DEPLOY_ADAPTER_TYPE);
-		if (resourceTreeAdapter != null)
-			return resourceTreeAdapter.getResourceTreeRoot();
-		resourceTreeAdapter = new ResourceTreeRootAdapter(ResourceTreeRootAdapter.DEPLOY_TREE);
-		aModule.eAdapters().add(resourceTreeAdapter);
-		return resourceTreeAdapter.getResourceTreeRoot();
-	}
-	
-	private final WorkbenchComponent module;
-	private ResourceTreeResourceListener listener;
-	private ResourcePathListener pathListener;
-
-	public ResourceTreeRoot(WorkbenchComponent aModule, IPathProvider aPathProvider) {
-		super("/", null, aPathProvider); //$NON-NLS-1$
-		module = aModule; 	
-		init();
-	}
-
-	private void init() {
-		module.eAdapters().add(getResourceTreeListenerAdapter());
-		List moduleResources = module.getResources();
-		ComponentResource moduleResource = null;		 
-		
-		for (int i = 0; i < moduleResources.size(); i++) {
-			moduleResource = (ComponentResource) moduleResources.get(i);
-			addChild(moduleResource);
-		}
-		
-	}
-
-	protected ResourceTreeResourceListener getResourceTreeListenerAdapter() {
-		if(listener == null)
-			listener = new ResourceTreeResourceListener();
-		return listener;
-	}
-
-	protected ResourcePathListener getResourcePathListenerAdapter() {
-		if(pathListener == null)
-			pathListener = new ResourcePathListener();
-		return pathListener;
-	}
-
-	public ComponentResource[] findModuleResources(URI aURI) {
-		IPath path = new Path(aURI.toString());
-		try {
-			if (ModuleURIUtil.ensureValidFullyQualifiedPlatformURI(aURI, false))
-				path = path.removeFirstSegments(1); 
-		} catch (UnresolveableURIException uurie) {
-
-		}
-		return findModuleResources(path, ResourceTreeNode.CREATE_NONE);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeRootAdapter.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeRootAdapter.java
deleted file mode 100644
index 1e6dd7d..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/ResourceTreeRootAdapter.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-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.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.util.DeployedPathProvider;
-import org.eclipse.wst.common.componentcore.internal.util.IPathProvider;
-import org.eclipse.wst.common.componentcore.internal.util.SourcePathProvider;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ResourceTreeRootAdapter extends AdapterImpl implements Adapter {
-	
-	public static final Object SOURCE_ADAPTER_TYPE = new Object();
-	public static final Object DEPLOY_ADAPTER_TYPE = new Object();
-	public static final int SOURCE_TREE = 0;
-	public static final int DEPLOY_TREE = 1;
-	
-	private ResourceTreeRoot resourceTreeRoot;
-	private int type;
-	
-	public ResourceTreeRootAdapter(int aType) {
-		type = aType;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
-	 */
-	public void notifyChanged(Notification msg) {
-		super.notifyChanged(msg);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.common.notify.impl.AdapterImpl#isAdapterForType(java.lang.Object)
-	 */
-	public boolean isAdapterForType(Object anAdapterType) {
-		return (SOURCE_ADAPTER_TYPE == anAdapterType && type == SOURCE_TREE) || (DEPLOY_ADAPTER_TYPE == anAdapterType && type == DEPLOY_TREE);
-	}
-	
-	public ResourceTreeRoot getResourceTreeRoot() {		
-		if(resourceTreeRoot != null)
-			return resourceTreeRoot;
-		synchronized(this) {
-			if(resourceTreeRoot == null) {
-				IPathProvider pathProvider= (type == DEPLOY_TREE) ? DeployedPathProvider.INSTANCE : SourcePathProvider.INSTANCE;
-				resourceTreeRoot = new ResourceTreeRoot((WorkbenchComponent)getTarget(), pathProvider);
-			}
-		}
-		return resourceTreeRoot;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPEntityResolver.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPEntityResolver.java
deleted file mode 100644
index d7fe0b1..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPEntityResolver.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-
-// TODO: We need to port the strings used in the exceptions.
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class WTPEntityResolver implements EntityResolver {
-
-	/**
-	 * All the dtds that this resolver knows about; import strategies register these at startup
-	 */
-	protected static Map supportedDtDs;
-	
-	// static {
-	// registerDtD("http://www.w3.org/2001/xml.xsd", "xml.xsd"); //$NON-NLS-1$ //$NON-NLS-2$
-	// registerDtD("XMLSchema.dtd", "XMLSchema.dtd"); //$NON-NLS-1$ //$NON-NLS-2$
-	// registerDtD("datatypes.dtd", "datatypes.dtd"); //$NON-NLS-1$ //$NON-NLS-2$
-	// }
-	
-	public static WTPEntityResolver INSTANCE = new WTPEntityResolver();
-
-	/**
-	 * EjbXmlEntityResolver constructor comment.
-	 */
-	public WTPEntityResolver() {
-		super();
-	}
-
-	public static Map getSupportedDtDs() {
-		if (supportedDtDs == null)
-			supportedDtDs = new HashMap();
-		return supportedDtDs;
-	}
-
-	/**
-	 * Maps the system id for the dtd to a local id to be retrieved loaded from the class path
-	 */
-	public static void registerDtD(String systemID, String localID) {
-		// TODO Removing Registration mechanism until final location is found
-		/*
-		 * getSupportedDtDs().put(systemID, localID); getSupportedDtDs().put(getShortName(systemID),
-		 * localID);
-		 */
-	}
-
-	/**
-	 * for a system id with a URL that begins with "http://java.sun.com/", check to see if that is a
-	 * recognized dtd; if so, load the dtd from the class path using the value of the registered
-	 * dtd.
-	 * 
-	 * @return an Input source on a locally resolved dtd, or null of the systemid does not start
-	 *         with "http://java.sun.com/"
-	 * 
-	 * @throws SAXException
-	 *             with a nested NotSupportedException if the dtd is not recognized
-	 * @throws FileNotFoundException
-	 *             if the resolved dtd cannot be loaded from the classpath
-	 */
-	public org.xml.sax.InputSource resolveEntity(String publicId, String systemId) throws java.io.IOException, org.xml.sax.SAXException {
-		String localResourceName = null;
-		boolean isJavaSytemId = false;
-		if (shouldBeRegistered(systemId)) {
-			localResourceName = (String) getSupportedDtDs().get(systemId);
-			isJavaSytemId = true;
-		} else {
-			String shortName = getShortName(systemId);
-			localResourceName = (String) getSupportedDtDs().get(shortName);
-			if (localResourceName != null)
-				systemId = localResourceName;
-		}
-
-		if (localResourceName == null) {
-			if (isJavaSytemId) {
-				String message = "Type is unrecognized or not yet supported: PUBLIC_ID= {0};SYSTEM_ID={1}";
-				throw new org.xml.sax.SAXException(message);
-			}
-			return null;
-		}
-		ClassLoader loader = getClass().getClassLoader();
-		URL url = null;
-		if (loader == null) {
-			url = ClassLoader.getSystemResource(localResourceName);
-		} else {
-			url = loader.getResource(localResourceName);
-		}
-
-
-		if (url == null) {
-			String message = "Could not parse xml because the resolved resource \"{0}\" could not be found in classpath";
-			throw new java.io.FileNotFoundException(message);
-		}
-
-		InputSource result = new InputSource(url.toString());
-		result.setPublicId(publicId);
-		// force the encoding to be UTF8
-		result.setEncoding("UTF-8"); //$NON-NLS-1$
-
-		return result;
-	}
-
-	protected boolean shouldBeRegistered(String systemId) {
-		// TODO Removed Resolver function until file location is known...
-		return false;
-		/*
-		 * return systemId.startsWith(J2EEConstants.JAVA_SUN_COM_URL) ||
-		 * systemId.startsWith(J2EEConstants.WWW_W3_ORG_URL) ||
-		 * systemId.startsWith(J2EEConstants.WWW_IBM_COM_URL);
-		 */
-	}
-
-	/**
-	 * Returns the filename from the uri, or the segment after the last occurrence of a separator
-	 */
-	private static String getShortName(String uri) {
-		String tempURI = uri.replace('\\', '/');
-		while (tempURI.endsWith("/")) //$NON-NLS-1$
-			tempURI = tempURI.substring(0, tempURI.length() - 1);
-		int lastIndex = tempURI.lastIndexOf('/');
-		if (lastIndex == -1)
-			return uri;
-		return uri.substring(lastIndex + 1, tempURI.length());
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesInit.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesInit.java
deleted file mode 100644
index 4548d97..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesInit.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.internal.emf.resource.EMF2DOMRendererFactory;
-import org.eclipse.wst.common.internal.emf.utilities.DOMUtilities;
-import org.eclipse.wst.common.internal.emf.utilities.EncoderDecoderRegistry;
-import org.eclipse.wst.common.internal.emf.utilities.ExtendedEcoreUtil;
-import org.eclipse.wst.common.internal.emf.utilities.PasswordEncoderDecoder;
-
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class WTPModulesInit {
- 
-	private static boolean isInitialized = false;
-	
-	public static void init() {
-		init(true);
-	}
-	
-	public static void init(boolean toPreregisterPackages) {
-		if (!isInitialized) {
-			isInitialized = true;
-			setDefaultEncoderDecoder();
-			DOMUtilities.setDefaultEntityResolver(WTPEntityResolver.INSTANCE); 
-			initResourceFactories();
-			
-			//TODO: Remove this line after SED Adapter is restored.
-			EMF2DOMRendererFactory.INSTANCE.setValidating(false);
-		}
-		if(toPreregisterPackages) 
-			preregisterPackages();
-	}
-	
-	private static void initResourceFactories() {
-		WTPModulesResourceFactory.register();	
-	}
-
-	/** 
-	 * If the currently defaulted encoder is the initial pass thru encoder,
-	 * then register a Password encoder for security; otherwise if a more sophisticated
-	 * encoder is already registered, then do nothing.
-	 */
-	private static void setDefaultEncoderDecoder() {
-		EncoderDecoderRegistry reg = EncoderDecoderRegistry.getDefaultRegistry();
-		if (reg.getDefaultEncoderDecoder() == EncoderDecoderRegistry.INITIAL_DEFAULT_ENCODER) {
-			reg.setDefaultEncoderDecoder(new PasswordEncoderDecoder());
-		}
-	}
-	
-	private static void preregisterPackages() { 
-		ExtendedEcoreUtil.preRegisterPackage("moduleCore.xmi", new EPackage.Descriptor() { //$NON-NLS-1$
-			public EPackage getEPackage() {
-				return ComponentcorePackage.eINSTANCE;
-			}
-		});
-	}
-	
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResource.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResource.java
deleted file mode 100644
index 93c2084..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResource.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.wst.common.componentcore.internal.util.WTPModulesTranslator;
-import org.eclipse.wst.common.internal.emf.resource.Renderer;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorResource;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorResourceImpl;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class WTPModulesResource extends TranslatorResourceImpl implements TranslatorResource {
-	
-	public WTPModulesResource(URI aURI, Renderer aRenderer) {
-		super(aURI, aRenderer);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emf.resource.TranslatorResourceImpl#getDefaultPublicId()
-	 */
-	protected String getDefaultPublicId() { 
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emf.resource.TranslatorResourceImpl#getDefaultSystemId()
-	 */
-	protected String getDefaultSystemId() { 
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emf.resource.TranslatorResourceImpl#getDefaultVersionID()
-	 */
-	protected int getDefaultVersionID() { 
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emf.resource.TranslatorResource#getDoctype()
-	 */
-	public String getDoctype() { 
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emf.resource.TranslatorResource#getRootTranslator()
-	 */
-	public Translator getRootTranslator() {
-		return WTPModulesTranslator.INSTANCE;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResourceFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResourceFactory.java
deleted file mode 100644
index cf9c94a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPModulesResourceFactory.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.wst.common.internal.emf.resource.EMF2DOMRendererFactory;
-import org.eclipse.wst.common.internal.emf.resource.Renderer;
-import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorResource;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorResourceFactory;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class WTPModulesResourceFactory extends TranslatorResourceFactory {
-	
-	
-	public static final String WTP_MODULES_SHORT_NAME = ".component"; //$NON-NLS-1$
-	public static final URI WTP_MODULES_URI_OBJ = URI.createURI(".settings/" + WTP_MODULES_SHORT_NAME);
-
-	/**
-	 * Method registerDtds.
-	 */
-	public static void registerDtds() {
-		//do nothing
-	}
-
-	/**
-	 * Constructor for ApplicationClientResourceFactory.
-	 * @param aRendererFactory
-	 */
-	public WTPModulesResourceFactory(RendererFactory aRendererFactory) {
-		super(aRendererFactory);
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.emf2xml.RendererFactory.Listener#updateRendererFactory(com.ibm.etools.emf2xml.RendererFactory)
-	 */
-	public void updateRendererFactory(RendererFactory newRendererFactory) {
-		//Do Nothing...   not allowed to switch
-	}
-
-	/**
-	 * @see com.ibm.etools.emf2xml.impl.TranslatorResourceFactory#createResource(URI, Renderer)
-	 */
-	protected TranslatorResource createResource(URI uri, Renderer aRenderer) {
-		return new WTPModulesResource(uri, aRenderer);
-	}
-	
-	/**
-	 * Register myself with the Resource.Factory.Registry
-	 */
-	public static void registerWith(RendererFactory aRendererFactory) {
-		WTPResourceFactoryRegistry.INSTANCE.registerLastFileSegment(WTP_MODULES_SHORT_NAME, new WTPModulesResourceFactory(aRendererFactory));
-	}
-	/**
-	 * register using the default renderer factory.
-	 * @see #registerWith(RendererFactory)
-	 */
-	public static void register() {
-		registerWith(EMF2DOMRendererFactory.INSTANCE);
-	}
-
-	
-	public static Resource.Factory getRegisteredFactory() {
-		return WTPResourceFactoryRegistry.INSTANCE.getFactory(WTP_MODULES_URI_OBJ);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPResourceFactoryRegistry.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPResourceFactoryRegistry.java
deleted file mode 100644
index ce47a23..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WTPResourceFactoryRegistry.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.wst.common.internal.emf.resource.FileNameResourceFactoryRegistry;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class WTPResourceFactoryRegistry extends FileNameResourceFactoryRegistry {
-
-	public static final WTPResourceFactoryRegistry INSTANCE = new WTPResourceFactoryRegistry();
-	
-	public Resource.Factory delegatedGetFactory(URI uri) {
-		if (WTPResourceFactoryRegistry.INSTANCE == this)
-			return super.delegatedGetFactory(uri);
-		return WTPResourceFactoryRegistry.INSTANCE.getFactory(uri);	
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WorkbenchComponentImpl.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WorkbenchComponentImpl.java
deleted file mode 100644
index e3b5765..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/impl/WorkbenchComponentImpl.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: WorkbenchComponentImpl.java,v 1.7.2.2 2006/04/27 17:09:40 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.impl;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
-import org.eclipse.emf.ecore.util.EObjectResolvingEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentType;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-/**
- * <!-- begin-user-doc --> An implementation of the model object '<em><b>Workbench Module</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl#getName <em>Name</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl#getResources <em>Resources</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl#getComponentType <em>Component Type</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl#getReferencedComponents <em>Referenced Components</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl#getProperties <em>Properties</em>}</li>
- *   <li>{@link org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl#getMetadataResources <em>Metadata Resources</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class WorkbenchComponentImpl extends EObjectImpl implements WorkbenchComponent {
-	
-	
-	
-	public static class ESynchronizedAdapterList extends EAdapterList
-	  {
-		  
-		  public Object mutex;
-	
-	    public ESynchronizedAdapterList(Notifier notifier) {
-			super(notifier);
-			mutex = this;
-		}
-	
-		public boolean add(Object object)
-	    {
-	    synchronized (mutex) {return super.add(object);}
-	    }
-	
-	    public void add(int index, Object object)
-	    {
-	    synchronized (mutex) {super.add(index, object);}
-	    }
-	
-	    public boolean addAll(Collection collection)
-	    {
-	    synchronized (mutex) {return super.addAll(collection);}
-	    }
-	
-	    public boolean remove(Object object)
-	    {
-	    synchronized (mutex) {return super.remove(object);}
-	    }
-	
-	    public Object remove(int index)
-	    {
-	    synchronized (mutex) {return super.remove(index);}
-	    }
-	
-	    public boolean removeAll(Collection collection)
-	    {
-	    synchronized (mutex) {return super.removeAll(collection);}
-	    }
-	
-	    public void clear()
-	    {
-	     synchronized (mutex) {super.clear();};
-	    }
-	
-	
-	    public Object set(int index, Object object)
-	    {
-	    synchronized (mutex) {return super.set(index, object);}
-	    }
-	
-	    public void move(int newPosition, Object object)
-	    {
-	    synchronized (mutex) {super.move(newPosition, object);}
-	    }
-	
-	    public Object move(int newPosition, int oldPosition)
-	    {
-	    synchronized (mutex) {return super.move(newPosition, oldPosition);}
-	    }
-	  }
-
-	/**
-	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String NAME_EDEFAULT = "";
-
-	/**
-	 * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String name = NAME_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getResources() <em>Resources</em>}' containment reference list.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @see #getResources()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList resources = null;
-
-	/**
-	 * The cached value of the '{@link #getComponentType() <em>Component Type</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getComponentType()
-	 * @generated
-	 * @ordered
-	 */
-	protected ComponentType componentType = null;
-
-	/**
-	 * The cached value of the '{@link #getReferencedComponents() <em>Referenced Components</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getReferencedComponents()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList referencedComponents = null;
-
-	/**
-	 * The cached value of the '{@link #getProperties() <em>Properties</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getProperties()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList properties = null;
-
-	/**
-	 * The cached value of the '{@link #getMetadataResources() <em>Metadata Resources</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMetadataResources()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList metadataResources = null;
-
-	private final Map resourceIndexByDeployPath = new HashMap();
-	private final Map resourceIndexBySourcePath = new HashMap();
-
-	private boolean isIndexedByDeployPath;
-
-	private boolean isIndexedBySourcePath;
-
-	private static final ComponentResource[] NO_MODULE_RESOURCES = new ComponentResource[0];
-
-	private URI handle;
-	
-	private IPath defaultSourceRoot;
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected WorkbenchComponentImpl() {
-		super();
-	}
-	private IPath getFirstRootSource() {
-		
-		List res = getResources();
-		for (Iterator iter = res.iterator(); iter.hasNext();) {
-			ComponentResource element = (ComponentResource) iter.next();
-			if (element.getRuntimePath().equals(new Path("/")))
-				return element.getSourcePath();
-			
-		}	
-		return null;
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EClass eStaticClass() {
-		return ComponentcorePackage.eINSTANCE.getWorkbenchComponent();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setNameGen(String newName) {
-		String oldName = name;
-		name = newName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.WORKBENCH_COMPONENT__NAME, oldName, name));
-	}
-
-	public void setName(String newDeployedName) {
-		setNameGen(newDeployedName);
-		// TODO A more advanced adapter should be applied to keep the handle up to date.
-		if (eResource() != null) {
-			URI resourceURI = eResource().getURI();
-			String safeDeployedName = getName() != null ? getName() : ""; //$NON-NLS-1$
-			if (resourceURI != null && resourceURI.segmentCount() >= 2)
-				setHandle(computeHandle());
-		}
-	}
-	
-	protected void setHandle(URI aHandle) {
-		handle = aHandle;
-	}
-	
-	public URI getHandle() {
-		if(handle == null)
-			handle = computeHandle();
-		return handle;
-	}
-
-	private URI computeHandle() {
-		return URI.createURI(PlatformURLModuleConnection.MODULE_PROTOCOL + IPath.SEPARATOR + PlatformURLModuleConnection.RESOURCE_MODULE + IPath.SEPARATOR + computeProjectName() + IPath.SEPARATOR + getName());
-		
-	}
-
-	private String computeProjectName() {
-		IProject project = ProjectUtilities.getProject(this);
-		return (project!=null)?project.getName():"UNCONTAINED"; //$NON-NLS-1$
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getResources() {
-		if (resources == null) {
-			resources = new EObjectContainmentWithInverseEList(ComponentResource.class, this, ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES, ComponentcorePackage.COMPONENT_RESOURCE__COMPONENT);
-		}
-		return resources;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComponentType getComponentType() {
-		return componentType;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetComponentType(ComponentType newComponentType, NotificationChain msgs) {
-		ComponentType oldComponentType = componentType;
-		componentType = newComponentType;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE, oldComponentType, newComponentType);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setComponentType(ComponentType newComponentType) {
-		if (newComponentType != componentType) {
-			NotificationChain msgs = null;
-			if (componentType != null)
-				msgs = ((InternalEObject)componentType).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE, null, msgs);
-			if (newComponentType != null)
-				msgs = ((InternalEObject)newComponentType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE, null, msgs);
-			msgs = basicSetComponentType(newComponentType, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE, newComponentType, newComponentType));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getReferencedComponents() {
-		if (referencedComponents == null) {
-			referencedComponents = new EObjectContainmentEList(ReferencedComponent.class, this, ComponentcorePackage.WORKBENCH_COMPONENT__REFERENCED_COMPONENTS);
-		}
-		return referencedComponents;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getProperties() {
-		if (properties == null) {
-			properties = new EObjectResolvingEList(Property.class, this, ComponentcorePackage.WORKBENCH_COMPONENT__PROPERTIES);
-		}
-		return properties;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList getMetadataResources() {
-		if (metadataResources == null) {
-			metadataResources = new EDataTypeUniqueEList(IPath.class, this, ComponentcorePackage.WORKBENCH_COMPONENT__METADATA_RESOURCES);
-		}
-		return metadataResources;
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES:
-					return ((InternalEList)getResources()).basicAdd(otherEnd, msgs);
-				default:
-					return eDynamicInverseAdd(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		if (eContainer != null)
-			msgs = eBasicRemoveFromContainer(msgs);
-		return eBasicSetContainer(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, Class baseClass, NotificationChain msgs) {
-		if (featureID >= 0) {
-			switch (eDerivedStructuralFeatureID(featureID, baseClass)) {
-				case ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES:
-					return ((InternalEList)getResources()).basicRemove(otherEnd, msgs);
-				case ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE:
-					return basicSetComponentType(null, msgs);
-				case ComponentcorePackage.WORKBENCH_COMPONENT__REFERENCED_COMPONENTS:
-					return ((InternalEList)getReferencedComponents()).basicRemove(otherEnd, msgs);
-				default:
-					return eDynamicInverseRemove(otherEnd, featureID, baseClass, msgs);
-			}
-		}
-		return eBasicSetContainer(null, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public Object eGet(EStructuralFeature eFeature, boolean resolve) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.WORKBENCH_COMPONENT__NAME:
-				return getName();
-			case ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES:
-				return getResources();
-			case ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE:
-				return getComponentType();
-			case ComponentcorePackage.WORKBENCH_COMPONENT__REFERENCED_COMPONENTS:
-				return getReferencedComponents();
-			case ComponentcorePackage.WORKBENCH_COMPONENT__PROPERTIES:
-				return getProperties();
-			case ComponentcorePackage.WORKBENCH_COMPONENT__METADATA_RESOURCES:
-				return getMetadataResources();
-		}
-		return eDynamicGet(eFeature, resolve);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eSet(EStructuralFeature eFeature, Object newValue) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.WORKBENCH_COMPONENT__NAME:
-				setName((String)newValue);
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES:
-				getResources().clear();
-				getResources().addAll((Collection)newValue);
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE:
-				setComponentType((ComponentType)newValue);
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__REFERENCED_COMPONENTS:
-				getReferencedComponents().clear();
-				getReferencedComponents().addAll((Collection)newValue);
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__PROPERTIES:
-				getProperties().clear();
-				getProperties().addAll((Collection)newValue);
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__METADATA_RESOURCES:
-				getMetadataResources().clear();
-				getMetadataResources().addAll((Collection)newValue);
-				return;
-		}
-		eDynamicSet(eFeature, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void eUnset(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.WORKBENCH_COMPONENT__NAME:
-				setName(NAME_EDEFAULT);
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES:
-				getResources().clear();
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE:
-				setComponentType((ComponentType)null);
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__REFERENCED_COMPONENTS:
-				getReferencedComponents().clear();
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__PROPERTIES:
-				getProperties().clear();
-				return;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__METADATA_RESOURCES:
-				getMetadataResources().clear();
-				return;
-		}
-		eDynamicUnset(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean eIsSet(EStructuralFeature eFeature) {
-		switch (eDerivedStructuralFeatureID(eFeature)) {
-			case ComponentcorePackage.WORKBENCH_COMPONENT__NAME:
-				return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
-			case ComponentcorePackage.WORKBENCH_COMPONENT__RESOURCES:
-				return resources != null && !resources.isEmpty();
-			case ComponentcorePackage.WORKBENCH_COMPONENT__COMPONENT_TYPE:
-				return componentType != null;
-			case ComponentcorePackage.WORKBENCH_COMPONENT__REFERENCED_COMPONENTS:
-				return referencedComponents != null && !referencedComponents.isEmpty();
-			case ComponentcorePackage.WORKBENCH_COMPONENT__PROPERTIES:
-				return properties != null && !properties.isEmpty();
-			case ComponentcorePackage.WORKBENCH_COMPONENT__METADATA_RESOURCES:
-				return metadataResources != null && !metadataResources.isEmpty();
-		}
-		return eDynamicIsSet(eFeature);
-	}
-
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (name: ");
-		result.append(name);
-		result.append(", metadataResources: ");
-		result.append(metadataResources);
-		result.append(')');
-		return result.toString();
-	}
-
-	public ComponentResource[] findResourcesByRuntimePath(IPath aDeployPath) { 
-		ResourceTreeRoot resourceTreeRoot = ResourceTreeRoot.getDeployResourceTreeRoot(this);
-		return resourceTreeRoot.findModuleResources(aDeployPath, ResourceTreeNode.CREATE_NONE); 
-	}
-
-	public ComponentResource[] findResourcesBySourcePath(IPath aSourcePath, int resourceFlag) { 
-		ResourceTreeRoot resourceTreeRoot = ResourceTreeRoot.getSourceResourceTreeRoot(this);
-		return resourceTreeRoot.findModuleResources(aSourcePath, resourceFlag); 
-	}
-	public boolean exists(IPath aSourcePath, int resourceFlag) { 
-		ResourceTreeRoot resourceTreeRoot = ResourceTreeRoot.getSourceResourceTreeRoot(this);
-		return resourceTreeRoot.exists(aSourcePath, resourceFlag); 
-	}
-	public EList eAdapters()
-	  {
-	    if (eAdapters == null)
-	    {
-	      eAdapters =  new ESynchronizedAdapterList(this);
-	    }
-	    return eAdapters;
-	  }
-
-
-	public void eNotify(Notification notification) {
-		synchronized (eAdapters()) {
-			super.eNotify(notification);
-		}
-	}
-	
-	public IPath getDefaultSourceRoot() {
-		if (defaultSourceRoot == null)
-			defaultSourceRoot = getFirstRootSource();
-		return defaultSourceRoot;
-	}
-	
-	public void setDefaultSourceRoot(IPath defaultSourceRoot) {
-		this.defaultSourceRoot = defaultSourceRoot;
-	}
-  
-
-} // WorkbenchComponentImpl
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ArtifactEditOperationDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ArtifactEditOperationDataModelProvider.java
deleted file mode 100644
index 3ac5534..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ArtifactEditOperationDataModelProvider.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-public class ArtifactEditOperationDataModelProvider extends AbstractDataModelProvider implements IArtifactEditOperationDataModelProperties {
-
-	public ArtifactEditOperationDataModelProvider() {
-		super();
-	}
-
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(TYPE_ID);
-		propertyNames.add(PROJECT_NAME);
-		propertyNames.add(COMPONENT_NAME);
-		propertyNames.add(PROMPT_ON_SAVE);
-		propertyNames.add(TARGET_PROJECT);
-		propertyNames.add(TARGET_COMPONENT);
-		return propertyNames;
-	}
-
-	public IProject getTargetProject() {
-		String projectName = (String) model.getProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME);
-		if (projectName != null)
-			return ProjectUtilities.getProject(projectName);
-		return null;
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(PROMPT_ON_SAVE))
-			return Boolean.FALSE;
-		else if (propertyName.equals(TARGET_PROJECT))
-			return getTargetProject();
-		else if (propertyName.equals(TARGET_COMPONENT))
-			return getTargetComponent();
-		else if (propertyName.equals(COMPONENT_NAME))
-			return getStringProperty(PROJECT_NAME);
-		return super.getDefaultProperty(propertyName);
-	}
-
-	/**
-	 * @return
-	 */
-	public WorkbenchComponent getWorkbenchModule() {
-		StructureEdit moduleCore = null;
-		WorkbenchComponent module = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForRead(getTargetProject());
-			module = moduleCore.getComponent();
-		} finally {
-			if (null != moduleCore) {
-				moduleCore.dispose();
-			}
-		}
-		return module;
-	}
-
-	public ArtifactEdit getArtifactEditForRead() {
-		WorkbenchComponent module = getWorkbenchModule();
-		IProject proj = StructureEdit.getContainingProject(module);
-		return ArtifactEdit.getArtifactEditForRead(proj);
-	}
-
-	public IStatus validate(String propertyName) {
-		IStatus result = super.validate(propertyName);
-		if (result != null && !result.isOK())
-			return result;
-		else if (propertyName.equals(PROJECT_NAME))
-			return validateModuleName();
-		return result;
-	}
-
-	protected IStatus validateModuleName() {
-		String moduleName = getStringProperty(PROJECT_NAME);
-		if (moduleName == null || moduleName.length() == 0)
-			return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_NAME_EMPTY));
-		return WTPCommonPlugin.OK_STATUS;
-	}
-
-	public IVirtualComponent getTargetComponent() {
-		String moduleName = getStringProperty(COMPONENT_NAME);
-		if (moduleName != null && moduleName.length() > 0)
-			return ComponentCore.createComponent(getTargetProject());
-		return null;
-
-
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ArtifactEditProviderOperation.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ArtifactEditProviderOperation.java
deleted file mode 100644
index 77a320b..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ArtifactEditProviderOperation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.util.ArtifactEditRegistryReader;
-import org.eclipse.wst.common.componentcore.internal.util.IArtifactEditFactory;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext;
-
-public abstract class ArtifactEditProviderOperation extends AbstractDataModelOperation {
-	
-	protected ArtifactEdit artifactEdit;
-	protected EMFWorkbenchContext emfWorkbenchContext;
-//	private CommandStack commandStack;
-
-	public ArtifactEditProviderOperation() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-
-	public ArtifactEditProviderOperation(IDataModel model) {
-		super(model);
-	}
-	
-	protected final void initialize(IProgressMonitor monitor) {
-		emfWorkbenchContext = (EMFWorkbenchContext) WorkbenchResourceHelperBase.createEMFContext(getTargetProject(), null);
-		IVirtualComponent component = getTargetComponent(); 
-		artifactEdit = getArtifactEditForModule(component);
-		doInitialize(monitor);
-	}
-	
-	public IProject getTargetProject() {
-		String projectName = model.getStringProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME);
-		return ProjectUtilities.getProject(projectName);
-	}
-	
-	public IVirtualComponent getTargetComponent() {
-		return ComponentCore.createComponent(getTargetProject());
-	}
-	
-	private void doInitialize(IProgressMonitor monitor) {
-		//Default
-	}
-
-	protected ArtifactEdit getArtifactEditForModule(IVirtualComponent comp) {
-		ArtifactEditRegistryReader reader = ArtifactEditRegistryReader.instance();
-		IArtifactEditFactory factory = reader.getArtifactEdit(comp.getProject());
-		if (factory == null)
-			return null;
-		return factory.createArtifactEditForWrite(comp);
-	}
-	
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return null;
-	}
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return null;
-	}
-
-	public void dispose() {
-		if (artifactEdit!=null) {
-			artifactEdit.saveIfNecessary(new NullProgressMonitor());
-			artifactEdit.dispose();
-		}
-			
-		super.dispose();
-		
-	}
-
-	public final IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		try {
-			initialize(monitor);
-			return doExecute(monitor, info);
-		} finally {
-			dispose();
-		}
-	}
-	
-	public abstract IStatus doExecute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException;
-	
-	public ArtifactEdit getArtifactEdit(){
-		return artifactEdit;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ComponentCreationDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ComponentCreationDataModelProvider.java
deleted file mode 100644
index 47ae08e..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ComponentCreationDataModelProvider.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IComponentCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFlexibleProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonMessages;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * This dataModel is a common super class used for creation of WTP Components.
- * 
- * This class (and all its fields and methods) is likely to change during the WTP 1.0 milestones as
- * the new project structures are adopted. Use at your own risk.
- * 
- * @plannedfor WTP 1.0
- */
-public abstract class ComponentCreationDataModelProvider extends AbstractDataModelProvider implements IComponentCreationDataModelProperties {
-
-	// protected boolean isProjMultiComponents = false;
-
-	public void init() {
-		super.init();
-		// isProjMultiComponents =
-		// FlexibleJavaProjectPreferenceUtil.getMultipleModulesPerProjectProp();
-		// model.getBooleanProperty(SUPPORT_MULTIPLE_MODULES) =
-		// model.getBooleanProperty(SUPPORT_MULTIPLE_MODULES);
-		initProjectCreationModel();
-	}
-
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(PROJECT_NAME);
-		propertyNames.add(NESTED_PROJECT_CREATION_DM);
-		propertyNames.add(COMPONENT_NAME);
-		propertyNames.add(COMPONENT_NAME);
-		propertyNames.add(LOCATION);
-		propertyNames.add(COMPONENT_DEPLOY_NAME);
-		propertyNames.add(CREATE_DEFAULT_FILES);
-		propertyNames.add(COMPONENT);
-		return propertyNames;
-	}
-
-	public void propertyChanged(DataModelEvent event) {
-		if (event.getFlag() == DataModelEvent.VALUE_CHG) {
-			event.getDataModel();
-		}
-	}
-
-	public boolean propertySet(String propertyName, Object propertyValue) {
-		if (COMPONENT_NAME.equals(propertyName)) {
-			model.setProperty(COMPONENT_DEPLOY_NAME, propertyValue);
-			model.setProperty(PROJECT_NAME, propertyValue);
-		} else if (COMPONENT_DEPLOY_NAME.equals(propertyName)) {
-			model.setProperty(COMPONENT_DEPLOY_NAME, propertyValue);
-		} else if (COMPONENT.equals(propertyName)) {
-			throw new RuntimeException(propertyName + " should not be set.");
-		} else if (PROJECT_NAME.equals(propertyName)) {
-			// if(!FlexibleJavaProjectPreferenceUtil.getMultipleModulesPerProjectProp()){
-			// model.notifyPropertyChange(PROJECT_NAME, IDataModel.VALUE_CHG);
-			// set the property in nested FlexibleJavaProjectCreationDataModelProvider
-			IDataModel dm = model.getNestedModel(NESTED_PROJECT_CREATION_DM);
-			dm.setProperty(IFlexibleProjectCreationDataModelProperties.PROJECT_NAME, propertyValue);
-			return true;
-			// }
-		}
-		return true;
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(CREATE_DEFAULT_FILES)) {
-			return Boolean.TRUE;
-		} else if (propertyName.equals(COMPONENT)) {
-			String projectName = getStringProperty(PROJECT_NAME);
-			IProject project = ProjectUtilities.getProject(projectName);
-			return ComponentCore.createComponent(project);
-		}
-		return super.getDefaultProperty(propertyName);
-	}
-
-	public IStatus validate(String propertyName) {
-		if (propertyName.equals(COMPONENT_NAME)) {
-			IStatus status = OK_STATUS;
-			String moduleName = model.getStringProperty(COMPONENT_NAME);
-			if (status.isOK()) {
-				if (moduleName.indexOf("#") != -1 || moduleName.indexOf("/") != -1) { //$NON-NLS-1$
-					String errorMessage = WTPCommonPlugin.getResourceString(WTPCommonMessages.ERR_INVALID_CHARS); //$NON-NLS-1$
-					return WTPCommonPlugin.createErrorStatus(errorMessage);
-				} else if (moduleName == null || moduleName.equals("")) { //$NON-NLS-1$
-					String errorMessage = WTPCommonPlugin.getResourceString(WTPCommonMessages.ERR_EMPTY_MODULE_NAME);
-					return WTPCommonPlugin.createErrorStatus(errorMessage);
-				} else
-					return OK_STATUS;
-			} else
-				return status;
-		} else if (propertyName.equals(PROJECT_NAME)) {
-			IStatus status = OK_STATUS;
-
-				String projectName = model.getStringProperty(PROJECT_NAME);
-				if (projectName == null || projectName.length() == 0) {
-					String errorMessage = WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_NAME_EMPTY);
-					status = WTPCommonPlugin.createErrorStatus(errorMessage);
-				}
-				if (status.isOK()) {
-					status = validateProjectName(projectName);
-					if (status.isOK()) {
-						IProject proj = ProjectUtilities.getProject(projectName);
-						if (proj.exists()) {
-							String errorMessage = WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_ERROR);
-							status = WTPCommonPlugin.createErrorStatus(errorMessage);
-						}
-					}					
-				}
-
-			return status;
-		} else if (propertyName.equals(COMPONENT_DEPLOY_NAME)) {
-			return OK_STATUS;
-		} else if (propertyName.equals(CREATE_DEFAULT_FILES)) {
-			return OK_STATUS;
-		}
-		return OK_STATUS;
-	}
-
-	protected IStatus validateProjectName(String projectName) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validateName(projectName, IResource.PROJECT);
-		if (!status.isOK())
-			return status;
-
-		if (ProjectUtilities.getProject(projectName).exists())
-			return WTPCommonPlugin.createErrorStatus(WTPCommonPlugin.getResourceString(WTPCommonMessages.PROJECT_EXISTS_ERROR, new Object[]{projectName}));
-
-		if (projectName.indexOf("#") != -1) { //$NON-NLS-1$
-			// String errorMessage = J2EECreationResourceHandler.getString("InvalidCharsError");
-			// //$NON-NLS-1$
-			String errorMessage = "InvalidCharsError"; //$NON-NLS-1$
-			return WTPCommonPlugin.createErrorStatus(errorMessage);
-		}
-		return OK_STATUS;
-	}
-
-	// protected static String[] getServerVersions(String moduleID, IRuntimeType type) {
-	// List list = new ArrayList();
-	// if (type == null)
-	// return null;
-	// IModuleType[] moduleTypes = type.getModuleTypes();
-	// if (moduleTypes != null) {
-	// int size = moduleTypes.length;
-	// for (int i = 0; i < size; i++) {
-	// IModuleType moduleType = moduleTypes[i];
-	// if (matches(moduleType.getId(), moduleID)) {
-	// list.add(moduleType.getVersion());
-	// }
-	//
-	// }
-	// }
-	// String[] versions = null;
-	// if (!list.isEmpty()) {
-	// versions = new String[list.size()];
-	// list.toArray(versions);
-	// }
-	// return versions;
-	// }
-
-//	protected static boolean matches(String serverTypeID, String j2eeModuleID) {
-//
-//		if (serverTypeID.equals("j2ee")) {
-//			if (j2eeModuleID.equals(IModuleConstants.JST_WEB_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_EJB_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_EAR_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_APPCLIENT_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_CONNECTOR_MODULE)) {
-//				return true;
-//			}
-//		} else if (serverTypeID.equals("j2ee.*")) {
-//			if (j2eeModuleID.equals(IModuleConstants.JST_WEB_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_EJB_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_EAR_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_APPCLIENT_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_CONNECTOR_MODULE)) {
-//				return true;
-//			}
-//		} else if (serverTypeID.equals("j2ee.web")) {//$NON-NLS-1$
-//			if (j2eeModuleID.equals(IModuleConstants.JST_WEB_MODULE)) {
-//				return true;
-//			}
-//		} else if (serverTypeID.equals("j2ee.ejb")) {//$NON-NLS-1$
-//			if (j2eeModuleID.equals(IModuleConstants.JST_EJB_MODULE)) {
-//				return true;
-//			}
-//		} else if (serverTypeID.equals("j2ee.ear")) {//$NON-NLS-1$
-//			if (j2eeModuleID.equals(IModuleConstants.JST_EAR_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_APPCLIENT_MODULE) || j2eeModuleID.equals(IModuleConstants.JST_CONNECTOR_MODULE)) {
-//				return true;
-//			}
-//		}
-//		return false;
-//	}
-
-	// private static boolean matches(String a, String b) {
-	// if (a == null || b == null || "*".equals(a) || "*".equals(b) || a.startsWith(b) ||
-	// b.startsWith(a)) //$NON-NLS-1$ //$NON-NLS-2$
-	// return true;
-	// return false;
-	// }
-
-
-	protected String getComponentName() {
-		return model.getStringProperty(COMPONENT_NAME);
-	}
-
-	protected String getComponentDeployName() {
-		return model.getStringProperty(COMPONENT_DEPLOY_NAME);
-	}
-
-	protected abstract void initProjectCreationModel();
-
-	protected abstract EClass getComponentType();
-
-	protected abstract String getComponentExtension();
-
-	protected abstract List getProperties();
-
-	protected abstract Integer getDefaultComponentVersion();
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ComponentCreationOperation.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ComponentCreationOperation.java
deleted file mode 100644
index dc43f45..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ComponentCreationOperation.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IComponentCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFlexibleProjectCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-
-public abstract class ComponentCreationOperation extends AbstractDataModelOperation implements IComponentCreationDataModelProperties {
-
-    public ComponentCreationOperation(IDataModel model) {
-        super(model);
-    }
-
-    public IStatus execute(IProgressMonitor monitor, IAdaptable info) {
-        createProjectIfNeeded(monitor, info);
-		StructureEdit edit = null;
-        try {
-			edit = StructureEdit.getStructureEditForWrite(getProject());
-
-            createAndLinkJ2EEComponentsForSingleComponent();
-        }
-        catch (CoreException e) {
-            Logger.getLogger().log(e);
-        }
-		finally {
-			if (edit != null) {
-				edit.saveIfNecessary(monitor);
-				edit.dispose();
-			}
-			
-		}
-        
-        return OK_STATUS;
-    }
-
-    private void createProjectIfNeeded(IProgressMonitor monitor, IAdaptable info) {
-        Object dm = model.getNestedModel(NESTED_PROJECT_CREATION_DM);
-        if(dm == null) return;
-        String projName = ((IDataModel)dm).getStringProperty(IFlexibleProjectCreationDataModelProperties.PROJECT_NAME);
-           
-        IProject proj = ProjectUtilities.getProject(projName);
-        if(projName == null || projName.equals("") || proj.exists()) return;
-        IDataModelOperation op = ((IDataModel)dm).getDefaultOperation();
-        try {
-            op.execute(monitor, info);
-        } catch (ExecutionException e) {
-            e.printStackTrace();
-        }
-    }
-
-
-    protected abstract void createAndLinkJ2EEComponentsForMultipleComponents() throws CoreException;
-    
-    protected abstract void createAndLinkJ2EEComponentsForSingleComponent() throws CoreException;
-
-    protected String getComponentName() {
-        return model.getStringProperty(COMPONENT_NAME);
-    }
-
-    public String getComponentDeployName() {
-        return model.getStringProperty(COMPONENT_DEPLOY_NAME);
-    }
-
-    protected abstract String getVersion();
-
-    protected abstract List getProperties();
-
-	public IProject getProject() {
-	    String projName = model.getStringProperty(PROJECT_NAME);
-	    return ProjectUtilities.getProject(projName);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/CreateReferenceComponentsDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/CreateReferenceComponentsDataModelProvider.java
deleted file mode 100644
index 67429ee..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/CreateReferenceComponentsDataModelProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.util.ArrayList;
-import java.util.Set;
-
-import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-public class CreateReferenceComponentsDataModelProvider extends AbstractDataModelProvider implements ICreateReferenceComponentsDataModelProperties {
-
-	public CreateReferenceComponentsDataModelProvider() {
-		super();
-
-	}
-
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(SOURCE_COMPONENT);
-		propertyNames.add(TARGET_COMPONENT_LIST);
-		propertyNames.add(TARGET_COMPONENTS_DEPLOY_PATH);
-		return propertyNames;
-	}
-
-
-	public IDataModelOperation getDefaultOperation() {
-		return new CreateReferenceComponentsOp(model);
-	}
-
-	public Object getDefaultProperty(String propertyName) {
-		if (propertyName.equals(TARGET_COMPONENT_LIST))
-			return new ArrayList();
-		else if (propertyName.equals(TARGET_COMPONENTS_DEPLOY_PATH)){
-			return "/";
-		}
-		return super.getDefaultProperty(propertyName);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/CreateReferenceComponentsOp.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/CreateReferenceComponentsOp.java
deleted file mode 100644
index 51d23b1..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/CreateReferenceComponentsOp.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class CreateReferenceComponentsOp extends AbstractDataModelOperation {
-
-
-	public CreateReferenceComponentsOp(IDataModel model) {
-		super(model);
-	}
-	
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		addReferencedComponents(monitor);
-		addProjectReferences();
-		return OK_STATUS;
-	}
-	protected void addProjectReferences() {
-		
-		IVirtualComponent sourceComp = (IVirtualComponent) model.getProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT);
-		List modList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		List targetprojectList = new ArrayList();
-		for( int i=0; i< modList.size(); i++){
-			IVirtualComponent IVirtualComponent = (IVirtualComponent) modList.get(i);
-			IProject targetProject = IVirtualComponent.getProject();
-			targetprojectList.add(targetProject);
-		}
-		try {
-			ProjectUtilities.addReferenceProjects(sourceComp.getProject(),targetprojectList);
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-		
-	}
-	protected void addReferencedComponents(IProgressMonitor monitor) {
-		
-		IVirtualComponent sourceComp = (IVirtualComponent) model.getProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT);
-		List vlist = new ArrayList();		
-        List modList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		for (int i = 0; i < modList.size(); i++) {
-			IVirtualComponent comp = (IVirtualComponent) modList.get(i);
-			if (!srcComponentContainsReference(sourceComp, comp)) {
-				IVirtualReference ref = ComponentCore.createReference(sourceComp, comp);
-				String deployPath = model.getStringProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH);
-				if(deployPath != null && deployPath.length() > 0)
-					ref.setRuntimePath(new Path(deployPath));
-				vlist.add(ref);
-			}
-		}
-		
-		IVirtualReference[] refs = (IVirtualReference[]) vlist.toArray(new IVirtualReference[vlist.size()]);
-		sourceComp.addReferences(refs);
-	}
-
-	private boolean srcComponentContainsReference(IVirtualComponent sourceComp, IVirtualComponent comp) {
-		IVirtualReference[] existingReferences = sourceComp.getReferences();
-		for (int i = 0; i < existingReferences.length; i++) {
-			if( existingReferences[i].getReferencedComponent() != null ){
-				if(existingReferences[i].getReferencedComponent().getProject().equals(comp.getProject())){
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return null;
-	}
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetDataModelOperation.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetDataModelOperation.java
deleted file mode 100644
index 1558b11..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetDataModelOperation.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action.Type;
-
-public class FacetDataModelOperation extends AbstractDataModelOperation {
-
-	public FacetDataModelOperation(IDataModel model) {
-		super(model);
-	}
-	
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		IFacetedProject facetProj;
-		try {
-			facetProj = ProjectFacetsManager.create(model.getStringProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME), null, monitor);
-			Set actions = new HashSet();
-			actions.add(new IFacetedProject.Action((Type) model.getProperty(IFacetDataModelProperties.FACET_TYPE), (IProjectFacetVersion) model.getProperty(IFacetDataModelProperties.FACET_VERSION), model));
-			facetProj.modify(actions, monitor);
-		} catch (CoreException e) {
-			throw new ExecutionException(e.getMessage(), e);
-		}
-		return OK_STATUS;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetProjectCreationOperation.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetProjectCreationOperation.java
deleted file mode 100644
index 4ca483e..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FacetProjectCreationOperation.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.componentcore.datamodel.FacetInstallDataModelProvider;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.operations.IProjectCreationPropertiesNew;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject.Action;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-
-public class FacetProjectCreationOperation extends AbstractDataModelOperation {
-
-	protected boolean runtimeAdded = false;
-	
-	public FacetProjectCreationOperation() {
-		super();
-	}
-
-	public FacetProjectCreationOperation(IDataModel model) {
-		super(model);
-	}
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		try {
-			IFacetedProject facetProj = createProject(monitor);
-			Set existingFacets = facetProj.getProjectFacets();
-
-			Map dmMap = (Map) model.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-			Set actions = new HashSet();
-			IDataModel facetDM = null;
-			for (Iterator iterator = dmMap.values().iterator(); iterator.hasNext();) {
-				facetDM = (IDataModel) iterator.next();
-				if (facetDM.getBooleanProperty(IFacetDataModelProperties.SHOULD_EXECUTE)) {
-					String facetID = facetDM.getStringProperty(IFacetDataModelProperties.FACET_ID);
-					boolean shouldInstallFacet = true;
-					for (Iterator existingFacetsIterator = existingFacets.iterator(); shouldInstallFacet && existingFacetsIterator.hasNext();) {
-						IProjectFacetVersion version = (IProjectFacetVersion) existingFacetsIterator.next();
-						if (version.getProjectFacet().getId().equals(facetID)) {
-							shouldInstallFacet = false;
-						}
-					}
-					if (shouldInstallFacet) {
-						actions.add(facetDM.getProperty(IFacetDataModelProperties.FACET_ACTION));
-					}
-				}
-			}
-			if (!actions.isEmpty()) {
-				facetProj.modify(actions, monitor);
-			}
-			Set fixedFacets = new HashSet(), newFacetVersions = facetProj.getProjectFacets(), existingFixedFacets = facetProj.getFixedProjectFacets();
-			for (Iterator iter = newFacetVersions.iterator(); iter.hasNext();) {
-				IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
-				String facetID = facetVersion.getProjectFacet().getId();
-				boolean shouldInstallFacet = true;
-				for (Iterator existingFacetsIterator = existingFixedFacets.iterator(); shouldInstallFacet && existingFacetsIterator.hasNext();) {
-					IProjectFacet facet = (IProjectFacet) existingFacetsIterator.next();
-					if (facet.getId().equals(facetID)) {
-						shouldInstallFacet = false;
-					}
-				}
-				if (shouldInstallFacet) {
-					fixedFacets.add(facetVersion.getProjectFacet());
-				}
-			}
-			if (!fixedFacets.isEmpty()) {
-				facetProj.setFixedProjectFacets(fixedFacets);
-			}
-			if (runtimeAdded) {
-				IRuntime runtime = (IRuntime) model.getProperty(IFacetProjectCreationDataModelProperties.FACET_RUNTIME);
-				addDefaultFacets(facetProj,runtime.getDefaultFacets( fixedFacets ));
-			}
-
-		} catch (CoreException e) {
-			Logger.getLogger().logError(e);
-			throw new ExecutionException(e.getMessage(), e);
-		} catch (Exception e) {
-			Logger.getLogger().logError(e);
-		}
-		return OK_STATUS;
-	}
-
-	private void addDefaultFacets(IFacetedProject facetProj, Set defaultFacets) {
-		Set actions = new HashSet();
-		for (Iterator iter = defaultFacets.iterator(); iter.hasNext();) {
-			IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
-			if (!facetProj.hasProjectFacet(facetVersion.getProjectFacet())) {
-				IDataModel dm = DataModelFactory.createDataModel(new FacetInstallDataModelProvider());
-				dm.setProperty(IFacetDataModelProperties.FACET_ID, facetVersion.getProjectFacet().getId());
-				dm.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, facetProj.getProject().getName());
-				dm.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, facetVersion.getVersionString()); //$NON-NLS-1$
-				actions.add(new IFacetedProject.Action(Action.Type.INSTALL, facetVersion, dm));
-			}
-		}
-		
-		try {
-			if (!actions.isEmpty())
-				facetProj.modify(actions,null);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		
-	}
-	
-	public IFacetedProject createProject(IProgressMonitor monitor) throws CoreException {
-		IProject project = ProjectUtilities.getProject((String) model.getProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME));
-		IFacetedProject facetProj = null;
-		if (project.exists()) {
-			facetProj = ProjectFacetsManager.create(project, true, monitor);
-		} else {
-			String location = (String) model.getProperty(IProjectCreationPropertiesNew.PROJECT_LOCATION);
-			IPath locationPath = null == location ? null : new Path(location);
-			facetProj = ProjectFacetsManager.create(model.getStringProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME), locationPath, monitor);
-		}
-		IRuntime runtime = (IRuntime) model.getProperty(IFacetProjectCreationDataModelProperties.FACET_RUNTIME);
-		IRuntime existingRuntime = facetProj.getRuntime();
-		if (runtime != null && (existingRuntime == null || !runtime.equals(existingRuntime))) {
-			facetProj.setRuntime(runtime, null);
-			runtimeAdded = true;
-		}
-		return facetProj;
-	}
-
-	
-	private static void addDefaultFacetsInProject(IFacetedProject facetProj, Set defaultFacets) {
-		Set actions = new HashSet();
-		for (Iterator iter = defaultFacets.iterator(); iter.hasNext();) {
-			IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
-			if (!facetProj.hasProjectFacet(facetVersion.getProjectFacet())) {
-				IDataModel dm = DataModelFactory.createDataModel(new FacetInstallDataModelProvider());
-				dm.setProperty(IFacetDataModelProperties.FACET_ID, facetVersion.getProjectFacet().getId());
-				dm.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, facetProj.getProject().getName());
-				dm.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, facetVersion.getVersionString()); //$NON-NLS-1$
-				actions.add(new IFacetedProject.Action(Action.Type.INSTALL, facetVersion, dm));
-			}
-		}
-		
-		try {
-			if (!actions.isEmpty())
-				facetProj.modify(actions,null);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		
-	}
-	
-	public static void addDefaultFactets(IFacetedProject facetProj, IRuntime runtime) throws ExecutionException{
-	
-		Set fixedFacets = new HashSet(), newFacetVersions = facetProj.getProjectFacets(), existingFixedFacets = facetProj.getFixedProjectFacets();
-		for (Iterator iter = newFacetVersions.iterator(); iter.hasNext();) {
-			IProjectFacetVersion facetVersion = (IProjectFacetVersion) iter.next();
-			String facetID = facetVersion.getProjectFacet().getId();
-			boolean shouldInstallFacet = true;
-			for (Iterator existingFacetsIterator = existingFixedFacets.iterator(); shouldInstallFacet && existingFacetsIterator.hasNext();) {
-				IProjectFacet facet = (IProjectFacet) existingFacetsIterator.next();
-				if (facet.getId().equals(facetID)) {
-					shouldInstallFacet = false;
-				}
-			}
-			if (shouldInstallFacet) {
-				fixedFacets.add(facetVersion.getProjectFacet());
-			}
-		}
-		
-		try{
-			if (!fixedFacets.isEmpty()) {
-					facetProj.setFixedProjectFacets(fixedFacets);
-			}
-		
-			if (runtime != null ) {
-				addDefaultFacetsInProject(facetProj,runtime.getDefaultFacets( fixedFacets ));
-			}
-		}catch(CoreException e){
-			Logger.getLogger().logError(e);
-			throw new ExecutionException(e.getMessage(), e);			
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FlexibleProjectCreationOperation.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FlexibleProjectCreationOperation.java
deleted file mode 100644
index f4686bd..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/FlexibleProjectCreationOperation.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFlexibleProjectCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.ProjectComponents;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.internal.WTPProjectUtilities;
-
-public class FlexibleProjectCreationOperation extends AbstractDataModelOperation {
-
-    public FlexibleProjectCreationOperation(IDataModel model) {
-        super(model);
-        // TODO Auto-generated constructor stub
-    }
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-        try {
-			createProject(monitor);
-		    WTPProjectUtilities.addNatureToProjectLast(getProject(), IModuleConstants.MODULE_NATURE_ID);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (InvocationTargetException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-        createInitialWTPModulesFile();
-		return OK_STATUS;
-	}
-
-    private void createProject(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException, ExecutionException {
-        IDataModel projModel = model.getNestedModel(IFlexibleProjectCreationDataModelProperties.NESTED_MODEL_PROJECT_CREATION);
-        IDataModelOperation op = projModel.getDefaultOperation();
-        op.execute(monitor, null);
-    }
-    
-    private void createInitialWTPModulesFile() {
-    	StructureEdit moduleCore = null;
-		try {
-			IProject containingProject = getProject();
-			moduleCore = StructureEdit.getStructureEditForWrite(containingProject);
-			moduleCore.prepareProjectComponentsIfNecessary(); 
-			ProjectComponents projectModules = moduleCore.getComponentModelRoot();
-			moduleCore.saveIfNecessary(null); 
-		} finally {
-			if(moduleCore != null)
-				moduleCore.dispose();
-		}     
-    }
-    
-    protected IProject getProject() {
-        String name = model.getStringProperty(IFlexibleProjectCreationDataModelProperties.PROJECT_NAME);
-        if (name != null && name.length() > 0)
-            return ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-        return null;
-    }
-
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/IArtifactEditOperationDataModelProperties.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/IArtifactEditOperationDataModelProperties.java
deleted file mode 100644
index f3c3924..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/IArtifactEditOperationDataModelProperties.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-
-public interface IArtifactEditOperationDataModelProperties {
-
-	/**
-	 * Required
-	 */
-	public static final String TYPE_ID = "IArtifactEditOperationDataModelProperties.TYPE_ID"; //$NON-NLS-1$
-	
-	/**
-	 * Required
-	 */
-	public static final String PROJECT_NAME = "IArtifactEditOperationDataModelProperties.PROJECT_NAME"; //$NON-NLS-1$
-	/**
-	 * Required
-	 */
-	public static final String COMPONENT_NAME = "IArtifactEditOperationDataModelProperties.COMPONENT_NAME"; //$NON-NLS-1$
-	/**
-	 * Optional, should save with prompt...defaults to false
-	 */
-	public static final String PROMPT_ON_SAVE = "IArtifactEditOperationDataModelProperties.PROMPT_ON_SAVE"; //$NON-NLS-1$
-	
-	public static final String TARGET_PROJECT = "IArtifactEditOperationDataModelProperties.TARGET_PROJECT"; //$NON-NLS-1$
-	
-	public static final String TARGET_COMPONENT = "IArtifactEditOperationDataModelProperties.TARGET_COMPONENT"; //$NON-NLS-1$
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ProjectMigratorDataModelOperation.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ProjectMigratorDataModelOperation.java
deleted file mode 100644
index 4a5b167..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/ProjectMigratorDataModelOperation.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IProjectMigratorDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.IComponentProjectMigrator;
-import org.eclipse.wst.common.componentcore.internal.ProjectMigratorRegistry;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-
-public class ProjectMigratorDataModelOperation extends AbstractDataModelOperation {
-
-	public ProjectMigratorDataModelOperation(IDataModel model) {
-		super(model);
-	}
-	
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		IFacetedProject facetProj;
-		try {
-			IProject proj = ProjectUtilities.getProject(model.getStringProperty(IProjectMigratorDataModelProperties.PROJECT_NAME));
-			IComponentProjectMigrator[] migrators = ProjectMigratorRegistry.getInstance().getProjectMigrators();
-			for (int i = 0; i < migrators.length; i++) {
-				IComponentProjectMigrator migrator = migrators[i];
-				migrator.migrateProject(proj);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return OK_STATUS;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/RemoveReferenceComponentOperation.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/RemoveReferenceComponentOperation.java
deleted file mode 100644
index e5e12b4..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/RemoveReferenceComponentOperation.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class RemoveReferenceComponentOperation extends AbstractDataModelOperation {
-
-	public RemoveReferenceComponentOperation() {
-		super();
-	}
-
-	public RemoveReferenceComponentOperation(IDataModel model) {
-		super(model);
-	}
-
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		removeReferencedComponents(monitor);
-		return OK_STATUS;
-	}
-
-	protected void removeReferencedComponents(IProgressMonitor monitor) {
-		
-		IVirtualComponent sourceComp = (IVirtualComponent) model.getProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT);
-		if (!sourceComp.getProject().isAccessible()) return;
-		
-        List modList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-    
-		List targetprojectList = new ArrayList();
-
-		for (int i = 0; i < modList.size(); i++) {
-			IVirtualComponent comp = (IVirtualComponent) modList.get(i);
-			if (comp==null || sourceComp==null)
-				continue;
-			IVirtualReference ref = sourceComp.getReference(comp.getName());
-			if( ref != null && ref.getReferencedComponent() != null && ref.getReferencedComponent().isBinary()){
-				removeRefereneceInComponent(sourceComp, ref);
-			}else{
-				if (Arrays.asList(comp.getReferencingComponents()).contains(sourceComp)) {
-					
-					String deployPath = model.getStringProperty( ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH );
-					IPath path = new Path( deployPath );
-					
-					if( ref != null && ref.getRuntimePath() != null && path != null && ref.getRuntimePath().equals( path )){
-						removeRefereneceInComponent(sourceComp,sourceComp.getReference(comp.getName()));
-						IProject targetProject = comp.getProject();
-						targetprojectList.add(targetProject);
-					}
-				}					
-			}
-		}
-		
-		try {
-			ProjectUtilities.removeReferenceProjects(sourceComp.getProject(),targetprojectList);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}		
-		
-	}
-
-	protected void removeRefereneceInComponent(IVirtualComponent component, IVirtualReference reference) {
-		((VirtualComponent)component.getComponent()).removeReference(reference);
-	}
-
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return null;
-	}
-
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/RemoveReferenceComponentsDataModelProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/RemoveReferenceComponentsDataModelProvider.java
deleted file mode 100644
index d48dbe0..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/operation/RemoveReferenceComponentsDataModelProvider.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.operation;
-
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
-
-public class RemoveReferenceComponentsDataModelProvider extends CreateReferenceComponentsDataModelProvider {
-
-	public RemoveReferenceComponentsDataModelProvider() {
-		super();
-	}
-
-	public IDataModelOperation getDefaultOperation() {
-		return new RemoveReferenceComponentOperation(model);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualArchiveComponent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualArchiveComponent.java
deleted file mode 100644
index 059d129..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualArchiveComponent.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.resources;
-
-
-import java.io.File;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-
-public class VirtualArchiveComponent implements IVirtualComponent, IAdaptable {
-
-	public static final Class ADAPTER_TYPE = VirtualArchiveComponent.class;
-	public static final String LIBARCHIVETYPE = "lib";
-	public static final String VARARCHIVETYPE = "var";
-
-	private static final IVirtualReference[] NO_REFERENCES = new VirtualReference[0];
-	private static final IVirtualComponent[] NO_COMPONENTS = new VirtualComponent[0];
-	private static final IResource[] NO_RESOURCES = null;
-	private static final IVirtualResource[] NO_VIRTUAL_RESOURCES = null;
-	private static final Properties NO_PROPERTIES = new Properties();
-	private static final IPath[] NO_PATHS = new Path[0];
-
-	private IPath runtimePath;
-	private IProject componentProject;
-	private IVirtualFolder rootFolder;
-	private int flag = 1;
-	private String archiveLocation;
-
-
-	private IPath archivePath;
-	private String archiveType;
-
-
-
-	public VirtualArchiveComponent(IProject aComponentProject,String archiveLocation, IPath aRuntimePath) {
-		componentProject = aComponentProject;
-		runtimePath = aRuntimePath;
-
-		String archivePathString = archiveLocation.substring(4, archiveLocation.length());
-		archiveType	= archiveLocation.substring(0, archiveLocation.length() - archivePathString.length() -1);
-		archivePath = new Path(archivePathString);
-	}
-
-	public IVirtualComponent getComponent() {
-		return this;
-	}
-
-	public String getName() {
-		return this.archiveType + IPath.SEPARATOR + this.archivePath.toString();
-	}
-	
-	public String getDeployedName() {
-		return getName();
-	}
-
-	public void setComponentTypeId(String aComponentTypeId) {
-		return;
-	}
-
-	public int getType() {
-		return IVirtualResource.COMPONENT;
-	}
-
-	public boolean isBinary() {
-		boolean ret = (flag & BINARY) == 1 ? true : false;
-		return ret;
-	}
-
-	public IPath[] getMetaResources() {
-		return NO_PATHS;
-	}
-
-	public void setMetaResources(IPath[] theMetaResourcePaths) {
-
-	}
-
-	public void delete(int updateFlags, IProgressMonitor monitor) throws CoreException {
-
-	}
-
-	public String getFileExtension() {
-		return archivePath.getFileExtension();
-	}
-
-	public IPath getWorkspaceRelativePath() {
-		IFile aFile = ResourcesPlugin.getWorkspace().getRoot().getFile(archivePath);
-		if (aFile.exists())
-			return aFile.getFullPath();
-		return null;
-	}
-
-	public IPath getProjectRelativePath() {
-		IFile aFile = ResourcesPlugin.getWorkspace().getRoot().getFile(getWorkspaceRelativePath());
-		if (aFile.exists())
-			return aFile.getProjectRelativePath();
-		return null;
-	}
-
-	public IProject getProject() {
-		return componentProject;
-	}
-
-	public IPath getRuntimePath() {
-		return ROOT;
-	}
-
-	public boolean isAccessible() {
-		return true;
-	}
-
-	public Properties getMetaProperties() {
-		return NO_PROPERTIES;
-	}
-
-	public IVirtualResource[] getResources(String aResourceType) {
-		return NO_VIRTUAL_RESOURCES;
-	}
-
-	public void create(int updateFlags, IProgressMonitor aMonitor) throws CoreException {
-
-	}
-
-	public IVirtualReference[] getReferences() {
-		return NO_REFERENCES;
-	}
-
-	public void setReferences(IVirtualReference[] theReferences) {
-		// no op
-	}
-	
-	public void addReferences(IVirtualReference[] references) {
-		// no op
-	}
-
-	public IVirtualReference getReference(String aComponentName) {
-		return null;
-	}
-
-	public boolean exists() {
-		return false;
-	}
-
-	public IVirtualFolder getRootFolder() {
-		return null;
-	}
-
-	public IVirtualComponent[] getReferencingComponents() {
-		return NO_COMPONENTS;
-	}
-
-
-	public Object getAdapter(Class adapterType) {
-		return Platform.getAdapterManager().getAdapter(this, adapterType);
-	}
-
-	public String getArchiveType() {
-		return archiveType;
-	}
-
-	public boolean equals(Object anOther) {
-		if (anOther instanceof VirtualArchiveComponent) {
-			VirtualArchiveComponent otherComponent = (VirtualArchiveComponent) anOther;
-			return getProject().equals(otherComponent.getProject()) && getName().equals(otherComponent.getName());
-		}
-		return false;
-	}
-
-	public void setMetaProperty(String name, String value) {
-
-	}
-
-	public void setMetaProperties(Properties properties) {
-
-	}
-	public IFile getUnderlyingWorkbenchFile() {
-		if (getWorkspaceRelativePath()==null)
-			return null;
-		return ResourcesPlugin.getWorkspace().getRoot().getFile(getWorkspaceRelativePath());
-	}
-
-	public File getUnderlyingDiskFile() {
-		String osPath = "";
-		if (getArchiveType().equals(VirtualArchiveComponent.VARARCHIVETYPE)) {
-			IPath resolvedpath = (IPath) getAdapter(VirtualArchiveComponent.ADAPTER_TYPE);
-			osPath = resolvedpath.toOSString();
-		} else {
-			String fileString = null;
-			try {
-				String name = "[" + getProject().getFullPath() + "]:" + getName();
-				fileString = ModuleURIUtil.getArchiveName(URI.createURI(name));
-			} catch (UnresolveableURIException e) {
-				Logger.getLogger().logError(e);
-			}
-			IPath path = new Path(fileString);
-			osPath = path.toOSString();
-		}
-		File diskFile = new File(osPath);
-		return diskFile;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java
deleted file mode 100644
index a986059..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualComponent.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.resources;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.ComponentcoreFactory;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.DependencyType;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphManager;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-
-public class VirtualComponent implements IVirtualComponent {
-	IPath			runtimePath;
-	IProject	componentProject;
-	IVirtualFolder	rootFolder;
-	String componentTypeId;
-	private int flag = 0;
-	
-
-	public VirtualComponent(IProject aProject, IPath aRuntimePath) {
-		componentProject = aProject;
-		runtimePath = aRuntimePath;
-		rootFolder = ComponentCore.createFolder(componentProject, new Path("/")); //$NON-NLS-1$
-	}
-	
-	public IVirtualComponent getComponent() {
-		return this;
-	}
-	
-	public String getName() {
-		return getProject().getName();
-	}
-	
-	public String getDeployedName() {
-		StructureEdit core = null;
-		IProject project = getProject();
-		try {
-			if (project != null && getName() != null) {
-				core = StructureEdit.getStructureEditForRead(project);
-				if(core != null && core.getComponent() != null){
-					WorkbenchComponent component = core.getComponent();
-					if (component.getName()!=null && component.getName().length()>0)
-						return component.getName();
-				}
-			}
-		} finally {
-			if(core != null)
-				core.dispose();
-		}
-		return getProject().getName();
-	}
-	
-	public boolean exists() { 
-		StructureEdit core = null;
-		IProject project = getProject();
-		try {
-			if (project != null && getName() != null) {
-				core = StructureEdit.getStructureEditForRead(project);
-				if(core == null){
-					return false;
-				}
-				WorkbenchComponent component = core.getComponent(); 
-				return component != null;
-			}
-		} finally {
-			if(core != null)
-				core.dispose();
-		}
-		return false;
-	}
-	
-//	public String getComponentTypeId() {
-//		if (null == componentTypeId) {
-//			StructureEdit core = null;
-//			try {
-//				if (getProject() == null || getName() == null)
-//					return null;
-//				core = StructureEdit.getStructureEditForRead(getProject());
-//				if (core == null)
-//					return null;
-//				WorkbenchComponent component = core.getComponent();
-//				ComponentType cType = component == null ? null : component.getComponentType();
-//				componentTypeId = cType == null ? null : cType.getComponentTypeId();
-//			} finally {
-//				if (core != null)
-//					core.dispose();
-//			}
-//		}
-//		return componentTypeId;
-//	}
-
-//	public void setComponentTypeId(String aComponentTypeId) {
-//
-//		StructureEdit core = null;
-//		try {
-//			core = StructureEdit.getStructureEditForWrite(getProject());
-//			WorkbenchComponent component = core.getComponent(); 
-//			ComponentType cType = component.getComponentType();
-//			if(cType == null) {
-//				cType = ComponentcorePackage.eINSTANCE.getComponentcoreFactory().createComponentType();
-//				component.setComponentType(cType);
-//			}
-//			cType.setComponentTypeId(aComponentTypeId);
-//		} finally {
-//			if(core != null) {
-//				core.saveIfNecessary(null);
-//				core.dispose();
-//			}
-//		}
-//	}
-
-	public Properties getMetaProperties() {
-        StructureEdit core = null;
-        Properties props = new Properties();
-        try {
-            core = StructureEdit.getStructureEditForRead(getProject());
-            if (core == null)
-            	return props;
-            WorkbenchComponent component = core.getComponent(); 
-            if (component == null) return props;
-            List propList = component.getProperties();
-            if(propList != null) {
-                for (int i = 0; i < propList.size(); i++) {
-                    props.setProperty(((Property)propList.get(i)).getName(), ((Property)propList.get(i)).getValue());
-                }
-            }
-            return props; 
-        } finally {
-            if(core != null)
-                core.dispose();
-        }
-	}
-
-	public void setMetaProperties(Properties properties) {
-        StructureEdit core = null;
-        try {
-            core = StructureEdit.getStructureEditForWrite(getProject());
-            WorkbenchComponent component = core.getComponent(); 
-            
-            List propList = component.getProperties();
-			if (properties != null && !properties.isEmpty()) {
-		        for(Enumeration itr = properties.keys(); itr.hasMoreElements();) {
-		            final String key = (String) itr.nextElement();
-		            final Property prop = ComponentcoreFactory.eINSTANCE.createProperty();
-		            prop.setName(key);
-		            prop.setValue(properties.getProperty(key));
-		            // Remove existing property first
-		            for (int i=0; i<propList.size(); i++) {
-		            	Property existing = (Property) propList.get(i);
-		            	if (existing.getName().equals(key)) {
-		            		propList.remove(existing);
-		            		break;
-		            	}
-		            }
-		            // Add new property
-		            propList.add(prop);
-		         }
-			} 
-        } finally {
-            if(core != null){
-            	core.saveIfNecessary(null);
-                core.dispose();
-            }
-        }
-	}
-	
-	public void setMetaProperty(String key, String value) {
-        StructureEdit core = null;
-        try {
-            core = StructureEdit.getStructureEditForWrite(getProject());
-            WorkbenchComponent component = core.getComponent();
-            //Remove existing property first
-            List properties = component.getProperties();
-            for (int i=0; i<properties.size(); i++) {
-            	Property existing = (Property) properties.get(i);
-            	if (existing.getName().equals(key)) {
-            		properties.remove(existing);
-            		break;
-            	}
-            }
-        	//Set new property
-            final Property prop = ComponentcoreFactory.eINSTANCE.createProperty();
-			prop.setName(key);
-			prop.setValue(value);
-			component.getProperties().add(prop);
-            
-        } finally {
-            if(core != null){
-            	core.saveIfNecessary(null);
-                core.dispose();
-            }
-        }
-	}
-	
-	public IPath[] getMetaResources() {
-		StructureEdit moduleCore = null;
-		List metaResources = new ArrayList();
-		try {
-			moduleCore = StructureEdit.getStructureEditForRead(getProject());
-			WorkbenchComponent component = moduleCore.getComponent();
-			if (component != null)
-				metaResources.addAll(component.getMetadataResources());
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.dispose();
-			}
-		}
-		return (IPath[]) metaResources.toArray(new IPath[metaResources.size()]);
-	}
-
-	public void setMetaResources(IPath[] theMetaResourcePaths) {
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = moduleCore.getComponent();
-			if (component != null) {
-				for (int i=0; i<theMetaResourcePaths.length; i++) {
-					if (!component.getMetadataResources().contains(theMetaResourcePaths[i]))
-						component.getMetadataResources().add(theMetaResourcePaths[i]);
-				}
-			}
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(null);
-				moduleCore.dispose();
-			}
-		}
-	}
-	
-	public int getType() {
-		return IVirtualResource.COMPONENT;
-	}
-	
-
-	public boolean isBinary(){
-		boolean ret =  (flag & BINARY) == 1  ? true :false;
-		return ret;		
-	}	
-
-	public void create(int updateFlags, IProgressMonitor aMonitor)
-	throws CoreException {
-
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = moduleCore
-					.getComponent();
-			if (component == null)
-				component = moduleCore
-						.createWorkbenchModule(getProject().getName());
-				
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(null);
-				moduleCore.dispose();
-			}
-		}
-	}	
-
-	public IVirtualReference[] getReferences() { 
-		StructureEdit core = null;
-		List references = new ArrayList();
-		try {
-			core = StructureEdit.getStructureEditForRead(getProject());
-			if (core!=null && core.getComponent()!=null) {
-				WorkbenchComponent component = core.getComponent();
-				if (component!=null) {
-					List referencedComponents = component.getReferencedComponents();
-					for (Iterator iter = referencedComponents.iterator(); iter.hasNext();) {
-						ReferencedComponent referencedComponent = (ReferencedComponent) iter.next();
-						if (referencedComponent==null) 
-							continue;
-						IVirtualReference vReference = StructureEdit.createVirtualReference(this, referencedComponent);
-						if (vReference != null)
-							references.add(vReference); 
-					}
-				}
-			}
-			return (IVirtualReference[]) references.toArray(new IVirtualReference[references.size()]);
-		} finally {
-			if(core != null)
-				core.dispose();
-		}		
-	}
-
-	public void addReferences(IVirtualReference[] references) {
-		if (references==null || references.length==0)
-			return;
-		StructureEdit core = null;
-		try {
-			core = StructureEdit.getStructureEditForWrite(getProject());
-			if (core == null)
-				return;
-			WorkbenchComponent component = core.getComponent();
-			ReferencedComponent referencedComponent = null;
-			ComponentcoreFactory factory = ComponentcorePackage.eINSTANCE.getComponentcoreFactory();
-			for (int i=0; i<references.length; i++) {
-				if (references[i] == null)
-					continue;
-				referencedComponent = factory.createReferencedComponent();				
-				referencedComponent.setDependencyType(DependencyType.get(references[i].getDependencyType()));
-				referencedComponent.setRuntimePath(references[i].getRuntimePath());
-
-				IVirtualComponent comp = references[i].getReferencedComponent();
-				if(comp!=null && !comp.isBinary())
-					referencedComponent.setHandle(ModuleURIUtil.fullyQualifyURI(comp.getProject()));
-				else if (comp!=null)
-					referencedComponent.setHandle(ModuleURIUtil.archiveComponentfullyQualifyURI(comp.getName()));
-				if (component != null)
-					component.getReferencedComponents().add(referencedComponent);
-			}
-		} finally {
-			if(core != null) {
-				core.saveIfNecessary(null);
-				core.dispose();
-			}
-		}	
-	}
-	
-	public void setReferences(IVirtualReference[] references) { 
-		StructureEdit core = null;
-		try {
-			core = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = core.getComponent();
-			ReferencedComponent referencedComponent = null;
-			  
-			component.getReferencedComponents().clear();
-			ComponentcoreFactory factory = ComponentcorePackage.eINSTANCE.getComponentcoreFactory();
-			for (int i=0; i<references.length; i++) {
-				referencedComponent = factory.createReferencedComponent();				
-				referencedComponent.setDependencyType(DependencyType.get(references[i].getDependencyType()));
-				referencedComponent.setRuntimePath(references[i].getRuntimePath());
-
-				IVirtualComponent comp = references[i].getReferencedComponent();
-				if( !comp.isBinary())
-					referencedComponent.setHandle(ModuleURIUtil.fullyQualifyURI(references[i].getReferencedComponent().getProject()));
-				else
-					referencedComponent.setHandle(ModuleURIUtil.archiveComponentfullyQualifyURI(references[i].getReferencedComponent().getName()));
-				
-				component.getReferencedComponents().add(referencedComponent);
-			}
-			 
-		} finally {
-			if(core != null) {
-				core.saveIfNecessary(null);
-				core.dispose();
-			}
-		}	
-	}
-
-	
-	public boolean equals(Object anOther) { 
-		if(anOther instanceof IVirtualComponent) {
-			IVirtualComponent otherComponent = (IVirtualComponent) anOther;
-			return getProject()!=null && getProject().equals(otherComponent.getProject()) && getName().equals(otherComponent.getName());
-		}
-		return false;
-	}
-
-	public IVirtualReference getReference(String aComponentName) {
-		IVirtualReference[] refs = getReferences();
-		for (int i = 0; i < refs.length; i++) {
-			IVirtualReference reference = refs[i];
-			if( reference.getReferencedComponent() != null ){
-				if (reference.getReferencedComponent().getName().equals(aComponentName))
-					return reference;
-			}
-		}
-		return null;
-	}
-	
-	public Object getAdapter(Class adapterType) {
-		return Platform.getAdapterManager().getAdapter(this, adapterType);
-	}
-
-	public IVirtualFolder getRootFolder() {
-		return rootFolder;
-	}
-
-	public IProject getProject() {
-		return componentProject;
-	}
-	
-	/**
-	 * Return all components which have a reference to the passed in target component.
-	 * 
-	 * @param target
-	 * @return array of components
-	 */
-	public IVirtualComponent[] getReferencingComponents() {
-		IProject[] handles =  DependencyGraphManager.getInstance().getDependencyGraph().getReferencingComponents(getProject());
-		IVirtualComponent[] result = new IVirtualComponent[handles.length];
-		for (int i=0; i<handles.length; i++)
-			result[i] = ComponentCore.createComponent(handles[i]);
-		return result;
-	}
-	
-	/**
-	 * Remove the associated ReferencedComponent for the virtual reference from the workbench component 
-	 * associated with this virtual component
-	 * 
-	 * @param aReference
-	 */
-	public void removeReference(IVirtualReference aReference) {
-		StructureEdit core = null;
-		try {
-			core = StructureEdit.getStructureEditForWrite(getProject());
-			if (core == null || aReference == null)
-				return;
-			WorkbenchComponent component = core.getComponent();
-			ReferencedComponent refComponent = getWorkbenchReferencedComponent(aReference, component);
-			if (component != null && refComponent != null)
-				component.getReferencedComponents().remove(refComponent);
-		} finally {
-			if(core != null) {
-				core.saveIfNecessary(null);
-				core.dispose();
-			}
-		}	
-	}
-	
-	/**
-	 * Return the associated structure edit ReferencedComponent object for the given IVirtualReference based on the handle
-	 * and module URI.
-	 * 
-	 * @param aReference
-	 * @param core
-	 * @return ReferencedComponent
-	 */
-	protected ReferencedComponent getWorkbenchReferencedComponent(IVirtualReference aReference, WorkbenchComponent component) {
-		if (aReference == null || aReference.getReferencedComponent() == null || component == null)
-			return null;
-		List referencedComponents = component.getReferencedComponents();
-		for (int i=0; i<referencedComponents.size(); i++) {
-			ReferencedComponent ref = (ReferencedComponent) referencedComponents.get(i);
-			if (!aReference.getReferencedComponent().isBinary()) {
-				if (ref.getHandle().equals(ModuleURIUtil.fullyQualifyURI(aReference.getReferencedComponent().getProject())))
-					return ref;	
-			} 
-			else {
-				if (ref.getHandle().equals(ModuleURIUtil.archiveComponentfullyQualifyURI(aReference.getReferencedComponent().getName())))
-					return ref;
-			}	
-		}
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualContainer.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualContainer.java
deleted file mode 100644
index e3c376d..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualContainer.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.resources;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeNode;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeRoot;
-import org.eclipse.wst.common.componentcore.resources.IVirtualContainer;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-public abstract class VirtualContainer extends VirtualResource implements IVirtualContainer {
-
-
-	public VirtualContainer(IProject aComponentProject, IPath aRuntimePath) {
-		super(aComponentProject, aRuntimePath);
-	}
-
-	// TODO WTP:Implement this method
-	public boolean exists(IPath path) {
-		throw new UnsupportedOperationException("Method not supported"); //$NON-NLS-1$
-
-	}
-
-	/**
-	 * @see IContainer#findMember(java.lang.String)
-	 */
-	public IVirtualResource findMember(String aChildName) {
-		return findMember(new Path(aChildName), 0);
-	}
-
-	/**
-	 * @see IContainer#findMember(java.lang.String, boolean)
-	 */
-	public IVirtualResource findMember(String aChildName, int searchFlags) {
-		return findMember(new Path(aChildName), searchFlags);
-	}
-
-	/**
-	 * @see IContainer#findMember(org.eclipse.core.runtime.IPath)
-	 */
-	public IVirtualResource findMember(IPath aChildPath) {
-		return findMember(aChildPath, 0);
-	}
-
-	public IVirtualResource findMember(IPath aPath, int theSearchFlags) {
-
-		StructureEdit structureEdit = null;
-		try {
-
-			structureEdit = StructureEdit.getStructureEditForRead(getProject());
-			WorkbenchComponent component = structureEdit.getComponent();
-			ResourceTreeRoot root = ResourceTreeRoot.getDeployResourceTreeRoot(component);
-			ComponentResource[] resources = root.findModuleResources(getRuntimePath().append(aPath), ResourceTreeNode.CREATE_NONE);
-
-			for (int i=0; i<resources.length; i++) {
-				// return the resources corresponding to the root, not any of the children if its a folder
-				if (resources[i].getRuntimePath().equals(getRuntimePath().append(aPath))) {
-					IResource platformResource = getProject().findMember(resources[i].getSourcePath()); 
-					if(platformResource == null)
-						platformResource = ResourcesPlugin.getWorkspace().getRoot().findMember(resources[i].getSourcePath()); 
-					if (platformResource != null) {
-						switch (platformResource.getType()) {
-						case IResource.FOLDER:
-						case IResource.PROJECT:
-							return new VirtualFolder(getProject(), getRuntimePath().append(aPath));
-						case IResource.FILE:
-							return new VirtualFile(getProject(), getRuntimePath().append(aPath));
-						}
-					}
-				}
-			}
-		} finally {
-			if (structureEdit != null)
-				structureEdit.dispose();
-		}
-		return null;
-	}
-
-	/**
-	 * @see IContainer#getFile(org.eclipse.core.runtime.IPath)
-	 */
-	public IVirtualFile getFile(IPath aPath) {
-		return new VirtualFile(getProject(), getRuntimePath().append(aPath));
-	}
-
-	/**
-	 * @see IContainer#getFolder(org.eclipse.core.runtime.IPath)
-	 */
-	public IVirtualFolder getFolder(IPath aPath) {
-		return new VirtualFolder(getProject(), getRuntimePath().append(aPath));
-	}
-
-	/**
-	 * @see IFolder#getFile(java.lang.String)
-	 */
-	public IVirtualFile getFile(String name) {
-		return new VirtualFile(getProject(), getRuntimePath().append(name));
-	}
-
-	/**
-	 * @see IFolder#getFolder(java.lang.String)
-	 */
-	public IVirtualFolder getFolder(String name) {
-		return new VirtualFolder(getProject(), getRuntimePath().append(name));
-	}
-
-	/**
-	 * @see IContainer#members()
-	 */
-	public IVirtualResource[] members() throws CoreException {
-		return members(IResource.NONE);
-	}
-
-	/**
-	 * @see IContainer#members(boolean)
-	 */
-	public IVirtualResource[] members(boolean includePhantoms) throws CoreException {
-		return members(includePhantoms ? IGNORE_EXCLUSIONS : IResource.NONE);
-	}
-
-	/**
-	 * @see IContainer#members(int)
-	 */
-	public IVirtualResource[] members(int memberFlags) throws CoreException {
-		List virtualResources = new ArrayList(); // result
-		Set allNames = new HashSet();
-		// Ignore all meta data paths in the virtual container resource set
-		IPath[] metaPaths = getComponent().getMetaResources();
-		for (int i=0; i<metaPaths.length; i++) {
-			String localName = getLocalName(metaPaths[i]);
-			if (localName != null)
-				allNames.add(localName);
-		}
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForRead(getProject());
-			WorkbenchComponent wbComponent = moduleCore.getComponent();
-			if (wbComponent != null) {
-				ResourceTreeRoot root = ResourceTreeRoot.getDeployResourceTreeRoot(wbComponent);
-				ComponentResource[] componentResources = root.findModuleResources(getRuntimePath(), ResourceTreeNode.CREATE_NONE);
-				//componentResources = orderResourcesByFolder(componentResources);
-
-				for (int componentResourceIndex = 0; componentResourceIndex < componentResources.length; componentResourceIndex++) {
-					IPath fullRuntimePath = componentResources[componentResourceIndex].getRuntimePath();
-					// exact match
-					if (fullRuntimePath.equals(getRuntimePath())) {
-						
-						IResource realResource = getProject().findMember(componentResources[componentResourceIndex].getSourcePath());
-						if ((realResource != null) && (realResource.getType() == IResource.FOLDER || realResource.getType() == IResource.PROJECT)) {
-							IContainer realContainer = (IContainer) realResource;
-							IResource[] realChildResources = realContainer.members(memberFlags);
-							for (int realResourceIndex = 0; realResourceIndex < realChildResources.length; realResourceIndex++) {
-								IResource child = realChildResources[realResourceIndex];
-								String localName = child.getName();
-								if (allNames.add(localName)) {
-									IPath newRuntimePath = getRuntimePath().append(localName);
-									if (child instanceof IFile) {
-										virtualResources.add(new VirtualFile(getProject(), newRuntimePath, (IFile) child));
-									} else {
-										virtualResources.add(new VirtualFolder(getProject(), newRuntimePath));
-									}
-								}
-							}
-						}
-						// An IResource.FILE would be an error condition (as this is a container)
-
-					} else { // fuzzy match
-						String localName = getLocalName(fullRuntimePath);
-						if (localName != null && allNames.add(localName)) {
-							IResource realResource = StructureEdit.getEclipseResource(componentResources[componentResourceIndex]);
-							if (realResource != null) {
-								IPath newRuntimePath = getRuntimePath().append(localName);
-								if (fullRuntimePath.segmentCount() > getRuntimePath().segmentCount() + 1) {	// not a direct child
-									virtualResources.add(new VirtualFolder(getProject(), newRuntimePath));
-								} else {
-									if (realResource instanceof IFile) {
-										virtualResources.add(new VirtualFile(getProject(), newRuntimePath, (IFile) realResource));
-									} else {
-										virtualResources.add(new VirtualFolder(getProject(), newRuntimePath));
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		} catch (Exception e) {
-			if (virtualResources == null)
-				return new IVirtualResource[0];
-		} finally {
-			if (moduleCore != null)
-				moduleCore.dispose();
-		}
-		return (IVirtualResource[]) virtualResources.toArray(new IVirtualResource[virtualResources.size()]);
-	}
-
-	/**
-	 * Local name within context of this virtual container. 
-	 */
-	private String getLocalName(IPath path) {
-		if (!getRuntimePath().isPrefixOf(path)) return null;
-		return path.segment(getRuntimePath().segmentCount());
-	}
-
-	public IVirtualFile[] findDeletedMembersWithHistory(int depth, IProgressMonitor monitor) throws CoreException {
-		throw new UnsupportedOperationException("Method not supported"); //$NON-NLS-1$
-		// return null;
-	}
-
-	/**
-	 * @see IFolder#createLink(org.eclipse.core.runtime.IPath, int,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void createLink(IPath aProjectRelativeLocation, int updateFlags, IProgressMonitor monitor) throws CoreException {
-
-		StructureEdit moduleCore = null;
-		try {
-			IContainer resource = null;
-			if (aProjectRelativeLocation.isRoot() || aProjectRelativeLocation.isEmpty()) {
-				resource = getProject();
-			} else {
-				resource = getProject().getFolder(aProjectRelativeLocation);
-			}
-
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = moduleCore.getComponent();
-
-			ResourceTreeRoot root = ResourceTreeRoot.getDeployResourceTreeRoot(component);
-			ComponentResource[] resources = root.findModuleResources(getRuntimePath(), ResourceTreeNode.CREATE_NONE);
-
-			if (resources.length == 0) {
-				ComponentResource componentResource = moduleCore.createWorkbenchModuleResource(resource);
-				componentResource.setRuntimePath(getRuntimePath());
-				component.getResources().add(componentResource);
-			} else {
-				boolean foundMapping = false;
-				for (int resourceIndx = 0; resourceIndx < resources.length && !foundMapping; resourceIndx++) {
-					if (aProjectRelativeLocation.makeAbsolute().equals(resources[resourceIndx].getSourcePath()))
-						foundMapping = true;
-				}
-				if (!foundMapping) {
-					ComponentResource componentResource = moduleCore.createWorkbenchModuleResource(resource);
-					componentResource.setRuntimePath(getRuntimePath());
-					component.getResources().add(componentResource);
-				}
-			}
-			createResource(resource, updateFlags, monitor);
-
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(monitor);
-				moduleCore.dispose();
-			}
-		}
-	}
-
-	public int getType() {
-		return IVirtualResource.COMPONENT;
-	}
-
-	public IResource getUnderlyingResource() {
-		return null;
-	}
-
-	public IResource[] getUnderlyingResources() {
-		return NO_RESOURCES;
-	}
-
-	protected void doDeleteMetaModel(int updateFlags, IProgressMonitor monitor) {
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = moduleCore.getComponent();
-			moduleCore.getComponentModelRoot().getComponents().remove(component);
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(monitor);
-				moduleCore.dispose();
-			}
-		}
-	}
-
-	protected void doDeleteRealResources(int updateFlags, IProgressMonitor monitor) throws CoreException {
-		throw new UnsupportedOperationException("Method not supported"); //$NON-NLS-1$
-	}
-
-	public IVirtualResource[] getResources(String aResourceType) {
-		StructureEdit core = null;
-		try {
-			core = StructureEdit.getStructureEditForRead(getProject());
-			WorkbenchComponent component = core.getComponent();
-			List currentResources = component.getResources();
-			List foundResources = new ArrayList();
-
-			if (aResourceType != null) {
-				for (Iterator iter = currentResources.iterator(); iter.hasNext();) {
-					ComponentResource resource = (ComponentResource) iter.next();
-					if (aResourceType.equals(resource.getResourceType())) {
-						IVirtualResource vres = createVirtualResource(resource);
-						if (vres != null)
-							foundResources.add(vres);
-					}
-				}
-			}
-			return (IVirtualResource[]) foundResources.toArray(new IVirtualResource[foundResources.size()]);
-		} finally {
-			if (core != null)
-				core.dispose();
-		}
-	}
-
-	private IVirtualResource createVirtualResource(ComponentResource aComponentResource) {
-		IResource resource = StructureEdit.getEclipseResource(aComponentResource);
-		switch (resource.getType()) {
-			case IResource.FILE :
-				return ComponentCore.createFile(getProject(), aComponentResource.getRuntimePath());
-			case IResource.FOLDER :
-				return ComponentCore.createFolder(getProject(), aComponentResource.getRuntimePath());
-		}
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualFile.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualFile.java
deleted file mode 100644
index 57480a2..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualFile.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.resources;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeNode;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeRoot;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-public class VirtualFile extends VirtualResource implements IVirtualFile {
-
-	private IFile underlyingFile;
-
-	public VirtualFile(IProject aComponentProject, IPath aRuntimePath) {
-		super(aComponentProject, aRuntimePath); 
-	}
-
-	public VirtualFile(IProject aComponentProject, IPath aRuntimePath, IFile underlyingFile) {
-		super(aComponentProject, aRuntimePath);
-		this.underlyingFile = underlyingFile; 
-	}
-
-	/**
-	 * @see IFolder#createLink(org.eclipse.core.runtime.IPath, int,
-	 *      org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void createLink(IPath aProjectRelativeLocation, int updateFlags, IProgressMonitor monitor) throws CoreException {
-
-		StructureEdit moduleCore = null;
-		try {
-			IFile resource = getProject().getFile(aProjectRelativeLocation);
-
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = moduleCore.getComponent();
-			
-			ResourceTreeRoot root = ResourceTreeRoot.getDeployResourceTreeRoot(component);
-			ComponentResource[] resources = root.findModuleResources(getRuntimePath(), ResourceTreeNode.CREATE_NONE);
-
-			if(resources.length == 0) {
-				ComponentResource componentResource = moduleCore.createWorkbenchModuleResource(resource);
-				componentResource.setRuntimePath(getRuntimePath());
-				component.getResources().add(componentResource);
-			} else { 
-				boolean foundMapping = false;
-				for (int resourceIndx = 0; resourceIndx < resources.length && !foundMapping; resourceIndx++) {
-					if(aProjectRelativeLocation.equals(resources[resourceIndx].getSourcePath()))
-						foundMapping = true;
-				}
-				if(!foundMapping) {
-					ComponentResource componentResource = moduleCore.createWorkbenchModuleResource(resource);
-					componentResource.setRuntimePath(getRuntimePath());
-					component.getResources().add(componentResource);					
-				}
-			} 
-
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(monitor);
-				moduleCore.dispose();
-			}
-		}
-	} 
- 
-	public int getType() {
-		return IVirtualResource.FILE;
-	}
-	
-	public IResource getUnderlyingResource() {
-		return getUnderlyingFile();
-	}
-	
-	public IResource[] getUnderlyingResources() {
-		return getUnderlyingFiles();
-	}
-	
-	public IFile getUnderlyingFile() {
-		if (underlyingFile == null) {
-			underlyingFile = getProject().getFile(getProjectRelativePath());
-		}
-		return underlyingFile;
-	}
-
-	public IFile[] getUnderlyingFiles() {
-		IPath[] paths = getProjectRelativePaths();
-		List result = new ArrayList();
-		for (int i=0; i<paths.length; i++) {
-			IFile file = getProject().getFile(paths[i]);
-			if (file!=null && file.exists() && !result.contains(file))
-				result.add(file);
-		}
-		return (IFile[]) result.toArray(new IFile[result.size()]);
-	}
-
-	protected void doDeleteMetaModel(int updateFlags,IProgressMonitor monitor) {
-		//Default
-	}	
-	
-	protected void doDeleteRealResources(int updateFlags, IProgressMonitor monitor) throws CoreException {
-		//Default
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualFolder.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualFolder.java
deleted file mode 100644
index b3fa912..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualFolder.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.resources;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-public class VirtualFolder extends VirtualContainer implements IVirtualFolder { 
-
-
-	/**
-	 * p> Creates an unassigned mapping contained by the component identified by aComponentHandle
-	 * with a runtime path of aRuntimePath.
-	 * </p>
-	 * 
-	 * @param aComponentHandle
-	 * @param aRuntimePath
-	 */
-	public VirtualFolder(IProject aComponentProject, IPath aRuntimePath) {
-		super(aComponentProject, aRuntimePath);
-	}
- 
-	// TODO WTP:Implement this method
-	public void create(int updateFlags, IProgressMonitor monitor) throws CoreException {
-
-		IVirtualComponent container = ComponentCore.createComponent(getProject()); 
-		if( !container.getRootFolder().getProjectRelativePath().isRoot()){
-			IFolder realFolder = getProject().getFolder(container.getRootFolder().getProjectRelativePath()); 
-			IFolder newFolder = realFolder.getFolder(getRuntimePath()); 
-			createResource(newFolder, updateFlags, monitor);  
-		}
-		else {
-			IFolder newFolder = getProject().getFolder(getRuntimePath()); 
-			createResource(newFolder, updateFlags, monitor); 
-		}
-	} 
-
-	// TODO WTP:Implement this method
-	public boolean exists(IPath path) {
-		throw new UnsupportedOperationException("Method not supported"); //$NON-NLS-1$
-		// return false;
-	}
-
- 
-	public int getType() {
-		return IVirtualResource.FOLDER;
-	} 
-	
-	public IResource getUnderlyingResource() {
-		return getUnderlyingFolder();
-	}
-	
-	public IResource[] getUnderlyingResources() {
-		return getUnderlyingFolders();
-	}
-
-	public IContainer getUnderlyingFolder() { 
-		IPath path = getProjectRelativePath();
-		if( !path.isRoot() )
-			return getProject().getFolder(getProjectRelativePath());
-		return getProject();
-	}
-	
-	public IContainer[] getUnderlyingFolders() {
-		IPath[] paths = getProjectRelativePaths();
-		List result = new ArrayList();
-		for (int i=0; i<paths.length; i++) {
-			if( !paths[i].isRoot() ){
-				IContainer folder = getProject().getFolder(paths[i]);
-				if (folder!=null && folder.exists() && !result.contains(folder))
-					result.add(folder);
-			} else 
-				result.add(getProject());
-		}
-		return (IContainer[]) result.toArray(new IContainer[result.size()]);
-	}
-
-	protected void doDeleteMetaModel(int updateFlags, IProgressMonitor monitor) {
-
-		// only handles explicit mappings
-		StructureEdit moduleCore = null;
-		try { 
-			IPath runtimePath = getRuntimePath();
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = moduleCore.getComponent();
-			ComponentResource[] resources = component.findResourcesByRuntimePath(runtimePath);
-			for (int i = 0; i < resources.length; i++) {
-				if(runtimePath.equals(resources[i].getRuntimePath())) 
-					component.getResources().remove(resources[i]);								
-			}
-			
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(null);
-				moduleCore.dispose();
-			}
-		}
-	}	
-	
-	protected void doDeleteRealResources(int updateFlags, IProgressMonitor monitor) throws CoreException {
-
-		// only handles explicit mappings
-		StructureEdit moduleCore = null;
-		try {
-			IPath runtimePath = getRuntimePath();
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = moduleCore.getComponent();
-			ComponentResource[] resources = component.findResourcesByRuntimePath(runtimePath);
-			IResource realResource;
-			for (int i = 0; i < resources.length; i++) {
-				if(runtimePath.equals(resources[i].getRuntimePath())) {
-					realResource = StructureEdit.getEclipseResource(resources[i]);
-					if(realResource != null && realResource.getType() == getType())
-						realResource.delete(updateFlags, monitor);
-				}
-					
-			}
-			
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(null);
-				moduleCore.dispose();
-			}
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualReference.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualReference.java
deleted file mode 100644
index 9b49be6..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualReference.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.resources;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.DependencyType;
-import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-
-public class VirtualReference implements IVirtualReference {
-	
-	private IVirtualComponent referencedComponent;
-	private IVirtualComponent enclosingComponent;
-	private IPath runtimePath;
-	private int dependencyType;
-
-	public VirtualReference() {
-		
-	} 
-	
-	public VirtualReference(IVirtualComponent anEnclosingComponent, IVirtualComponent aReferencedComponent) {
-		this(anEnclosingComponent, aReferencedComponent, new Path(String.valueOf(IPath.SEPARATOR)), DEPENDENCY_TYPE_USES); 
-	}
-	
-	public VirtualReference(IVirtualComponent anEnclosingComponent, IVirtualComponent aReferencedComponent, IPath aRuntimePath) {
-		this(anEnclosingComponent, aReferencedComponent, aRuntimePath, DEPENDENCY_TYPE_USES);
-	}
-
-	public VirtualReference(IVirtualComponent anEnclosingComponent, IVirtualComponent aReferencedComponent, IPath aRuntimePath, int aDependencyType) {
-		enclosingComponent = anEnclosingComponent;
-		referencedComponent = aReferencedComponent;
-		runtimePath = aRuntimePath;
-		dependencyType = aDependencyType;
-	}
-
-	public void create(int updateFlags, IProgressMonitor aMonitor) { 
-		StructureEdit core = null;
-		try {
-			core = StructureEdit.getStructureEditForWrite(enclosingComponent.getProject());
-			WorkbenchComponent component = core.getComponent();
-			List referencedComponents = component.getReferencedComponents();
-			ReferencedComponent refComp = ComponentcorePackage.eINSTANCE.getComponentcoreFactory().createReferencedComponent();
-			if( !referencedComponent.isBinary())
-				refComp.setHandle(ModuleURIUtil.fullyQualifyURI(referencedComponent.getProject()));
-			else
-				refComp.setHandle(ModuleURIUtil.archiveComponentfullyQualifyURI(referencedComponent.getName())); 
-			refComp.setRuntimePath(runtimePath);
-			refComp.setDependencyType(DependencyType.get(dependencyType));
-			if(!referencedComponents.contains(refComp)){
-				referencedComponents.add(refComp);
-			}
-		}
-		finally{
-			if(null != core){
-				core.saveIfNecessary(aMonitor);
-				core.dispose();
-			}
-		}
-	}
-
-	public void setRuntimePath(IPath aRuntimePath) { 
-		runtimePath = aRuntimePath;
-	}
-
-	public IPath getRuntimePath() { 
-		return runtimePath;
-	}
-
-	public void setDependencyType(int aDependencyType) {
-		dependencyType = aDependencyType;
-	}
-
-	public int getDependencyType() { 
-		return dependencyType;
-	}
-
-	public boolean exists() { 
-		return false;
-	}
-
-	public IVirtualComponent getEnclosingComponent() { 
-		return enclosingComponent;
-	}
-
-	public IVirtualComponent getReferencedComponent() { 
-		return referencedComponent;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualResource.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualResource.java
deleted file mode 100644
index b5bbbfe..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/resources/VirtualResource.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.resources;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeNode;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeRoot;
-import org.eclipse.wst.common.componentcore.internal.impl.WorkbenchComponentImpl;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualContainer;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-
-public abstract class VirtualResource implements IVirtualResource {
-
-	protected static final IResource[] NO_RESOURCES = null;
-	private final IProject componentProject;
-	private final IPath runtimePath;
-	private int hashCode;
-	private String toString;
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	private IVirtualComponent component;
-	private String resourceType;
-
-
-	protected VirtualResource(IProject aComponentProject, IPath aRuntimePath) {
-		componentProject = aComponentProject;
-		runtimePath = aRuntimePath;
-	}
-
-	public void delete(int updateFlags, IProgressMonitor monitor) throws CoreException {
-
-		if ((updateFlags & IVirtualResource.IGNORE_UNDERLYING_RESOURCE) == 0) {
-			doDeleteRealResources(updateFlags, monitor);
-		}
-
-		doDeleteMetaModel(updateFlags, monitor);
-	}
-
-	protected void doDeleteMetaModel(int updateFlags, IProgressMonitor monitor) {
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent aComponent = moduleCore.getComponent();
-			ComponentResource[] resources = aComponent.findResourcesByRuntimePath(getRuntimePath());
-			aComponent.getResources().removeAll(Arrays.asList(resources));
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(monitor);
-				moduleCore.dispose();
-			}
-		}
-	}
-
-
-	protected abstract void doDeleteRealResources(int updateFlags, IProgressMonitor monitor) throws CoreException;
-
-	public boolean exists() {
-		// verify all underlying resources exist for the virtual resource to exist
-		IResource[] resources = getUnderlyingResources();
-		if (resources==null || resources.length==0)
-			return false;
-		for (int i=0; i<resources.length; i++) {
-			if (resources[i]==null || !resources[i].exists())
-				return false;
-		}
-		return true;
-	}
-
-	public String getFileExtension() {
-		String name = getName();
-		int dot = name.lastIndexOf('.');
-		if (dot == -1)
-			return null;
-		if (dot == name.length() - 1)
-			return EMPTY_STRING;
-		return name.substring(dot + 1);
-	}
-
-	public IPath getWorkspaceRelativePath() {
-		return getProject().getFullPath().append(getProjectRelativePath());
-	}
-
-	public IPath getRuntimePath() {
-		return runtimePath;
-	}
-
-	public IPath[] getProjectRelativePaths() {
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForRead(getProject());
-			if (moduleCore !=null) {
-				WorkbenchComponent aComponent = moduleCore.getComponent();
-				if (aComponent != null) {
-					ResourceTreeRoot root = ResourceTreeRoot.getDeployResourceTreeRoot(aComponent);
-					// still need some sort of loop here to search subpieces of the runtime path.
-					ComponentResource[] componentResources = null;
-	
-					if (root != null) {
-						IPath[] estimatedPaths = null;
-						IPath searchPath = null;
-						do {
-							searchPath = (searchPath == null) ? getRuntimePath() : searchPath.removeLastSegments(1);
-							componentResources = root.findModuleResources(searchPath, ResourceTreeNode.CREATE_NONE);
-							estimatedPaths = findBestMatches(componentResources);
-						} while (estimatedPaths.length==0 && canSearchContinue(componentResources, searchPath));
-						if (estimatedPaths==null || estimatedPaths.length==0)
-							return new IPath[] {getRuntimePath()};
-						return estimatedPaths;
-					}
-				}
-			}
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.dispose();
-			}
-		}
-		return new IPath[] {getRuntimePath()};
-	}
-
-	public IPath getProjectRelativePath() {
-		StructureEdit moduleCore = null;
-		if (getRuntimePath().equals(new Path("/"))) {
-			try {
-				moduleCore = StructureEdit.getStructureEditForRead(getProject());
-				if (moduleCore != null) {
-					WorkbenchComponent aComponent = moduleCore.getComponent();
-					if (aComponent != null) {
-						if (((WorkbenchComponentImpl) aComponent).getDefaultSourceRoot() != null)
-							return ((WorkbenchComponentImpl) aComponent).getDefaultSourceRoot();
-					}
-				}
-			} finally {
-				if (moduleCore != null) {
-					moduleCore.dispose();
-				}
-			}
-		}
-		return getProjectRelativePaths()[0];
-	}
-	
-	private boolean canSearchContinue(ComponentResource[] componentResources, IPath searchPath) {
-		return (searchPath.segmentCount() > 0);
-	}
-
-	private IPath[] findBestMatches(ComponentResource[] theComponentResources) {
-		List result = new ArrayList();
-		int currentMatchLength = 0;
-		int bestMatchLength = -1;
-		IPath estimatedPath = null;
-		IPath currentPath = null;
-		final IPath aRuntimePath = getRuntimePath();
-		for (int i = 0; i < theComponentResources.length; i++) {
-			currentPath = theComponentResources[i].getRuntimePath();
-			if (currentPath.isPrefixOf(aRuntimePath)) {
-				if (currentPath.segmentCount() == aRuntimePath.segmentCount()) {
-					result.add(theComponentResources[i].getSourcePath());
-					continue;
-				}	
-				currentMatchLength = currentPath.matchingFirstSegments(aRuntimePath);
-				if (currentMatchLength == currentPath.segmentCount() && currentMatchLength > bestMatchLength) {
-					bestMatchLength = currentMatchLength;
-					IPath sourcePath = theComponentResources[i].getSourcePath();
-					IPath subpath = aRuntimePath.removeFirstSegments(currentMatchLength);
-					estimatedPath = sourcePath.append(subpath);
-				}
-			}
-		}
-		if (result.size()>0)
-			return (IPath[]) result.toArray(new IPath[result.size()]);
-		if (estimatedPath == null)
-			return new IPath[] {};
-		return new IPath[] {estimatedPath};
-	}
-
-	public String getName() {
-		if (getRuntimePath().segmentCount()>0)
-			return getRuntimePath().lastSegment();
-		return getRuntimePath().toString();
-	}
-
-	public IVirtualComponent getComponent() {
-		if (component == null)
-			component = ComponentCore.createComponent(getProject());
-		return component;
-	}
-    
-	//returns null if the folder is already the root folder
-	public IVirtualContainer getParent() {
-		if (getRuntimePath().segmentCount() >= 1)
-			return new VirtualFolder(getProject(), getRuntimePath().removeLastSegments(1));
-		return null;
-	}
-
-	public IProject getProject() {
-		return componentProject;
-	}
-
-	public boolean isAccessible() {
-		throw new UnsupportedOperationException("Method not supported"); //$NON-NLS-1$
-		// return false;
-	}
-
-	public Object getAdapter(Class adapter) {
-		throw new UnsupportedOperationException("Method not supported"); //$NON-NLS-1$
-		// return null;
-	}
-
-	public boolean contains(ISchedulingRule rule) {
-		throw new UnsupportedOperationException("Method not supported"); //$NON-NLS-1$
-		// return false;
-	}
-
-	public boolean isConflicting(ISchedulingRule rule) {
-		throw new UnsupportedOperationException("Method not supported"); //$NON-NLS-1$
-		// return false;
-	}
-
-	public String toString() {
-		if (toString == null)
-			toString = "[" + ModuleURIUtil.getHandleString(getComponent()) + ":" + getRuntimePath() + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return toString;
-	}
-
-	public int hashCode() {
-		if (hashCode == 0)
-			hashCode = toString().hashCode();
-		return hashCode;
-	}
-
-	public boolean equals(Object anOther) {
-		return hashCode() == ((anOther != null && anOther instanceof VirtualResource) ? anOther.hashCode() : 0);
-	}
-
-	public void setResourceType(String aResourceType) {
-		resourceType = aResourceType;
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForRead(getProject());
-			WorkbenchComponent aComponent = moduleCore.getComponent();
-			ComponentResource[] resources = aComponent.findResourcesByRuntimePath(getRuntimePath());
-			for (int i = 0; i < resources.length; i++) {
-				resources[i].setResourceType(aResourceType);
-			}
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.dispose();
-			}
-		}
-	}
-
-	// TODO Fetch the resource type from the model.
-	public String getResourceType() {
-		if (null == resourceType) {
-			StructureEdit moduleCore = null;
-			try {
-				moduleCore = StructureEdit.getStructureEditForRead(getProject());
-				WorkbenchComponent aComponent = moduleCore.getComponent();
-				ComponentResource[] resources = aComponent.findResourcesByRuntimePath(getRuntimePath());
-				for (int i = 0; i < resources.length; i++) {
-					resourceType = resources[i].getResourceType();
-					return resourceType;
-				}
-			} finally {
-				if (moduleCore != null) {
-					moduleCore.dispose();
-				}
-			}
-		}
-		resourceType = ""; //$NON-NLS-1$
-		return resourceType;
-	}
-
-
-	protected void createResource(IContainer resource, int updateFlags, IProgressMonitor monitor) throws CoreException {
-
-		if (resource.exists())
-			return;
-		if (!resource.getParent().exists())
-			createResource(resource.getParent(), updateFlags, monitor);
-		if (!resource.exists() && resource.getType() == IResource.FOLDER) {
-			((IFolder) resource).create(updateFlags, true, monitor);
-		}
-	}
-
-	protected boolean isPotentalMatch(IPath aRuntimePath) {
-		return aRuntimePath.isPrefixOf(getRuntimePath());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.componentcore.resources.IVirtualResource#removeLink(org.eclipse.core.runtime.IPath, int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void removeLink(IPath aProjectRelativeLocation, int updateFlags, IProgressMonitor monitor) throws CoreException {
-		StructureEdit moduleCore = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForWrite(getProject());
-			WorkbenchComponent component = moduleCore.getComponent();
-			ResourceTreeRoot root = ResourceTreeRoot.getDeployResourceTreeRoot(component);
-			ComponentResource[] resources = root.findModuleResources(getRuntimePath(), ResourceTreeNode.CREATE_NONE);
-			if (resources.length > 0) {
-				for (int resourceIndx = 0; resourceIndx < resources.length; resourceIndx++) {
-					if (aProjectRelativeLocation.makeAbsolute().equals(resources[resourceIndx].getSourcePath())) {
-						component.getResources().remove(resources[resourceIndx]);
-					}
-				}
-			}
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.saveIfNecessary(monitor);
-				moduleCore.dispose();
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ArtifactEditAdapterFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ArtifactEditAdapterFactory.java
deleted file mode 100644
index 8a1ebf4..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ArtifactEditAdapterFactory.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
-import org.eclipse.wst.common.componentcore.internal.ArtifactEditModel;
-import org.eclipse.wst.common.componentcore.internal.ModulecorePlugin;
-import org.eclipse.wst.common.componentcore.internal.impl.ArtifactEditModelFactory;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.internal.emfworkbench.edit.EditModelRegistry;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * <p>
- * The following class is not intended to be used by clients.
- * </p>
- * <p>
- * Adapts {@see ArtifactEditModel} to an {@see ArtifactEdit) 
- * instance facade, if possible. The following class is 
- * registered with the Platform Adapter Manager in 
- * {@see ModulecorePlugin#start(BundleContext)}
- * </p>
- * @see ModulecorePlugin
- */
-public class ArtifactEditAdapterFactory implements IAdapterFactory {
-
-	private static final Class ARTIFACT_EDIT_MODEL_CLASS = ArtifactEditModel.class;
-	private static final Class ARTIFACT_EDIT_CLASS = ArtifactEdit.class;
-	
-	/**
-	 * <p>
-	 * Returns an instance facade for the given anAdaptableObject, if possible.
-	 * </p> 
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object anAdaptableObject, Class anAdapterType) {
-		if (anAdapterType == ArtifactEditModel.ADAPTER_TYPE) {
-			if (anAdaptableObject instanceof ArtifactEdit) {
-				ArtifactEdit edit = (ArtifactEdit)anAdaptableObject;
-				IProject aProject = edit.getProject();
-				URI componentURI = ModuleURIUtil.fullyQualifyURI(aProject);
-				ModuleCoreNature nature = ModuleCoreNature.getModuleCoreNature(edit.getComponent().getProject());
-				Map params = new HashMap();
-				params.put(ArtifactEditModelFactory.PARAM_MODULE_URI, componentURI);
-				try {
-					IFacetedProject facetedProject = ProjectFacetsManager.create(aProject);
-					String[] editModelIDs = EditModelRegistry.getInstance().getRegisteredEditModelIDs();
-					for (int i=0; i<editModelIDs.length; i++) {
-						try {
-							IProjectFacet facet = ProjectFacetsManager.getProjectFacet(editModelIDs[i]);
-							if (facet != null && facetedProject.hasProjectFacet(facet)) {
-								EditModel editModel = nature.getExistingEditModel(editModelIDs[i],params,edit.isReadOnly());
-								if (editModel !=null)
-									return editModel;
-							}
-						} catch (Exception e) {
-							continue;
-						}
-					}
-					
-				} catch (Exception e){
-					//Return null
-				}
-				return null;
-			}
-		}
-		if (anAdapterType == ArtifactEdit.ADAPTER_TYPE) {
-			if (anAdaptableObject instanceof ArtifactEditModel)
-				return new ArtifactEdit((ArtifactEditModel) anAdaptableObject);
-			if (anAdaptableObject instanceof IVirtualComponent) {
-				ArtifactEditRegistryReader reader = ArtifactEditRegistryReader.instance();
-	    		IArtifactEditFactory factory = reader.getArtifactEdit(((IVirtualComponent)anAdaptableObject).getProject());
-	    		if (factory != null)
-	    			return factory.createArtifactEditForRead((IVirtualComponent)anAdaptableObject);
-			}
-		}
-		return null;
-	}
-
-	/**  
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[]{ARTIFACT_EDIT_MODEL_CLASS,ARTIFACT_EDIT_CLASS};
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ArtifactEditRegistryReader.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ArtifactEditRegistryReader.java
deleted file mode 100644
index 7fb7950..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ArtifactEditRegistryReader.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 29, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jem.util.RegistryReader;
-import org.eclipse.wst.common.componentcore.internal.ModulecorePlugin;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class ArtifactEditRegistryReader extends RegistryReader {
-	/**
-	 * @param registry
-	 * @param plugin
-	 * @param extensionPoint
-	 */
-	Hashtable typeRegistry = new Hashtable();
-	static final String ARTIFACT_EDIT_EXTENSION_POINT = "artifactedit"; //$NON-NLS-1$
-	static final String ARTIFACTEDIT = "artifactedit"; //$NON-NLS-1$
-	static final String TYPE = "typeID"; //$NON-NLS-1$
-	static final String ARTIFACTEDITCLASS = "class"; //$NON-NLS-1$
-	private static ArtifactEditRegistryReader instance;
-	
-	/**
-	 * @return Returns the instance.
-	 */
-	public static ArtifactEditRegistryReader instance() {
-		if (instance == null) {
-			instance = new ArtifactEditRegistryReader();
-			instance.readRegistry();
-		}
-		return instance;
-	}
-	
-	public ArtifactEditRegistryReader() {
-		super(ModulecorePlugin.PLUGIN_ID, ARTIFACT_EDIT_EXTENSION_POINT);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.RegistryReader#readElement(org.eclipse.core.runtime.IConfigurationElement)
-	 */
-	public boolean readElement(IConfigurationElement element) {
-		if (!element.getName().equals(ARTIFACTEDIT))
-			return false;
-
-		IArtifactEditFactory staticCaller = null;
-		String typeID = null;
-		try {
-			typeID = element.getAttribute(TYPE);
-			staticCaller = (IArtifactEditFactory) element.createExecutableExtension(ARTIFACTEDITCLASS);
-			
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		if (staticCaller != null)
-			addArtifactEdit(typeID,staticCaller);
-		return true;
-	}
-
-	private void addArtifactEdit(String typeID, IArtifactEditFactory staticCaller) {
-		typeRegistry.put(typeID,staticCaller);
-	}
-	
-	public IArtifactEditFactory getArtifactEdit(String typeID) {
-		return (IArtifactEditFactory)typeRegistry.get(typeID);
-	}
-	
-	public IArtifactEditFactory getArtifactEdit(IProject project) {
-		try {
-			IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-			Iterator keys = typeRegistry.keySet().iterator();
-			while (keys.hasNext()) {
-				String typeID = (String) keys.next();
-				try {
-					IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(typeID);
-					if (projectFacet != null && facetedProject.hasProjectFacet(projectFacet))
-						return getArtifactEdit(typeID);
-				} catch (Exception e) {
-					continue;
-				}
-			}
-		} catch (Exception e) {
-			//Just return null
-		}
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentResolver.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentResolver.java
deleted file mode 100644
index c544700..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentResolver.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.ModulecorePlugin;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
-import org.osgi.framework.Bundle;
-
-public class ComponentResolver implements URIResolverExtension {
-	private static boolean _DEBUG = "true".equals(Platform.getDebugOption("org.eclipse.wst.common.modulecore/ComponentResolver")); //$NON-NLS-1$ //$NON-NLS-2$ 
-	private static final String FILE_PROTOCOL = "file:///"; //$NON-NLS-1$
-	private static final String FILE_PROTOCOL2 = "file://"; //$NON-NLS-1$
-	private static final String ROOT_PATH_STRING = Path.ROOT.toString(); //$NON-NLS-1$
-
-	/**
-	 * Various resolvers disagree on how many preceding slashes should
-	 * actually be used. On Win32, 2 slashes results in a URL object where the
-	 * volume is stripped out of the file path as the host name, but on Unix 2
-	 * is the correct number. On Win32. java.io.File.toURL adds only 1 slash,
-	 * and on Unix it adds 2.
-	 * 
-	 * @param uri
-	 * @return The IFile for this file location
-	 */
-	private IFile recalculateFile(String uri) {
-		IFile file = null;
-		if (uri != null) {
-			String location = null;
-			if (uri.startsWith(FILE_PROTOCOL)) {
-				location = uri.substring(FILE_PROTOCOL.length());
-			}
-			else if (uri.startsWith(FILE_PROTOCOL2)) {
-				location = uri.substring(FILE_PROTOCOL2.length());
-			}
-			else {
-				location = uri;
-			}
-			IPath path = new Path(location);
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(path);
-			for (int i = 0; i < files.length && file == null; i++) {
-				if (files[i].isAccessible()) {
-					file = files[i];
-				}
-			}
-		}
-		return file;
-	}
-
-	public String resolve(IFile file, String baseLocation, String publicId, String systemId) {
-		if (_DEBUG) {
-			System.out.print("ComponentResolver: resolve \"[{" + publicId + "}{" + systemId + "}]\" from \"" + baseLocation + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		/*
-		 * Check for a system reference; without one, there's no point in
-		 * continuing.
-		 */
-		if (systemId == null) {
-			if (_DEBUG) {
-				System.out.println(" (no system reference)"); //$NON-NLS-1$
-			}
-			return null;
-		}
-		/* Recompute the IFile, if needed, from the base location. */
-		if (file == null && baseLocation != null) {
-			file = recalculateFile(baseLocation);
-		}
-		/*
-		 * If a workspace IFile is (still) not the base point of reference,
-		 * don't continue.
-		 */
-		if (file == null) {
-			if (_DEBUG) {
-				System.out.println(" (not a workspace file)"); //$NON-NLS-1$
-			}
-			return null;
-		}
-
-		/* Check for an absolute URL as the system reference. */
-		try {
-			URL testURL = new URL(systemId);
-			if (testURL != null) {
-				if (_DEBUG) {
-					System.out.println(" (reference is a URL)"); //$NON-NLS-1$
-				}
-				return null;
-			}
-		}
-		catch (MalformedURLException e) {
-			// Continue resolving
-		}
-
-		/* Check for a system file name as the system reference. */
-		IPath systemPath = new Path(systemId);
-		if (systemPath.toFile().exists()) {
-			if (_DEBUG) {
-				System.out.println(" (reference is a system file)"); //$NON-NLS-1$
-			}
-			return null;
-		}
-
-		boolean prependFilePrefix = baseLocation.startsWith(FILE_PROTOCOL) && baseLocation.length() > 7;
-		boolean prependFilePrefix2 = baseLocation.startsWith(FILE_PROTOCOL2) && baseLocation.length() > 8;
-
-		String resolvedPath = null;
-		
-		IVirtualResource[] virtualResources = null;
-		try {
-			virtualResources = ComponentCore.createResources(file);
-		}
-		catch (Exception e) {
-			Status statusObj = new Status(IStatus.ERROR, ModulecorePlugin.PLUGIN_ID, IStatus.ERROR, "Exception calling ComponentCore.createResources()", e);
-			Bundle bundle = Platform.getBundle(ModulecorePlugin.PLUGIN_ID);
-			if (bundle != null) {
-				Platform.getLog(bundle).log(statusObj);
-			}
-		}
-
-		// Only return results for Flexible projects
-		if (virtualResources != null) {
-			for (int i = 0; i < virtualResources.length && resolvedPath == null; i++) {
-				IPath resolvedRuntimePath = null;
-				if (systemId.startsWith(ROOT_PATH_STRING)) {
-					resolvedRuntimePath = new Path(systemId);
-				}
-				else {
-					resolvedRuntimePath = new Path(virtualResources[i].getRuntimePath().removeLastSegments(1).append(systemId).toString());
-				}
-				IVirtualFile virtualFile = ComponentCore.createFile(file.getProject(), resolvedRuntimePath);
-				IFile resolvedFile = null;
-				if (virtualFile.getWorkspaceRelativePath().segmentCount() > 1) {
-					resolvedFile = virtualFile.getUnderlyingFile();
-				}
-				if (resolvedFile != null && resolvedFile.getLocation() != null) {
-					if (prependFilePrefix) {
-						resolvedPath = FILE_PROTOCOL + resolvedFile.getLocation().toString();
-					}
-					else if (prependFilePrefix2) {
-						resolvedPath = FILE_PROTOCOL2 + resolvedFile.getLocation().toString();
-					}
-					else {
-						resolvedPath = resolvedFile.getLocation().toString();
-					}
-				}
-			}
-		}
-		else {
-			if (_DEBUG) {
-				System.out.println(" (not in flexible project)"); //$NON-NLS-1$
-			}
-		}
-		if (_DEBUG) {
-			System.out.println(" -> \"" + resolvedPath + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return resolvedPath;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentUtilities.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentUtilities.java
deleted file mode 100644
index 1cfefa5..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentUtilities.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourceAttributes;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
-import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsOp;
-import org.eclipse.wst.common.componentcore.internal.operation.RemoveReferenceComponentOperation;
-import org.eclipse.wst.common.componentcore.internal.operation.RemoveReferenceComponentsDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-
-public class ComponentUtilities {
-
-	/**
-	 * Ensure the container is not read-only.
-	 * <p>
-	 * For Linux, a Resource cannot be created in a ReadOnly folder. This is only necessary for new
-	 * files.
-	 * 
-	 * @param resource
-	 *            workspace resource to make read/write
-	 * @plannedfor 1.0.0
-	 */
-	public static void ensureContainerNotReadOnly(IResource resource) {
-		if (resource != null && !resource.exists()) { // it must be new
-			IContainer container = resource.getParent();
-			if (container != null) {
-				ResourceAttributes attr = container.getResourceAttributes();
-				if (!attr.isReadOnly())
-					container = container.getParent();
-				attr.setReadOnly(false);
-			}
-		}
-	}
-
-	public static IFolder createFolderInComponent(IVirtualComponent component, String folderName) throws CoreException {
-		if (folderName != null) {
-			IVirtualFolder rootfolder = component.getRootFolder();
-			IFolder folder = ResourcesPlugin.getWorkspace().getRoot().getFolder(new Path(rootfolder.getProject().getName()).append(folderName));
-			if (!folder.exists()) {
-				ProjectUtilities.ensureContainerNotReadOnly(folder);
-				folder.create(true, true, null);
-			}
-			return folder;
-		}
-		return null;
-	}
-
-
-
-	public static ArtifactEdit getArtifactEditForRead(IVirtualComponent comp) {
-		if (comp != null) {
-			ArtifactEditRegistryReader reader = ArtifactEditRegistryReader.instance();
-			IArtifactEditFactory factory = reader.getArtifactEdit(comp.getProject());
-			if (factory != null)
-				return factory.createArtifactEditForRead(comp);
-		}
-		return null;
-	}
-
-
-
-	public static IFile findFile(IVirtualComponent comp, IPath aPath) throws CoreException {
-		if (comp == null || aPath == null)
-			return null;
-		IVirtualFolder root = comp.getRootFolder();
-		IVirtualResource file = root.findMember(aPath);
-		if (file != null)
-			return (IFile) file.getUnderlyingResource();
-		return null;
-	}
-
-	public static IVirtualComponent findComponent(IResource res) {
-
-		return (IVirtualComponent)res.getAdapter(IVirtualComponent.class);
-	}
-	
-	/**
-	 * **********************Please read java doc before using this api*******************
-	 * This is a very expensive api from a performance point as it does a structure edit
-	 * access and release for each component in the workspace. Use this api very sparingly
-	 * and if used cached the information returned by this api for further processing
-	 * @return - A an array of all virtual components in the workspace
-	 * ***********************************************************************************
-	 */
-
-	public static IVirtualComponent[] getAllWorkbenchComponents() {
-		List components = new ArrayList();
-		List projects = Arrays.asList(ResourcesPlugin.getWorkspace().getRoot().getProjects());
-		for (int i = 0; i < projects.size(); i++) {
-			if( ModuleCoreNature.isFlexibleProject((IProject)projects.get(i))){
-				IVirtualComponent wbComp = ComponentCore.createComponent((IProject)projects.get(i));
-				components.add(wbComp);
-			}
-		}
-		VirtualComponent[] temp = (VirtualComponent[]) components.toArray(new VirtualComponent[components.size()]);
-		return temp;
-	}
-	
-	/**
-	 * **********************Please read java doc before using this api*******************
-	 * This is a very expensive api from a performance point as it does a structure edit
-	 * access and release for each component in the workspace. Use this api very sparingly
-	 * and if used cached the information returned by this api for further processing.
-	 * 
-	 * @return - A virtual component in the workspace
-	 * ***********************************************************************************
-	 */
-	public static IVirtualComponent getComponent(String componentName) {
-		IVirtualComponent[] allComponents = getAllWorkbenchComponents();
-		for (int i = 0; i < allComponents.length; i++) {
-			if (allComponents[i].getName().equals(componentName))
-				return allComponents[i];
-		}
-		return null;
-	}
-
-
-
-	public static ArtifactEdit getArtifactEditForWrite(IVirtualComponent comp) {
-		if (comp != null) {
-			ArtifactEditRegistryReader reader = ArtifactEditRegistryReader.instance();
-			IArtifactEditFactory factory = reader.getArtifactEdit(comp.getProject());
-			if (factory != null)
-				return factory.createArtifactEditForWrite(comp);
-		}
-		return null;
-	}
-
-	public static IVirtualComponent findComponent(EObject anObject) {
-		Resource res = anObject.eResource();
-		return findComponent(res);
-	}
-
-	public static IVirtualComponent findComponent(Resource aResource) {
-		IFile file = WorkbenchResourceHelper.getFile(aResource);
-		if (file == null)
-			return null;
-		return (IVirtualComponent)file.getAdapter(IVirtualComponent.class);
-	}
-
-//	public static JavaProjectMigrationOperation createFlexJavaProjectForProjectOperation(IProject project) {
-//		IDataModel model = DataModelFactory.createDataModel(new JavaProjectMigrationDataModelProvider());
-//		model.setProperty(IJavaProjectMigrationDataModelProperties.PROJECT_NAME, project.getName());
-//		return new JavaProjectMigrationOperation(model);
-//	}
-
-	public static CreateReferenceComponentsOp createReferenceComponentOperation(IVirtualComponent sourceComponent, List targetComponentProjects) {
-		IDataModel model = DataModelFactory.createDataModel(new CreateReferenceComponentsDataModelProvider());
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, sourceComponent);
-		List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		modHandlesList.addAll(targetComponentProjects);
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modHandlesList);
-		
-		return new CreateReferenceComponentsOp(model);
-	}
-	
-	public static CreateReferenceComponentsOp createWLPReferenceComponentOperation(IVirtualComponent sourceComponent, List targetComponentProjects) {
-		IDataModel model = DataModelFactory.createDataModel(new CreateReferenceComponentsDataModelProvider());
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, sourceComponent);
-		List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		modHandlesList.addAll(targetComponentProjects);
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modHandlesList);
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH,"/WEB-INF/lib"); //$NON-NLS-1$
-		return new CreateReferenceComponentsOp(model);
-	}
-
-	public static RemoveReferenceComponentOperation removeWLPReferenceComponentOperation(IVirtualComponent sourceComponent, List targetComponentProjects) {
-		IDataModel model = DataModelFactory.createDataModel(new RemoveReferenceComponentsDataModelProvider());
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, sourceComponent);
-		List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		modHandlesList.addAll(targetComponentProjects);
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modHandlesList);
-		
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH,"/WEB-INF/lib"); //$NON-NLS-1$
-		
-		return new RemoveReferenceComponentOperation(model);
-
-	}
-	
-	public static RemoveReferenceComponentOperation removeReferenceComponentOperation(IVirtualComponent sourceComponent, List targetComponentProjects) {
-		IDataModel model = DataModelFactory.createDataModel(new RemoveReferenceComponentsDataModelProvider());
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, sourceComponent);
-		List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		modHandlesList.addAll(targetComponentProjects);
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modHandlesList);
-		return new RemoveReferenceComponentOperation(model);
-
-	}
-	
-	public static IVirtualComponent[] getComponents(IProject[] projects) {
-		List result = new ArrayList();
-		if (projects!=null) {
-			for (int i=0; i<projects.length; i++) {
-				if (projects[i] != null) {
-					IVirtualComponent comp = ComponentCore.createComponent(projects[i]);
-					if (comp != null && comp.exists())
-						result.add(comp);
-				}
-			}
-		}
-		return (IVirtualComponent[]) result.toArray(new IVirtualComponent[result.size()]);
-	}
-	
-	/**
-	 * This method will retrieve the context root for the associated workbench module which is used
-	 * by the server at runtime.  This method is not yet completed as the context root has to be
-	 * abstracted and added to the workbenchModule model.  This API will not change though.
-	 * Returns null for now.
-	 * 
-	 * @return String value of the context root for runtime of the associated module
-	 */
-	public static String getServerContextRoot(IProject project) {
-		
-		StructureEdit moduleCore = null;
-		WorkbenchComponent wbComponent = null;
-		try {
-			moduleCore = StructureEdit.getStructureEditForRead(project);
-			if (moduleCore == null || moduleCore.getComponent() == null)
-				return null;
-			wbComponent = moduleCore.getComponent();
-		} finally {
-			if (moduleCore != null) {
-				moduleCore.dispose();
-			}
-		}
-		List existingProps = wbComponent.getProperties();
-		for (int i = 0; i < existingProps.size(); i++) {
-			Property prop = (Property) existingProps.get(i);
-			if(prop.getName().equals(IModuleConstants.CONTEXTROOT)){
-				return prop.getValue();
-			}
-		}			
-		// If all else fails...
-		return null;
-	}
-	
-	/**
-	 * This method will set the context root on the associated workbench module with the given string
-	 * value passed in.  This context root is used by the server at runtime.  This method is not yet
-	 * completed as the context root still needs to be abstracted and added to the workbench module
-	 * model.  This API will not change though.
-	 * Does nothing as of now.
-	 * 
-	 * @param contextRoot string
-	 */
-	public static void setServerContextRoot(IProject project, String contextRoot) {
-		IVirtualComponent comp = ComponentCore.createComponent(project);
-		comp.setMetaProperty(IModuleConstants.CONTEXTROOT, contextRoot);
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentcoreAdapterFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentcoreAdapterFactory.java
deleted file mode 100644
index 3716298..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentcoreAdapterFactory.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentcoreAdapterFactory.java,v 1.6 2005/10/18 22:27:18 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentType;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.ProjectComponents;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Adapter Factory</b> for the model.
- * It provides an adapter <code>createXXX</code> method for each class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage
- * @generated
- */
-public class ComponentcoreAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * The cached model package.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static ComponentcorePackage modelPackage;
-
-	/**
-	 * Creates an instance of the adapter factory.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComponentcoreAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = ComponentcorePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Returns whether this factory is applicable for the type of the object.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
-	 * <!-- end-user-doc -->
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject)object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
-
-	/**
-	 * The switch the delegates to the <code>createXXX</code> methods.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected ComponentcoreSwitch modelSwitch =
-		new ComponentcoreSwitch() {
-			public Object caseWorkbenchComponent(WorkbenchComponent object) {
-				return createWorkbenchComponentAdapter();
-			}
-			public Object caseComponentResource(ComponentResource object) {
-				return createComponentResourceAdapter();
-			}
-			public Object caseComponentType(ComponentType object) {
-				return createComponentTypeAdapter();
-			}
-			public Object caseProperty(Property object) {
-				return createPropertyAdapter();
-			}
-			public Object caseReferencedComponent(ReferencedComponent object) {
-				return createReferencedComponentAdapter();
-			}
-			public Object caseProjectComponents(ProjectComponents object) {
-				return createProjectComponentsAdapter();
-			}
-			public Object defaultCase(EObject object) {
-				return createEObjectAdapter();
-			}
-		};
-
-	/**
-	 * Creates an adapter for the <code>target</code>.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param target the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	public Adapter createAdapter(Notifier target) {
-		return (Adapter)modelSwitch.doSwitch((EObject)target);
-	}
-
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.common.componentcore.internal.WorkbenchComponent <em>Workbench Component</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.wst.common.componentcore.internal.WorkbenchComponent
-	 * @generated
-	 */
-	public Adapter createWorkbenchComponentAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.common.componentcore.internal.ComponentResource <em>Component Resource</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentResource
-	 * @generated
-	 */
-	public Adapter createComponentResourceAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.common.componentcore.internal.ComponentType <em>Component Type</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.wst.common.componentcore.internal.ComponentType
-	 * @generated
-	 */
-	public Adapter createComponentTypeAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.common.componentcore.internal.Property <em>Property</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.wst.common.componentcore.internal.Property
-	 * @generated
-	 */
-	public Adapter createPropertyAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.common.componentcore.internal.ReferencedComponent <em>Referenced Component</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.wst.common.componentcore.internal.ReferencedComponent
-	 * @generated
-	 */
-	public Adapter createReferencedComponentAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.wst.common.componentcore.internal.ProjectComponents <em>Project Components</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.wst.common.componentcore.internal.ProjectComponents
-	 * @generated
-	 */
-	public Adapter createProjectComponentsAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for the default case.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
-
-} //ComponentcoreAdapterFactory
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentcoreSwitch.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentcoreSwitch.java
deleted file mode 100644
index f556abc..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ComponentcoreSwitch.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id: ComponentcoreSwitch.java,v 1.6 2005/10/18 22:27:18 cbridgha Exp $
- */
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentType;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.ProjectComponents;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Switch</b> for the model's inheritance hierarchy.
- * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
- * to invoke the <code>caseXXX</code> method for each class of the model,
- * starting with the actual class of the object
- * and proceeding up the inheritance hierarchy
- * until a non-null result is returned,
- * which is the result of the switch.
- * <!-- end-user-doc -->
- * @see org.eclipse.wst.common.componentcore.internal.ComponentcorePackage
- * @generated
- */
-public class ComponentcoreSwitch {
-	/**
-	 * The cached model package
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected static ComponentcorePackage modelPackage;
-
-	/**
-	 * Creates an instance of the switch.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ComponentcoreSwitch() {
-		if (modelPackage == null) {
-			modelPackage = ComponentcorePackage.eINSTANCE;
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	public Object doSwitch(EObject theEObject) {
-		return doSwitch(theEObject.eClass(), theEObject);
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(EClass theEClass, EObject theEObject) {
-		if (theEClass.eContainer() == modelPackage) {
-			return doSwitch(theEClass.getClassifierID(), theEObject);
-		}
-		else {
-			List eSuperTypes = theEClass.getESuperTypes();
-			return
-				eSuperTypes.isEmpty() ?
-					defaultCase(theEObject) :
-					doSwitch((EClass)eSuperTypes.get(0), theEObject);
-		}
-	}
-
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected Object doSwitch(int classifierID, EObject theEObject) {
-		switch (classifierID) {
-			case ComponentcorePackage.WORKBENCH_COMPONENT: {
-				WorkbenchComponent workbenchComponent = (WorkbenchComponent)theEObject;
-				Object result = caseWorkbenchComponent(workbenchComponent);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ComponentcorePackage.COMPONENT_RESOURCE: {
-				ComponentResource componentResource = (ComponentResource)theEObject;
-				Object result = caseComponentResource(componentResource);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ComponentcorePackage.COMPONENT_TYPE: {
-				ComponentType componentType = (ComponentType)theEObject;
-				Object result = caseComponentType(componentType);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ComponentcorePackage.PROPERTY: {
-				Property property = (Property)theEObject;
-				Object result = caseProperty(property);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ComponentcorePackage.REFERENCED_COMPONENT: {
-				ReferencedComponent referencedComponent = (ReferencedComponent)theEObject;
-				Object result = caseReferencedComponent(referencedComponent);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case ComponentcorePackage.PROJECT_COMPONENTS: {
-				ProjectComponents projectComponents = (ProjectComponents)theEObject;
-				Object result = caseProjectComponents(projectComponents);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			default: return defaultCase(theEObject);
-		}
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Workbench Component</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Workbench Component</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseWorkbenchComponent(WorkbenchComponent object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Component Resource</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Component Resource</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseComponentResource(ComponentResource object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Component Type</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Component Type</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseComponentType(ComponentType object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Property</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Property</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseProperty(Property object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Referenced Component</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Referenced Component</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseReferencedComponent(ReferencedComponent object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>Project Components</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>Project Components</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public Object caseProjectComponents(ProjectComponents object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch, but this is the last case anyway.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpretting the object as an instance of '<em>EObject</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-	 * @generated
-	 */
-	public Object defaultCase(EObject object) {
-		return null;
-	}
-
-} //ComponentcoreSwitch
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/DependencyTypeTranslator.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/DependencyTypeTranslator.java
deleted file mode 100644
index 2a9127c..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/DependencyTypeTranslator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 2, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.DependencyType;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-
-/**
- * @author administrator
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class DependencyTypeTranslator extends Translator implements WTPModulesXmlMapperI{
-	
-	public DependencyTypeTranslator(){
-		super(DEPENDENCY_TYPE,ComponentcorePackage.eINSTANCE.getReferencedComponent_DependencyType());
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.etools.emf2xml.impl.Translator#convertStringToValue(java.lang.String, org.eclipse.emf.ecore.EObject)
-	 */
-	public Object convertStringToValue(String strValue, EObject owner) {
-		String correct = strValue;
-		if (strValue.toUpperCase().equals("CONSUMES")) //$NON-NLS-1$
-			correct = DependencyType.CONSUMES_LITERAL.getName(); 
-		else if (strValue.toUpperCase().equals("USES")) //$NON-NLS-1$
-			correct = DependencyType.USES_LITERAL.getName(); 
-			
-		return super.convertStringToValue(correct, owner);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/DeployedPathProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/DeployedPathProvider.java
deleted file mode 100644
index 6964233..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/DeployedPathProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class DeployedPathProvider implements IPathProvider {
-	
-	public static IPathProvider INSTANCE = new DeployedPathProvider();
-	
-	private DeployedPathProvider() {} 
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.modulecore.util.IPathProvider#getPath(org.eclipse.wst.common.modulecore.WorkbenchComponent)
-	 */
-	public IPath getPath(ComponentResource aModuleResource) { 
-		return aModuleResource.getRuntimePath();
-	}
-	
-	public EStructuralFeature getFeature() {
-		return ComponentcorePackage.eINSTANCE.getComponentResource_RuntimePath();
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/EclipseResourceAdapter.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/EclipseResourceAdapter.java
deleted file mode 100644
index 9ca6d48..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/EclipseResourceAdapter.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-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.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class EclipseResourceAdapter extends AdapterImpl implements Adapter {
-
-	public static final Class ADAPTER_TYPE = EclipseResourceAdapter.class;
-	private IResource resource;
-	private boolean hasSearchFailed = false;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
-	 */
-	public void notifyChanged(Notification aNotification) {
-		if (aNotification.getFeature() == ComponentcorePackage.eINSTANCE.getComponentResource_SourcePath()) {
-			if (aNotification.getEventType() == Notification.SET) {
-				resource = null;
-				hasSearchFailed = false;
-			}
-		}
-	}
-
-	public IResource getEclipseResource() {
-		IProject container = null;
-		if (resource != null || hasSearchFailed)
-			return resource;
-		synchronized (this) {
-			if (resource == null) {
-				ComponentResource moduleResource = (ComponentResource) getTarget();
-				IPath sourcePath = moduleResource.getSourcePath();
-				if (moduleResource.getOwningProject() != null)
-					container = moduleResource.getOwningProject();
-				else
-					container = StructureEdit.getContainingProject(moduleResource.getComponent());
-				if (container != null)
-					resource = container.findMember(sourcePath); 
-				if(resource == null)
-					resource = ResourcesPlugin.getWorkspace().getRoot().findMember(sourcePath); 
-				
-				hasSearchFailed = resource == null;
-			}
-		}
-		return resource;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.Adapter#isAdapterForType(java.lang.Object)
-	 */
-	public boolean isAdapterForType(Object aType) {
-		return ADAPTER_TYPE == aType;
-	}
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/HRefTranslator.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/HRefTranslator.java
deleted file mode 100644
index 3bcd8b7..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/HRefTranslator.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorPath;
-
-public class HRefTranslator extends Translator {
-
-	public HRefTranslator(String domNameAndPath, EClass eClass) {
-		super(domNameAndPath, eClass);
-		// TODO Auto-generated constructor stub
-	}
-
-	public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature) {
-		super(domNameAndPath, aFeature);
-		// TODO Auto-generated constructor stub
-	}
-
-	public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature,
-			EClass eClass) {
-		super(domNameAndPath, aFeature, eClass);
-		// TODO Auto-generated constructor stub
-	}
-
-	public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature,
-			TranslatorPath path) {
-		super(domNameAndPath, aFeature, path);
-		// TODO Auto-generated constructor stub
-	}
-
-	public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature,
-			TranslatorPath[] paths) {
-		super(domNameAndPath, aFeature, paths);
-		// TODO Auto-generated constructor stub
-	}
-
-	public HRefTranslator(String domNameAndPath, EStructuralFeature aFeature,
-			int style) {
-		super(domNameAndPath, aFeature, style);
-		// TODO Auto-generated constructor stub
-	}
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.Translator#convertStringToValue(java.lang.String,
-	 *      org.eclipse.emf.ecore.EObject)
-	 */
-	public Object convertStringToValue(String aValue, EObject anOwner) { 
-		WorkbenchComponent earComp = (WorkbenchComponent)anOwner.eContainer();
-		IVirtualComponent virtualComp = ComponentCore.createComponent(StructureEdit.getContainingProject(earComp));
-		ArtifactEdit edit = (ArtifactEdit)virtualComp.getAdapter(ArtifactEdit.class);
-		if (edit == null) return null;
-		Resource res = edit.getContentModelRoot().eResource();
-		return res.getEObject(aValue);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.Translator#convertValueToString(java.lang.Object,
-	 *      org.eclipse.emf.ecore.EObject)
-	 */
-	public String convertValueToString(Object aValue, EObject anOwner) { 
-		String frag = null;
-		if (((EObject)aValue).eResource() != null)
-			frag = ((EObject)aValue).eResource().getURIFragment((EObject)aValue);
-		else
-			frag = EcoreUtil.getID((EObject)aValue);
-		return frag;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IArtifactEditFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IArtifactEditFactory.java
deleted file mode 100644
index cd5f471..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IArtifactEditFactory.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.wst.common.componentcore.ArtifactEdit;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public interface IArtifactEditFactory {
-	
-	public ArtifactEdit createArtifactEditForRead(IVirtualComponent aComponent);
-	
-	public ArtifactEdit createArtifactEditForWrite(IVirtualComponent aComponent);
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IModuleConstants.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IModuleConstants.java
deleted file mode 100644
index 19dcbf9..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IModuleConstants.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.core.runtime.Path;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public interface IModuleConstants {
-	
-	public final static String COMPONENT_FILE_NAME = ".component"; //$NON-NLS-1$
-	public final static Path COMPONENT_FILE_PATH = new Path(".settings/"+COMPONENT_FILE_NAME); //$NON-NLS-1$
-    public final static String WTPMODULE_FILE_NAME = ".wtpmodules"; //$NON-NLS-1$
-	public final static Path WTPMODULE_FILE_PATH = new Path(WTPMODULE_FILE_NAME); //$NON-NLS-1$
-	public final static String MODULE_PLUG_IN_ID = "org.eclipse.wst.common.modulecore"; //$NON-NLS-1$
-	public final static String MODULE_NATURE_ID = "org.eclipse.wst.common.modulecore.ModuleCoreNature"; //$NON-NLS-1$
-
-	//moduleTypes
-	public final static String JST_WEB_MODULE = "jst.web"; //$NON-NLS-1$
-	public final static String JST_EJB_MODULE = "jst.ejb"; //$NON-NLS-1$
-	public final static String JST_UTILITY_MODULE = "jst.utility"; //$NON-NLS-1$
-	public final static String WST_WEB_MODULE = "wst.web"; //$NON-NLS-1$
-	public final static String JST_EAR_MODULE = "jst.ear"; //$NON-NLS-1$
-	public final static String JST_APPCLIENT_MODULE = "jst.appclient"; //$NON-NLS-1$
-	public final static String JST_CONNECTOR_MODULE = "jst.connector"; //$NON-NLS-1$
-	public final static String JST_JAVA = "jst.java"; //$NON-NLS-1$
-	
-	public final static String DEPENDENT_MODULE = "dependent"; //$NON-NLS-1$
-    
-    //Property Constants
-    public final static String PROJ_REL_JAVA_OUTPUT_PATH = "java-output-path"; //$NON-NLS-1$ 
-    
-    public final static String CONTEXTROOT = "context-root"; //$NON-NLS-1$
-	 
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IPathProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IPathProvider.java
deleted file mode 100644
index 389edd2..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IPathProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public interface IPathProvider {
-	
-	IPath getPath(ComponentResource aModuleResource);
-	
-	EStructuralFeature getFeature();
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IPathTranslator.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IPathTranslator.java
deleted file mode 100644
index 8012cb1..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/IPathTranslator.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorPath;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class IPathTranslator extends Translator {
-
-	public IPathTranslator(String aDomPath, EStructuralFeature aFeature) {
-		super(aDomPath, aFeature);
-	}
-	
-	public IPathTranslator(String aDomPath, EStructuralFeature aFeature, TranslatorPath aTranslatorPath) {
-		super(aDomPath, aFeature, new TranslatorPath[]{aTranslatorPath});
-	}
-	
-	public IPathTranslator(String aDomPath, EStructuralFeature aFeature, TranslatorPath[] theTranslatorPaths) {
-		super(aDomPath, aFeature, theTranslatorPaths);
-	}
-	
-	public IPathTranslator(String aDomPath, EStructuralFeature aFeature, int aStyleMask) {
-		super(aDomPath, aFeature, aStyleMask);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.Translator#convertStringToValue(java.lang.String,
-	 *      org.eclipse.emf.ecore.EObject)
-	 */
-	public Object convertStringToValue(String aValue, EObject anOwner) { 
-		return new Path(aValue);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.Translator#convertValueToString(java.lang.Object,
-	 *      org.eclipse.emf.ecore.EObject)
-	 */
-	public String convertValueToString(Object aValue, EObject anOwner) { 
-		if(aValue instanceof IPath) 
-			return ((IPath)aValue).toString();
-		return super.convertValueToString(aValue, anOwner);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ModuleCoreEclipseAdapterFactory.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ModuleCoreEclipseAdapterFactory.java
deleted file mode 100644
index ca3e606..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ModuleCoreEclipseAdapterFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.internal.ModuleStructuralModel;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.impl.ResourceTreeNode;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class ModuleCoreEclipseAdapterFactory implements IAdapterFactory {
-	
-	private static final Class MODULE_CORE_CLASS = StructureEdit.class;
-	private static final Class VIRTUAL_COMPONENT_CLASS = IVirtualComponent.class;
-	private static final Class[] ADAPTER_LIST = new Class[] { MODULE_CORE_CLASS, VIRTUAL_COMPONENT_CLASS};
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptable, Class anAdapterType) {
-		if(anAdapterType == MODULE_CORE_CLASS)
-				return new StructureEdit((ModuleStructuralModel)adaptable);
-		if(anAdapterType == VIRTUAL_COMPONENT_CLASS)
-			return getComponent((IResource)adaptable);
-		return null;
-	}
-
-	private Object getComponent(IResource resource) {
-		StructureEdit moduleCore = null;
-		WorkbenchComponent module = null;
-		if (!resource.exists()) return null;
-			
-		try {
-			moduleCore = StructureEdit.getStructureEditForRead(resource.getProject());
-			if (moduleCore == null)
-				return null;
-			if (resource.getType() == IResource.PROJECT) {
-				WorkbenchComponent[] comps = moduleCore.getWorkbenchModules();
-				if (comps.length > 0)
-					return ComponentCore.createComponent(resource.getProject());
-				return null;
-			}
-			module = moduleCore.findComponent(resource.getFullPath(),ResourceTreeNode.CREATE_NONE);	
-		} catch (UnresolveableURIException e) {
-			// Ignore
-		} finally {
-			if (moduleCore != null)
-				moduleCore.dispose();
-		}
-		return module == null ? null : ComponentCore.createComponent(resource.getProject());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() { 
-		return ADAPTER_LIST;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/SourcePathProvider.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/SourcePathProvider.java
deleted file mode 100644
index 4cc4ab1..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/SourcePathProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class SourcePathProvider implements IPathProvider {
-	
-	public static IPathProvider INSTANCE = new SourcePathProvider();
-	
-	private SourcePathProvider() {} 
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.modulecore.util.IPathProvider#getPath(org.eclipse.wst.common.modulecore.WorkbenchComponent)
-	 */
-	public IPath getPath(ComponentResource aModuleResource) {
-		return aModuleResource.getSourcePath();
-	}
-
-	public EStructuralFeature getFeature() {
-		return ComponentcorePackage.eINSTANCE.getComponentResource_SourcePath();
-	}
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/URITranslator.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/URITranslator.java
deleted file mode 100644
index 84743f9..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/URITranslator.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-import org.eclipse.wst.common.internal.emf.resource.TranslatorPath;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class URITranslator extends Translator {
-
-	public URITranslator(String aDomPath, EStructuralFeature aFeature) {
-		super(aDomPath, aFeature);
-	}
-	
-	public URITranslator(String aDomPath, EStructuralFeature aFeature, TranslatorPath aTranslatorPath) {
-		super(aDomPath, aFeature, new TranslatorPath[]{aTranslatorPath});
-	}
-	
-	public URITranslator(String aDomPath, EStructuralFeature aFeature, TranslatorPath[] theTranslatorPaths) {
-		super(aDomPath, aFeature, theTranslatorPaths);
-	}
-	
-	public URITranslator(String aDomPath, EStructuralFeature aFeature, int aStyleMask) {
-		super(aDomPath, aFeature, aStyleMask);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.Translator#convertStringToValue(java.lang.String,
-	 *      org.eclipse.emf.ecore.EObject)
-	 */
-	public Object convertStringToValue(String aValue, EObject anOwner) { 
-		return URI.createURI(aValue);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.internal.emf.resource.Translator#convertValueToString(java.lang.Object,
-	 *      org.eclipse.emf.ecore.EObject)
-	 */
-	public String convertValueToString(Object aValue, EObject anOwner) { 
-		if(aValue instanceof URI) 
-			return ((URI)aValue).toString();
-		return super.convertValueToString(aValue, anOwner);
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesTranslator.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesTranslator.java
deleted file mode 100644
index 4f5f383..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesTranslator.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.wst.common.componentcore.internal.ComponentcorePackage;
-import org.eclipse.wst.common.internal.emf.resource.GenericTranslator;
-import org.eclipse.wst.common.internal.emf.resource.IDTranslator;
-import org.eclipse.wst.common.internal.emf.resource.RootTranslator;
-import org.eclipse.wst.common.internal.emf.resource.Translator;
-
-
-public class WTPModulesTranslator extends RootTranslator implements WTPModulesXmlMapperI{
-	public static WTPModulesTranslator INSTANCE = new WTPModulesTranslator();
-	private static Translator[] children;
-	private static final ComponentcorePackage MODULE_CORE_PKG = ComponentcorePackage.eINSTANCE;
-	/**
-	 * @param domNameAndPath
-	 * @param eClass
-	 */
-	public WTPModulesTranslator() {
-		super(PROJECT_MODULES, ComponentcorePackage.eINSTANCE.getProjectComponents());
-	}	
-	
-//	public void setMOFValue(Notifier owner, Object value, int newIndex) {		
-//		super.setMOFValue(owner, value, newIndex);
-//		EObject target = ((EObject)value);
-//		IProject project = ProjectUtilities.getProject(target);
-//		if(project != null)
-//			target.eSet(ComponentcorePackage.eINSTANCE.getProjectComponents_ProjectName(), project.getName());
-//	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.common.internal.emf.resource.Translator#getChildren(java.lang.Object, int)
-	 */
-	public Translator[] getChildren(Object target, int versionID) {
-		if(children == null)
-			children = createWTPModulesTranslator();
-		return children;
-	}
-	
-	private static Translator[] createWTPModulesTranslator() {
-		return new Translator[] {
-				IDTranslator.INSTANCE,
-				createWBModuleTranslator(MODULE_CORE_PKG.getProjectComponents_Components())
-		};
-	}
-
-	/**
-	 * @return
-	 */
-	private static Translator createWBModuleTranslator(EStructuralFeature afeature) {
-		GenericTranslator result = new GenericTranslator(WORKBENCH_COMPONENT, afeature);
-		result.setChildren(new Translator[] {
-			IDTranslator.INSTANCE,
-			//new Translator(HANDLE, MODULE_CORE_PKG.getWorkbenchComponent_Handle(), DOM_ATTRIBUTE), REMOVED SINCE HANDLE SHOULD NOW BE DERIVED -MDE
-			new Translator(RUNTIME_NAME, MODULE_CORE_PKG.getWorkbenchComponent_Name(), DOM_ATTRIBUTE), 
-			createModuleTypeTranslator(MODULE_CORE_PKG.getWorkbenchComponent_ComponentType()),
-			createWBResourceTranslator(MODULE_CORE_PKG.getWorkbenchComponent_Resources()),
-			createDependentModuleTranslator(MODULE_CORE_PKG.getWorkbenchComponent_ReferencedComponents()),
-			new IPathTranslator(META_RESOURCES, MODULE_CORE_PKG.getWorkbenchComponent_MetadataResources()),
-			createPropertiesTranslator(MODULE_CORE_PKG.getWorkbenchComponent_Properties())
-		});
-		return result;
-	}
-	private static Translator createModuleTypeTranslator(EStructuralFeature afeature) {
-		GenericTranslator result = new GenericTranslator(MODULE_TYPE, afeature);
-		result.setChildren(new Translator[] {			
-			new Translator(COMPONENT_TYPE_ID, MODULE_CORE_PKG.getComponentType_ComponentTypeId(), DOM_ATTRIBUTE),
-			new Translator(META_RESOURCES, MODULE_CORE_PKG.getComponentType_MetadataResources()),
-			new Translator(COMPONENT_TYPE_VERSION, MODULE_CORE_PKG.getComponentType_Version()),
-			createPropertiesTranslator(MODULE_CORE_PKG.getComponentType_Properties())
-			
-		});
-		return result;
-	}
-	
-	private static Translator createPropertiesTranslator(EStructuralFeature afeature){
-		GenericTranslator result = new GenericTranslator(PROPERTY, afeature);
-		result.setChildren(new Translator[] {
-			new Translator(PROPERTY_NAME, MODULE_CORE_PKG.getProperty_Name(), DOM_ATTRIBUTE ),
-			new Translator(PROPERTY_VALUE, MODULE_CORE_PKG.getProperty_Value(), DOM_ATTRIBUTE ),
-	
-		});
-		return result;		
-	}
-	
-	
-	private static Translator createDependentModuleTranslator(EStructuralFeature afeature) {
-		GenericTranslator result = new GenericTranslator(REFERENCED_COMPONENT, afeature);
-		result.setChildren(new Translator[] { 
-			new IPathTranslator(RUNTIME_PATH, MODULE_CORE_PKG.getReferencedComponent_RuntimePath(), DOM_ATTRIBUTE),
-			new URITranslator(HANDLE, MODULE_CORE_PKG.getReferencedComponent_Handle(), DOM_ATTRIBUTE),
-			new HRefTranslator(DEP_OBJECT,MODULE_CORE_PKG.getReferencedComponent_DependentObject()),
-			new DependencyTypeTranslator()
-		});
-		return result;
-	}
-
-
-	private static Translator createWBResourceTranslator(EStructuralFeature afeature) {
-		GenericTranslator result = new GenericTranslator(COMPONENT_RESOURCE, afeature);
-		result.setChildren(new Translator[] {
-			IDTranslator.INSTANCE,
-			new IPathTranslator(SOURCE_PATH, MODULE_CORE_PKG.getComponentResource_SourcePath(), DOM_ATTRIBUTE),
-			new IPathTranslator(RUNTIME_PATH, MODULE_CORE_PKG.getComponentResource_RuntimePath(), DOM_ATTRIBUTE),
-			new Translator(RESOURCE_TYPE, MODULE_CORE_PKG.getComponentResource_ResourceType(), DOM_ATTRIBUTE),
-			new Translator(EXCLUSIONS, MODULE_CORE_PKG.getComponentResource_Exclusions())
-		});
-		return result;
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesXmlMapperI.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesXmlMapperI.java
deleted file mode 100644
index cc3ee7a..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/WTPModulesXmlMapperI.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-public interface WTPModulesXmlMapperI {
-	String PROJECT_MODULES = "project-modules";//$NON-NLS-1$  
-	String WORKBENCH_COMPONENT = "wb-module";//$NON-NLS-1$
-	String REFERENCED_COMPONENT = "dependent-module";//$NON-NLS-1$
-	String COMPONENT_RESOURCE = "wb-resource"; //$NON-NLS-1$
-	String MODULE_TYPE = "module-type";//$NON-NLS-1$ 
-	String META_RESOURCES = "meta-resources";//$NON-NLS-1$ 
-	String COMPONENT_TYPE_VERSION = "version";//$NON-NLS-1$ 
-	String HANDLE = "handle";//$NON-NLS-1$
-	String DEP_OBJECT = "dependent-object";//$NON-NLS-1$ 
-	String OBJECTREF = "href";//$NON-NLS-1$
-	String DEPENDENCY_TYPE = "dependency-type";//$NON-NLS-1$
-	String SOURCE_PATH = "source-path"; //$NON-NLS-1$
-	String RUNTIME_PATH = "deploy-path"; //$NON-NLS-1$
-	String EXCLUSIONS = "exclusions";//$NON-NLS-1$  
-	String COMPONENT_TYPE_ID = "module-type-id"; //$NON-NLS-1$
-	String RUNTIME_NAME = "deploy-name"; //$NON-NLS-1$
-	String PROPERTY = "property"; //$NON-NLS-1$
-	String PROPERTY_NAME = "name";//$NON-NLS-1$
-	String PROPERTY_VALUE = "value";//$NON-NLS-1$
-	String RESOURCE_TYPE = "resource-type";//$NON-NLS-1$
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ZipFileExporter.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ZipFileExporter.java
deleted file mode 100644
index 7be0c31..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/internal/util/ZipFileExporter.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.internal.util;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.CRC32;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-
-/**
- * Exports resources to a .zip file
- */
-public class ZipFileExporter {
-	private ZipOutputStream outputStream;
-	private StringBuffer manifestContents;
-
-	private boolean useCompression = true;
-
-	/**
-	 * Create an instance of this class.
-	 * 
-	 * @param filename
-	 *            java.lang.String
-	 * @param compress
-	 *            boolean
-	 * @param includeManifestFile
-	 *            boolean
-	 * @exception java.io.IOException
-	 */
-	public ZipFileExporter(String filename, boolean compress) throws IOException {
-		Path directoryPath = new Path(filename);
-		directoryPath = (Path) directoryPath.removeLastSegments(1);
-		File newZipFile = new File(directoryPath.toString());
-		newZipFile.mkdirs();
-		outputStream = new ZipOutputStream(new FileOutputStream(filename));
-		useCompression = compress;
-	}
-
-	/**
-	 * Do all required cleanup now that we're finished with the currently-open .zip
-	 * 
-	 * @exception java.io.IOException
-	 */
-	public void finished() throws IOException {
-		outputStream.close();
-	}
-
-	/**
-	 * Create a new ZipEntry with the passed pathname and contents, and write it to the current
-	 * archive
-	 * 
-	 * @param pathname
-	 *            java.lang.String
-	 * @param contents
-	 *            byte[]
-	 * @exception java.io.IOException
-	 */
-	protected void write(String pathname, byte[] contents) throws IOException {
-		ZipEntry newEntry = new ZipEntry(pathname);
-
-		// if the contents are being compressed then we get the below for free.
-		if (!useCompression) {
-			newEntry.setMethod(ZipEntry.STORED);
-			newEntry.setSize(contents.length);
-			CRC32 checksumCalculator = new CRC32();
-			checksumCalculator.update(contents);
-			newEntry.setCrc(checksumCalculator.getValue());
-		}
-
-		outputStream.putNextEntry(newEntry);
-		outputStream.write(contents);
-		outputStream.closeEntry();
-	}
-
-	public void writeFolder(String destinationPath) throws IOException {
-		if (!destinationPath.endsWith("/"))
-			destinationPath = destinationPath + '/';
-		ZipEntry newEntry = new ZipEntry(destinationPath);
-		outputStream.putNextEntry(newEntry);
-		outputStream.closeEntry();
-	}
-
-	/**
-	 * Write the passed resource to the current archive
-	 * 
-	 * @param resource
-	 *            org.eclipse.core.resources.IFile
-	 * @param destinationPath
-	 *            java.lang.String
-	 * @exception java.io.IOException
-	 * @exception org.eclipse.core.runtime.CoreException
-	 */
-	public void write(IFile resource, String destinationPath) throws IOException, CoreException {
-		InputStream contentStream = null;
-		try {
-			contentStream = resource.getContents(false);
-			write(contentStream, destinationPath);
-		} finally {
-			if (contentStream != null)
-				contentStream.close();
-		}
-	}
-
-	public void write(InputStream contentStream, String destinationPath) throws IOException, CoreException {
-		ByteArrayOutputStream output = null;
-
-		try {
-			output = new ByteArrayOutputStream();
-			int chunkSize = contentStream.available();
-			byte[] readBuffer = new byte[chunkSize];
-			int n = contentStream.read(readBuffer);
-
-			while (n > 0) {
-				output.write(readBuffer);
-				n = contentStream.read(readBuffer);
-			}
-		} finally {
-			if (output != null)
-				output.close();
-		}
-
-		write(destinationPath, output.toByteArray());
-	}
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/package.html b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/package.html
deleted file mode 100644
index 9c904da..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/package.html
+++ /dev/null
@@ -1,368 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../..//apistyles.css" type="text/css">
-<title>modulecore api overview</title>
-</head>
-<body>
-<p>
-        The ComponentCore API allows clients to work with the Structural 
-        Metamodels that define abstract modules within Eclipse projects. 
-        These metamodels are exposed through the Virtual Path API layer 
-        (see <a href="ComponentCore.html">ComponentCore</a>). Clients 
-        should also review the <b>org.eclipse.wst.common.componentcore.resources</b>
-        package.
-		</p>
-<a name="top"></a>
-<table width="500">
-<tr>
-<td>
-<p>
-			The following document includes information on these topics:
-			<ul>
-				
-<li>
-<a href="#structural-metamodel">ComponentCore Metamodel (CCM)</a> 
-					used to understand which files should or should not be 
-					included within a module.</li> 
-				
-<li>
-<a href="#constraints">Constraints</a> enforced by the 
-					design</li> 
-				
-<li>
-<a href="#module-core-examples">The API entry-point</a>
-</li>
-			
-</ul>
-		
-</p>
-</td>
-</tr>
-</table>
-<a name="structural-metamodel"></a>
-<table width="100%" cellspacing="5" cellpadding="2" border="0">
-<tbody>
-<tr>
-<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">ComponentCore Metamodel (CCM)</font></b></td>
-</tr>
-</tbody>
-</table>
-<BR>
-<table width="500">
-<tr>
-<td>
-<p>
-            The ComponentCore Metamodel (CCM) is an EMF model that allows 
-			the tooling to understand most project structures. Each project 
-			has a single CCM which is stored under the project root named
-            <I>.wtpmodules</I>
-            . The XML format is defined by the 
-            <a href="../../../../../overview/componentCore.xsd">ComponentCore schema</a>.
-            The following diagram is a UML representation of the 
-			ComponentCore Metamodel. This information is published for 
-			potential contributors of editors, but the EMF model is 
-			not exposed directly as API, and could change in view of 
-			changes for WTP 1.1.
-		</p>
-</td>
-</tr>
-</table>
-<table cellpadding="10" cellspacing="10">
-<tr>
-<td>
-<p>
-<img src="../../../../../overview/componentcore_model.jpg"></p>
-</td>
-</tr>
-<tr>
-<td>
-<p>
-<i>Figure 1: The Component Core Metamodel</i>
-</p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            Each logical component contained in the project is represented by a
-            <b>WorkbenchComponent</b> element. The <b>WorkbenchComponent</b> defines 
-            information about the type of component, the resources consumed by the 
-            module from the project, and the referenced components. The 
-            <b>WorkbenchComponent</b> is very generic, and as modeled, does 
-            not necessarily correspond to only J2EE artifacts.
-        </p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            The <b>WorkbenchComponent</b> has a
-            <i>name</i>
-            , which is the name that will be used when the runtime form of the
-            component is constructed. For a web application, the
-            <i>name</i>
-            might be "MyWebApplication".
-        </p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            The <b>WorkbenchComponent</b> may be uniquely referenced by a URI. The 
-            fully qualified URI to any component must begin with the component
-            protocol ("component:"), specify a subprotocol ("resource|classpath") and
-            then a path to the referenced component. A <b>WorkbenchComponent</b> with the
-            name "MyWebApplication" defined in a project named
-            "MyWebModulesProject" would be referenced by the following URI:
-            "component:/resource/MyWebModulesProject/MyWebApplication". As a future 
-            extension, a component referenced on the classpath of a project (perhaps 
-            a Utility Jar or an EJB Client Jar), the URI might be something like:
-            "component:/classpath/MyWebModulesProject/CustomerEJBClient.jar". 
-        </p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            The <b>WorkbenchComponent</b> has a <b>ComponentType</b>. The 
-            <b>ComponentType</b> defines a <i>componentTypeId</i>
-            , which indicates the specific kind of component. The Web Tools Platform
-            uses the <i>componentTypeId</i>
-            to determine how to work with the content component of the <b>WorkbenchComponent</b>
-            and prepare the component for deployment. The <b>ComponentType</b> may 
-            also define the runtime-paths of special metadata resources which are 
-            important to the <b>WorkbenchComponent</b>. "Metadata" refers to resources 
-            which explain the content details of the specific modules. An example of 
-            such a file would be the "WEB-INF/web.xml" deployment descriptor for 
-            Web Applications.
-        </p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            The <b>WorkbenchComponent</b> contains a list of ComponentResources. Each
-            <b>ComponentResource</b> has "sourcePath" and a corresponding
-            "runtimePath". The "sourcePath" can reference either a file or folder,
-            but the referenced resource must be contained in the same project as the
-            <b>WorkbenchComponent</b> definition. The "runtimePath" specifies a location
-            relative to the deployed structure of the <b>WorkbenchComponent</b> where the
-            contents of the referenced resource will be represented when the module is
-            prepared for runtime.
-        </p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            The <b>WorkbenchComponent</b> contains a list of <b>ReferencedComponent</b>s. 
-            Each <b>ReferencedComponent</b> provides a handle that must resolve to a 
-            <b>WorkbenchComponent</b>, a runtimePath that defines where the constructed 
-            component will be placed within the context of the runtime 
-            <b>WorkbenchComponent</b>, and a <b>DependencyType</b>
-            that can be either "consume" or "use" to indicate how the contents of
-            that <b>ReferencedComponent</b> should be absorbed by the <b>WorkbenchComponent</b>.
-            <b>ReferencedComponent</b>s may reference <b>WorkbenchComponent</b>s in 
-            other projects and on current project's classpath (Not yet implemented). 
-            The <b>DependencyType</b> will determine whether the contents of
-            the <b>ReferencedComponent</b> are absorbed as-is or archived into a *.{w|j|e}ar
-            file.
-        </p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            The <b>ProjectComponents</b> object provides a root container for all
-            <b>WorkbenchComponent</b>s defined in a given project.
-        </p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            
-<b>ComponentCore</b> provides a facade to manage the underlying model for
-            clients. Static methods
-            <code>ModuleCore.getModuleCoreForRead()</code>
-            and
-            <code>ModuleCore.getModuleCoreForWrite()</code>
-            may be used to acquire an ModuleCore adapter, and clients are responsible
-            for invoking
-            <code>dispose()</code>
-            whenever they are finished using the model.
-        </p>
-</td>
-</tr>
-</table>
-<a href="#top">top</a><a name="constraints"></a>
-<table width="100%" cellspacing="5" cellpadding="2" border="0">
-<tbody>
-<tr>
-<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Constraints enforced by the CCM</font></b></td>
-</tr>
-</tbody>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-            The following constraints are enforced by the model:
-            <ol>
-                
-<li>
-                    
-<p>
-                        The solution will not check dependencies for components that are
-                        contained in the same project. To get the full benefits of
-                        inter-component dependency checking, components must be separated
-                        into different projects. We do not have the necessary
-                        flexibility in constructing and scoping classpaths on a level
-                        more granular than the project level, which would be needed
-                        to support this functionality.
-                    </p>
-                
-</li>
-                
-<li>
-                    
-<p>
-                        The solution will not allow a single component to span more than
-                        one project. Within that project, we will have fairly broad
-                        flexibility to specify which resources map to which components.
-                        Each component within a project must have its own source folder,
-                        but a component may contain more than one source folder. Each
-                        source folder may be contained by at most one component. Components
-                        may reference dependent components in other projects (so a Web
-                        Application may reference a Web Library outside of the
-                        project that contains the Web Application).
-                    </p>
-                
-</li>
-                
-<li>
-                    
-<p>
-                        The solution will not allow more than one server target per
-                        component (and really per-project) at a time. The ability to
-                        switch this server target (via some action or property
-                        setting) will continue to be possible. Users that need the
-                        capability to develop for multiple server targets will need
-                        to manually switch and test as necessary.
-                    </p>
-                
-</li>
-                
-<li>
-                    
-<p>
-                        Each component in a project may have its own output folder
-                        structure automatically constructed for it. The output
-                        structure will match the J2EE specification output structure
-                        required for the component type (for J2EE modules). A new
-                        builder will handle this responsibility and work
-                        cooperatively with the Java builder to construct a
-                        deployable, on-disk representation of the module structure.
-                        The reference implementation will follow this pattern, but 
-                        hooks will be made available to vary this behavior.
-                        The necessity for this on-disk structure to match a
-                        J2EE-compliant layout is motivated by the requirement to have
-                        in-workbench testing, so that users will not have to deal
-                        with a deployer actually constructing a deployable module and
-                        shipping it off to a server to test their code. This approach
-                        is consistent with existing Ant-based approaches and
-                        Application Servers which can run in a "debug" mode on disk.
-                        Our value-add will be greater automation and integration with
-                        the workbench -- particularly for incremental based support.
-                        The specialized module builder would not be necessary if the
-                        source was already in the appropriate J2EE specification
-                        compliant structure. The default creation will still
-                        encourage a single module per project, which conforms to the
-                        correct J2EE structure.
-                    </p>
-                
-</li>
-                
-<li>
-                    
-<p>
-                        Components will be described using a simple XML format, and each
-                        project will contain one
-                        <I>.wtpmodules</I>
-                        file that will describe all of the components for that project.
-                        The level of tooling to help users create these files is yet
-                        to be determined for WTP M4. This would be a great area for
-                        other interested developers to suggest and provide tooling
-                        (e.g. a Wizard or Editor) to create these files from existing
-                        structures. A schema is provided to make it easier for
-                        consumers that want to build their own
-                        <I>.wtpmodules</I>
-                        by hand to take advantage of the content assist in the XML
-                        editor.
-                    </p>
-                
-</li>
-            
-</ol>
-        
-</p>
-</td>
-</tr>
-</table>
-<a href="#top">top</a><a name="module-core-examples"></a>
-<table width="100%" cellspacing="5" cellpadding="2" border="0">
-<tbody>
-<tr>
-<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">ComponentCore API: Working with the metamodel</font></b></td>
-</tr>
-</tbody>
-</table>
-<BR>
-<table width="500">
-<tr>
-<td>
-<p>
-			ComponentCore uses a handle based model much like the existing Platform 
-			Resource model. The ComponentCore facade is not tied to any project, and 
-			the handles that it returns may or may not exist. The complexity of 
-			managing the underlying EMF model is handled under the cover for users. 
-        </p>
-</td>
-</tr>
-</table>
-<table cellpadding="10" cellspacing="10">
-<tr>
-<td>
-<p>
-<img src="../../../../../overview/componentcore_package.jpg"></p>
-</td>
-</tr>
-<tr>
-<td>
-<p>
-<i>Figure 2: The ComponentCore API</i>
-</p>
-</td>
-</tr>
-</table>
-<a href="#top">top</a>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/package.xml b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/package.xml
deleted file mode 100644
index 3b5c004..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/package.xml
+++ /dev/null
@@ -1,331 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../" />
-        <title>modulecore api overview</title>
-    </head>
-
-    <body>  
-		<abstract>
-        The ComponentCore API allows clients to work with the Structural 
-        Metamodels that define abstract modules within Eclipse projects. 
-        These metamodels are exposed through the Virtual Path API layer 
-        (see <a href="ComponentCore.html">ComponentCore</a>). Clients 
-        should also review the <b>org.eclipse.wst.common.componentcore.resources</b>
-        package.
-		</abstract>
-
-		<a name="top"/>
-		<p>
-			The following document includes information on these topics:
-			<ul>
-				<li><a href="#structural-metamodel">ComponentCore Metamodel (CCM)</a> 
-					used to understand which files should or should not be 
-					included within a module.</li> 
-				<li><a href="#constraints">Constraints</a> enforced by the 
-					design</li> 
-				<li><a href="#module-core-examples">The API entry-point</a></li>
-			</ul>
-		</p>
-		<a name="structural-metamodel"/>
-        <h2>ComponentCore Metamodel (CCM)</h2>
-        <BR /> 
-        <p>
-            The ComponentCore Metamodel (CCM) is an EMF model that allows 
-			the tooling to understand most project structures. Each project 
-			has a single CCM which is stored under the project root named
-            <I>.wtpmodules</I>
-            . The XML format is defined by the 
-            <a href="../../../../../overview/componentCore.xsd">ComponentCore schema</a>.
-            The following diagram is a UML representation of the 
-			ComponentCore Metamodel. This information is published for 
-			potential contributors of editors, but the EMF model is 
-			not exposed directly as API, and could change in view of 
-			changes for WTP 1.1.
-		</p>	  
-		<img src="../../../../../overview/componentcore_model.jpg" caption="The Component Core Metamodel" /> 
-        <p>
-            Each logical component contained in the project is represented by a
-            <b>WorkbenchComponent</b> element. The <b>WorkbenchComponent</b> defines 
-            information about the type of component, the resources consumed by the 
-            module from the project, and the referenced components. The 
-            <b>WorkbenchComponent</b> is very generic, and as modeled, does 
-            not necessarily correspond to only J2EE artifacts.
-        </p>
-        <p>
-            The <b>WorkbenchComponent</b> has a
-            <i>name</i>
-            , which is the name that will be used when the runtime form of the
-            component is constructed. For a web application, the
-            <i>name</i>
-            might be "MyWebApplication".
-        </p>
-        <p>
-            The <b>WorkbenchComponent</b> may be uniquely referenced by a URI. The 
-            fully qualified URI to any component must begin with the component
-            protocol ("component:"), specify a subprotocol ("resource|classpath") and
-            then a path to the referenced component. A <b>WorkbenchComponent</b> with the
-            name "MyWebApplication" defined in a project named
-            "MyWebModulesProject" would be referenced by the following URI:
-            "component:/resource/MyWebModulesProject/MyWebApplication". As a future 
-            extension, a component referenced on the classpath of a project (perhaps 
-            a Utility Jar or an EJB Client Jar), the URI might be something like:
-            "component:/classpath/MyWebModulesProject/CustomerEJBClient.jar". 
-        </p>
-        <p>
-            The <b>WorkbenchComponent</b> has a <b>ComponentType</b>. The 
-            <b>ComponentType</b> defines a <i>componentTypeId</i>
-            , which indicates the specific kind of component. The Web Tools Platform
-            uses the <i>componentTypeId</i>
-            to determine how to work with the content component of the <b>WorkbenchComponent</b>
-            and prepare the component for deployment. The <b>ComponentType</b> may 
-            also define the runtime-paths of special metadata resources which are 
-            important to the <b>WorkbenchComponent</b>. "Metadata" refers to resources 
-            which explain the content details of the specific modules. An example of 
-            such a file would be the "WEB-INF/web.xml" deployment descriptor for 
-            Web Applications.
-        </p>
-        <p>
-            The <b>WorkbenchComponent</b> contains a list of ComponentResources. Each
-            <b>ComponentResource</b> has "sourcePath" and a corresponding
-            "runtimePath". The "sourcePath" can reference either a file or folder,
-            but the referenced resource must be contained in the same project as the
-            <b>WorkbenchComponent</b> definition. The "runtimePath" specifies a location
-            relative to the deployed structure of the <b>WorkbenchComponent</b> where the
-            contents of the referenced resource will be represented when the module is
-            prepared for runtime.
-        </p>
-        <p>
-            The <b>WorkbenchComponent</b> contains a list of <b>ReferencedComponent</b>s. 
-            Each <b>ReferencedComponent</b> provides a handle that must resolve to a 
-            <b>WorkbenchComponent</b>, a runtimePath that defines where the constructed 
-            component will be placed within the context of the runtime 
-            <b>WorkbenchComponent</b>, and a <b>DependencyType</b>
-            that can be either "consume" or "use" to indicate how the contents of
-            that <b>ReferencedComponent</b> should be absorbed by the <b>WorkbenchComponent</b>.
-            <b>ReferencedComponent</b>s may reference <b>WorkbenchComponent</b>s in 
-            other projects and on current project's classpath (Not yet implemented). 
-            The <b>DependencyType</b> will determine whether the contents of
-            the <b>ReferencedComponent</b> are absorbed as-is or archived into a *.{w|j|e}ar
-            file.
-        </p>
-        <p>
-            The <b>ProjectComponents</b> object provides a root container for all
-            <b>WorkbenchComponent</b>s defined in a given project.
-        </p>
-        <p>
-            <b>ComponentCore</b> provides a facade to manage the underlying model for
-            clients. Static methods
-            <code>ModuleCore.getModuleCoreForRead()</code>
-            and
-            <code>ModuleCore.getModuleCoreForWrite()</code>
-            may be used to acquire an ModuleCore adapter, and clients are responsible
-            for invoking
-            <code>dispose()</code>
-            whenever they are finished using the model.
-        </p>  
-		<a href="#top">top</a>
-		<a name="constraints"/>
-        <h2>Constraints enforced by the CCM</h2>
-        <p>
-            The following constraints are enforced by the model:
-            <ol>
-                <li>
-                    <p>
-                        The solution will not check dependencies for components that are
-                        contained in the same project. To get the full benefits of
-                        inter-component dependency checking, components must be separated
-                        into different projects. We do not have the necessary
-                        flexibility in constructing and scoping classpaths on a level
-                        more granular than the project level, which would be needed
-                        to support this functionality.
-                    </p>
-                </li>
-                <li>
-                    <p>
-                        The solution will not allow a single component to span more than
-                        one project. Within that project, we will have fairly broad
-                        flexibility to specify which resources map to which components.
-                        Each component within a project must have its own source folder,
-                        but a component may contain more than one source folder. Each
-                        source folder may be contained by at most one component. Components
-                        may reference dependent components in other projects (so a Web
-                        Application may reference a Web Library outside of the
-                        project that contains the Web Application).
-                    </p>
-                </li>
-                <li>
-                    <p>
-                        The solution will not allow more than one server target per
-                        component (and really per-project) at a time. The ability to
-                        switch this server target (via some action or property
-                        setting) will continue to be possible. Users that need the
-                        capability to develop for multiple server targets will need
-                        to manually switch and test as necessary.
-                    </p>
-                </li>
-                <li>
-                    <p>
-                        Each component in a project may have its own output folder
-                        structure automatically constructed for it. The output
-                        structure will match the J2EE specification output structure
-                        required for the component type (for J2EE modules). A new
-                        builder will handle this responsibility and work
-                        cooperatively with the Java builder to construct a
-                        deployable, on-disk representation of the module structure.
-                        The reference implementation will follow this pattern, but 
-                        hooks will be made available to vary this behavior.
-                        The necessity for this on-disk structure to match a
-                        J2EE-compliant layout is motivated by the requirement to have
-                        in-workbench testing, so that users will not have to deal
-                        with a deployer actually constructing a deployable module and
-                        shipping it off to a server to test their code. This approach
-                        is consistent with existing Ant-based approaches and
-                        Application Servers which can run in a "debug" mode on disk.
-                        Our value-add will be greater automation and integration with
-                        the workbench -- particularly for incremental based support.
-                        The specialized module builder would not be necessary if the
-                        source was already in the appropriate J2EE specification
-                        compliant structure. The default creation will still
-                        encourage a single module per project, which conforms to the
-                        correct J2EE structure.
-                    </p>
-                </li>
-                <li>
-                    <p>
-                        Components will be described using a simple XML format, and each
-                        project will contain one
-                        <I>.wtpmodules</I>
-                        file that will describe all of the components for that project.
-                        The level of tooling to help users create these files is yet
-                        to be determined for WTP M4. This would be a great area for
-                        other interested developers to suggest and provide tooling
-                        (e.g. a Wizard or Editor) to create these files from existing
-                        structures. A schema is provided to make it easier for
-                        consumers that want to build their own
-                        <I>.wtpmodules</I>
-                        by hand to take advantage of the content assist in the XML
-                        editor.
-                    </p>
-                </li>
-            </ol>
-        </p>  
-		<a href="#top">top</a>
-		<a name="module-core-examples"/>
-        <h2>ComponentCore API: Working with the metamodel</h2>
-        <BR />  
-        <p>
-			ComponentCore uses a handle based model much like the existing Platform 
-			Resource model. The ComponentCore facade is not tied to any project, and 
-			the handles that it returns may or may not exist. The complexity of 
-			managing the underlying EMF model is handled under the cover for users. 
-        </p> 
-        <img src="../../../../../overview/componentcore_package.jpg" caption="The ComponentCore API" />  
-        <!--
-        <p>
-            Clients should use one of
-            <code>ModuleCore.getModuleCoreForRead()</code>
-            or
-            <code>ModuleCore.getModuleCoreForWrite()</code>
-            to acquire an instance of ModuleCore.                         
-			<codesnippet caption="Acquiring an instance of ComponentCore for read-only access">
-IProject currentProject = ... 
-ModuleCore moduleCoreInstance = ModuleCore.getModuleCoreForRead(currentProject);
-WorkbenchComponent[] modules = moduleCoreInstance.getWorkbenchComponents(); 
-... work with modules ... 
-moduleCoreInstance.dispose();
-			</codesnippet> 
-        </p>
-        <p>
-            For clients that would like to build up their own models for a given
-            project, or modify the existing metamodel, the ModuleCore instance should
-            be acquired for write-access. 
-        </p>
-		<codesnippet caption="Creating a WorkbenchComponent">            
-...
-import org.eclipse.emf.common.util.URI; 
-...
-
-public static void createWebAppModule(IProject aTargetProject, 
-                      IFolder aJavaSourceFolder, 
-                      IFolder aWebContentFolder, 
-                      IResource aWebAppDeploymentDescriptor, 
-                      IProgressMonitor aProgressMonitor) 
-{
-    ModuleCore moduleCoreInstance = null;
-    try {
-        moduleCoreInstance = 
-            ModuleCore.getModuleCoreForWrite(aTargetProject);
-
-        /* Create a new module that will be 
-            contained by the current ModuleCore */
-        WorkbenchComponent newModule = 
-            moduleCoreInstance.createWorkbenchComponent("MyWebModule.war");
-
-        /* A Java source folder that contains 
-                the classes for the current module */
-        ComponentResource javaSource = 
-            moduleCoreInstance.createComponentResource(
-                                                aJavaSourceFolder);
-        javaSource.setDeployedPath(
-                            URI.createURI("/WEB-INF/classes"));
-        newModule.getResources().add(javaSource);
-
-        /* A resource folder that contains 
-            the *.jsp, *.html, .img, ... files */
-        ComponentResource webContent = 
-            moduleCoreInstance.createComponentResource(
-                                                    aWebContentFolder);
-        webContent.setDeployedPath(URI.createURI("/"));
-        newModule.getResources().add(webContent);
-
-        /* A resource that points to a valid web.xml 
-                file that follows the J2EE Web Deployment
-                Descriptor Specification
-         */
-        ComponentResource deploymentDescriptor = 
-            moduleCoreInstance.createComponentResource(
-                                                aWebAppDeploymentDescriptor);
-        deploymentDescriptor.setDeployedPath(
-                                    URI.createURI("/WEB-INF/web.xml"));
-        newModule.getResources().add(deploymentDescriptor);
-
-        moduleCoreInstance.saveIfNecessary(aProgressMonitor);
-    } finally {
-        if (moduleCoreInstance != null) {
-            moduleCoreInstance.dispose();
-        }
-    }
-}
-		</codesnippet>  
-        <p>
-            For clients that would like to take an existing project an add Flexible
-            Project Support, use the ModuleCoreNature.addModuleCoreIfNecessary() API
-            to prepare the project to support flexible module structures. the
-            existing metamodel, then acquire the ModuleCore instance for modification.
-        </p>
-		<codesnippet caption="Add Flexible Project support to a new or existing project">
-... 
-import org.eclipse.emf.common.util.URI; 
-...
-public static void makeFlexible(IProject aTargetProject) {
-    ModuleCore moduleCoreInstance = null;
-    try {
-        ModuleCoreNature.addModuleCoreNatureIfNecessary(aTargetProject);
-        moduleCoreInstance = ModuleCore.getModuleCoreForWrite(aTargetProject);
-        ... work with moduleCoreInstance and underlying model ...
-        moduleCoreInstance.saveIfNecessary(aProgressMonitor);
-    } finally {
-        if (moduleCoreInstance != null) {
-            moduleCoreInstance.dispose();
-        }
-    }
-}
-		</codesnippet> 
-		-->
-		<a href="#top">top</a>
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualComponent.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualComponent.java
deleted file mode 100644
index d07c71f..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualComponent.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.resources;
-
-import java.util.Properties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-
-/**
- * Represents a component as defined by the .component file.
- * <p>
- * A component is a container of virtual resources which has other features that describe the
- * component including:
- * 
- * @plannedfor 1.0
- */
-public interface IVirtualComponent extends IAdaptable {
-	
-	IPath ROOT = new Path("/"); //$NON-NLS-1$
-	
-	/**
-	 * Type constant (bit mask value 1) which identifies component binary status.
-	 */
-	public static final int BINARY = 0x1;
-	
-	
-	/**
-	 * The name of the component must be unique within its enclosing project.
-	 * 
-	 * @return The name of the component.
-	 */
-	String getName();
-	
-	/**
-	 * @return The deployed name of the component.
-	 */
-	String getDeployedName();
-
-	/**
-	 * The componentTypeId is used to understand how this component should be edited and deployed.
-	 * Examples include "jst.web" or "jst.utility". The componentTypeId can be set to any value when
-	 * created so long as that value makes sense to the clients. Standard componentTypeIds may be
-	 * available for common component types.
-	 * 
-	 * @return The componentTypeId, a string based identifier that indicates the component
-	 */
-//	String getComponentTypeId();
-	
-	
-	/**
-	 * Returns reference to itself.
-	 * <p>
-	 *  
-	 * @return the name of the component that contains the virtual resource
-	 */
-	public IVirtualComponent getComponent();
-	
-
-	/**
-	 * 
-	 * The componentTypeId is used to understand how this component should be edited and deployed.
-	 * Examples include "jst.web" or "jst.utility". The componentTypeId can be set to any value when
-	 * created so long as that value makes sense to the clients. Standard componentTypeIds may be
-	 * available for common component types.
-	 * 
-	 * @param aComponentTypeId
-	 *            A value which is either standard for a common component type or client-defined for
-	 *            a custom component type
-	 */
-//	void setComponentTypeId(String aComponentTypeId);
-
-	/**
-	 * MetaProperties are String-based name-value pairs that include information about this
-	 * component that may be relevant to clients or the way that clients edit or deploy components.
-	 * 
-	 * @return A by-reference instance of the properties for this component.
-	 */
-	Properties getMetaProperties();
-	
-	/**
-	 * Adds a single property
-	 * @param property
-	 * 		A value which is name, value pair, see ComponentcoreFactory.eINSTANCE.createProperty()
-	 * 		
-	 */
-	void setMetaProperty(String name, String value);
-	
-	/**
-	 * Adds the properties provided as a list
-	 * @param properties
-	 * 			A list of properties
-	 */
-	void setMetaProperties(Properties properties);
-
-	/**
-	 * MetaResources provide a loose mechanism for components that would like to list off the
-	 * metadata-resources available in the component which can aid or expedite searching for this
-	 * resources.
-	 * <p>
-	 * Clients are not required to get or set the MetaResources for a component.
-	 * </p>
-	 * 
-	 * @return A by-value copy of the MetaResources array
-	 * @see #setMetaResources(IPath[])
-	 */
-	IPath[] getMetaResources();
-
-	/**
-	 * 
-	 * MetaResources provide a loose mechanism for components that would like to list off the
-	 * metadata-resources available in the component which can aid or expedite searching for this
-	 * resources.
-	 * <p>
-	 * Clients are not required to get or set the MetaResources for a component. The existing
-	 * MetaResources will be overwritten after the call to this method.
-	 * </p>
-	 * 
-	 * @param theMetaResourcePaths
-	 *            An array of paths that will become the new MetaResource array.
-	 */
-	void setMetaResources(IPath[] theMetaResourcePaths);
-
-
-	/**
-	 * Virtual components may reference other virtual components to build logical dependency trees. 
-	 * <p>
-	 * Each virtual reference will indicate how the content of the reference will be absorbed 
-	 * by this component. Each virtual reference will always specify an enclosing component that will
-	 * be this component.   
-	 * </p>
-	 * @return A by-value copy of the virtual reference array
-	 */
-	IVirtualReference[] getReferences();
-	/**
-	 * Virtual components may reference other virtual components to build logical dependency trees. 
-	 * <p>
-	 * Each virtual reference will indicate how the content of the reference will be absorbed 
-	 * by this component. Each virtual reference will always specify an enclosing component that will
-	 * be this component.   
-	 * </p>
-	 * @return A by-value copy of the virtual reference with given name, or null if none exist matching this name
-	 */
-	IVirtualReference getReference(String aComponentName);
-	
-	/**
-	 * Virtual components may reference other virtual components to build logical dependency trees. 
-	 * <p>
-	 * Each virtual reference will indicate how the content of the reference will be absorbed 
-	 * by this component. Each virtual reference will always specify an enclosing component that will
-	 * be this component. Any references specified in the array which do not specify an enclosing
-	 * component that matches this component will be modified to specify this virtual component. 
-	 * </p>
-	 * <p>
-	 * Existing virtual references will be overwritten when this method is called.
-	 * </p>
-	 * @param theReferences A by-value copy of the virtual reference array
-	 */
-	void setReferences(IVirtualReference[] theReferences);
-	
-	public void addReferences(IVirtualReference[] references);
-	
-	/**
-	 * Returns true if this component is of binary type
-	 * 
-	 * @return The binary status.
-	 */
-	boolean isBinary();		
-	
-	
-	/**
-	 * Create the underlying model elements if they do not already exist. Resources
-	 * may be created as a result of this method if the mapped path does not exist. 
-	 * 
-	 * @param updateFlags Any of IVirtualResource or IResource update flags. If a 
-	 * 			resource must be created, the updateFlags will be supplied to the 
-	 * 			resource creation operation.
-	 * @param aMonitor
-	 * @throws CoreException
-	 */
-	public void create(int updateFlags, IProgressMonitor aMonitor) throws CoreException; 
-	
-	/**
-	 * Returns a handle to the root folder.
-	 * <p> 
-	 * This is a resource handle operation; neither the container
-	 * nor the result need exist in the workspace.
-	 * The validation check on the resource name/path is not done
-	 * when the resource handle is constructed; rather, it is done
-	 * automatically as the resource is created.
-	 * </p>
-	 *
-	 * @param name the string name of the member folder
-	 * @return the (handle of the) member folder
-	 */
-	public IVirtualFolder getRootFolder();
-	
-	/**
-	 * Returns the project which contains the component. 
-	 * <p>
-	 * The name of the project may not (and most likely will not) be referenced in the 
-	 * runtime path of this virtual path, but will be referenced by the workspace-relative path. 
-	 * </p>
-	 * <p>
-	 * This is a resource handle operation; neither the resource nor the resulting project need
-	 * exist.
-	 * </p>
-	 * 
-	 * @return the project handle
-	 */
-	public IProject getProject();
-	
-	/**
-	 * Returns whether this component is backed by an accessible Component. 
-	 */
-	public boolean exists();
-	
-	/**
-	 * Returns the components which reference this component.  This is only a one layer
-	 * deep search algorithm.
-	 * 
-	 * @return array of IVirtualComponents
-	 */
-	public IVirtualComponent[] getReferencingComponents();
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualContainer.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualContainer.java
deleted file mode 100644
index c2411ad..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualContainer.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.resources;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-/**
- * Represents a component as defined by the WTP Modules file. A 
- * virtual container represents the root of the component. 
- * <p>
- * Virtual containers can provide handles to virtual files and 
- * virtual folders that it contains. 
- * </p>
- * <p>
- * To acquire a handle to a component, use the following snippet:<br> 
- * <code>ModuleCore.createContainer(containingProject, componentName)</code>
- * which will create a handle to a virtual container contained by 
- * <i>containingProject</i> with the name <i>componentName</i>. If the 
- * a component of the given name exists, then 
- * {@link org.eclipse.wst.common.componentcore.resources.IVirtualResource#exists()}
- * will return true. Otherwise, use {@link #create(int, IProgressMonitor)} to 
- * create the relevant model elements. If a client needs to add a 
- * mapping from a folder in the same project to root, use 
- * {@link #createLink(IPath, int, IProgressMonitor)} with a 
- * project-relative path. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @plannedfor 1.0
- */
-public interface IVirtualContainer extends IVirtualResource {  
-
-	
-	/**
-	 * Create the underlying model elements if they do not already exist. Resources
-	 * may be created as a result of this method if the mapped path does not exist. 
-	 * 
-	 * @param updateFlags Any of IVirtualResource or IResource update flags. If a 
-	 * 			resource must be created, the updateFlags will be supplied to the 
-	 * 			resource creation operation.
-	 * @param aMonitor
-	 * @throws CoreException
-	 */
-	public void create(int updateFlags, IProgressMonitor aMonitor) throws CoreException; 
- 
- 
-	/**
-	 * Returns whether a virtual resource of some type with the given path 
-	 * exists relative to this resource.
-	 * The supplied path may be absolute or relative; in either case, it is
-	 * interpreted as relative to this resource.  Trailing separators are ignored.
-	 * If the path is empty this container is checked for existence.
-	 *
-	 * @param path the path of the resource
-	 * @return <code>true</code> if a resource of some type with the given path 
-	 *     exists relative to this resource, and <code>false</code> otherwise
-	 * @see IVirtualResource#exists()
-	 */
-	public boolean exists(IPath path);
-
-	/**
-	 * Finds and returns the member virtual resource (folder or file)
-	 * with the given name in this container, or <code>null</code> if no such
-	 * resource exists.
-	 * 
-	 *
-	 * @param name the string name of the member resource
-	 * @return the member resource, or <code>null</code> if no such
-	 * 		resource exists
-	 */
-	public IVirtualResource findMember(String name);
-
-	/**
-	 * Finds and returns the member resource (folder, or file)
-	 * with the given name in this container, or <code>null</code> if 
-	 * there is no such resource.
-	 * <p>
-	 * If the <code>includePhantoms</code> argument is <code>false</code>, 
-	 * only a member resource with the given name that exists will be returned.
-	 * If the <code>includePhantoms</code> argument is <code>true</code>,
-	 * the method also returns a resource if the workspace is keeping track of a
-	 * phantom with that name.
-	 * </p>
-	 * <p>
-	 * Note that no attempt is made to exclude team-private member resources
-	 * as with <code>members</code>.
-	 * </p>
-	 *
-	 * @param name the string name of the member resource
-	 * @param includePhantoms <code>true</code> if phantom resources are
-	 *   of interest; <code>false</code> if phantom resources are not of
-	 *   interest
-	 * @return the member resource, or <code>null</code> if no such
-	 * 		resource exists
-	 * @see #members()
-	 * @see IVirtualResource#isPhantom()
-	 */
-	public IVirtualResource findMember(String name, int searchFlags);
-
-	/**
-	 * Finds and returns the member resource identified by the given path in
-	 * this container, or <code>null</code> if no such resource exists.
-	 * The supplied path may be absolute or relative; in either case, it is
-	 * interpreted as relative to this resource.   Trailing separators and the path's
-	 * device are ignored. If the path is empty this container is returned.  
-	 *
-	 * @param path the path of the desired resource
-	 * @return the member resource, or <code>null</code> if no such
-	 * 		resource exists
-	 */
-	public IVirtualResource findMember(IPath path);
-
-	/**
-	 * Finds and returns the member resource identified by the given path in
-	 * this container, or <code>null</code> if there is no such resource.
-	 * The supplied path may be absolute or relative; in either case, it is
-	 * interpreted as relative to this resource.  Trailing separators and the path's
-	 * device are ignored.
-	 * If the path is empty this container is returned. 
-	 *
-	 * @param path the path of the desired resource
-	 * @param includePhantoms <code>true</code> if phantom resources are
-	 *   of interest; <code>false</code> if phantom resources are not of
-	 *   interest
-	 * @return the member resource, or <code>null</code> if no such
-	 * 		resource exists
-	 * @see #members(boolean)
-	 * @see IVirtualResource#isPhantom()
-	 */
-	public IVirtualResource findMember(IPath path, int searchFlags); 
-
-	/**
-	 * Returns a handle to the file identified by the given path in this
-	 * container.
-	 * <p> 
-	 * This is a resource handle operation; neither the resource nor
-	 * the result need exist in the workspace.
-	 * The validation check on the resource name/path is not done
-	 * when the resource handle is constructed; rather, it is done
-	 * automatically as the resource is created.
-	 * <p>
-	 * The supplied path may be absolute or relative; in either case, it is
-	 * interpreted as relative to this resource and is appended
-	 * to this container's full path to form the full path of the resultant resource.
-	 * A trailing separator is ignored. The path of the resulting resource must 
-	 * have at least two segments.
-	 * </p>
-	 *
-	 * @param path the path of the member file
-	 * @return the (handle of the) member file
-	 * @see #getFolder(IPath)
-	 */
-	public IVirtualFile getFile(IPath path);
-
-	/**
-	 * Returns a handle to the folder identified by the given path in this
-	 * container.
-	 * <p> 
-	 * This is a resource handle operation; neither the resource nor
-	 * the result need exist in the workspace.
-	 * The validation check on the resource name/path is not done
-	 * when the resource handle is constructed; rather, it is done
-	 * automatically as the resource is created. 
-	 * <p>
-	 * The supplied path may be absolute or relative; in either case, it is
-	 * interpreted as relative to this resource and is appended
-	 * to this container's full path to form the full path of the resultant resource.
-	 * A trailing separator is ignored. The path of the resulting resource must
-	 * have at least two segments.
-	 * </p>
-	 *
-	 * @param path the path of the member folder
-	 * @return the (handle of the) member folder
-	 * @see #getFile(IPath)
-	 */
-	public IVirtualFolder getFolder(IPath path); 
-
-	/**
-	 * Returns a handle to the file with the given name in this folder.
-	 * <p> 
-	 * This is a resource handle operation; neither the resource nor
-	 * the result need exist in the workspace.
-	 * The validation check on the resource name/path is not done
-	 * when the resource handle is constructed; rather, it is done
-	 * automatically as the resource is created.
-	 * </p>
-	 *
-	 * @param name the string name of the member file
-	 * @return the (handle of the) member file
-	 * @see #getFolder(String)
-	 */
-	public IVirtualFile getFile(String name);
-
-	/**
-	 * Returns a handle to the folder with the given name in this folder.
-	 * <p> 
-	 * This is a resource handle operation; neither the container
-	 * nor the result need exist in the workspace.
-	 * The validation check on the resource name/path is not done
-	 * when the resource handle is constructed; rather, it is done
-	 * automatically as the resource is created.
-	 * </p>
-	 *
-	 * @param name the string name of the member folder
-	 * @return the (handle of the) member folder
-	 * @see #getFile(String)
-	 */
-	public IVirtualFolder getFolder(String name);
-
-	/**
-	 * Returns a list of existing member resources (projects, folders and files)
-	 * in this resource, in no particular order.
-	 * <p>
-	 * This is a convenience method, fully equivalent to <code>members(IVirtualResource.NONE)</code>.
-	 * Team-private member resources are <b>not</b> included in the result.
-	 * </p><p>
-	 * Note that the members of a project or folder are the files and folders
-	 * immediately contained within it.  The members of the workspace root
-	 * are the projects in the workspace.
-	 * </p>
-	 *
-	 * @return an array of members of this resource
-	 * @exception CoreException if this request fails. Reasons include:
-	 * <ul>
-	 * <li> This resource does not exist.</li>
-	 * <li> This resource is a project that is not open.</li>
-	 * </ul>
-	 * @see #findMember(IPath)
-	 * @see IVirtualResource#isAccessible()
-	 */
-	public IVirtualResource[] members() throws CoreException;
-
-	/**
-	 * Returns a list of all member resources (projects, folders and files)
-	 * in this resource, in no particular order.
-	 * <p>
-	 * If the <code>INCLUDE_PHANTOMS</code> flag is not specified in the member 
-	 * flags (recommended), only member resources that exist will be returned.
-	 * If the <code>INCLUDE_PHANTOMS</code> flag is specified,
-	 * the result will also include any phantom member resources the
-	 * workspace is keeping track of.
-	 * </p><p>
-	 * If the <code>INCLUDE_TEAM_PRIVATE_MEMBERS</code> flag is specified 
-	 * in the member flags, team private members will be included along with
-	 * the others. If the <code>INCLUDE_TEAM_PRIVATE_MEMBERS</code> flag
-	 * is not specified (recommended), the result will omit any team private
-	 * member resources.
-	 * </p>
-	 * <p>
-	 * If the <code>EXCLUDE_DERIVED</code> flag is not specified, derived 
-	 * resources are included. If the <code>EXCLUDE_DERIVED</code> flag is 
-	 * specified in the member flags, derived resources are not included.
-	 * </p>
-	 *
-	 * @param memberFlags bit-wise or of member flag constants
-	 *   (<code>INCLUDE_PHANTOMS</code>, <code>INCLUDE_TEAM_PRIVATE_MEMBERS</code>
-	 *   and <code>EXCLUDE_DERIVED</code>) indicating which members are of interest
-	 * @return an array of members of this resource
-	 * @exception CoreException if this request fails. Reasons include:
-	 * <ul>
-	 * <li> This resource does not exist.</li>
-	 * <li> the <code>INCLUDE_PHANTOMS</code> flag is not specified and
-	 *     this resource does not exist.</li>
-	 * <li> the <code>INCLUDE_PHANTOMS</code> flag is not specified and
-	 *     this resource is a project that is not open.</li>
-	 * </ul>
-	 * @see IVirtualResource#exists()
-	 * @plannedfor 2.0
-	 */
-	public IVirtualResource[] members(int memberFlags) throws CoreException;
-	
-	public IVirtualResource[] getResources(String aResourceType);	
-}
- 
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualFile.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualFile.java
deleted file mode 100644
index c5d4440..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualFile.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.resources;
-
-import org.eclipse.core.resources.IFile;
-/**
- * Represents a file that can be navigated through 
- * an abstract ("virtual") path. 
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @plannedfor 1.0
- */
-public interface IVirtualFile extends IVirtualResource {  
-	/**
-	 * returns the underlying IFile, returns first IFile if multiple exist.
-	 * 
-	 * @return the underlying IFile
-	 */
-	public IFile getUnderlyingFile();
-	/**
-	 * returns the array of underlying IFiles that are mapped to the same runtime path.
-	 * 
-	 * @return the array of underlying IFiles mapped to the runtime path
-	 */
-	public IFile[] getUnderlyingFiles();
-	
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualFolder.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualFolder.java
deleted file mode 100644
index 3519e84..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualFolder.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.resources;
-
-import org.eclipse.core.resources.IContainer;
-/**
- * Represents a folder that can be navigated through 
- * an abstract ("virtual") path.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @plannedfor 1.0
- */
-public interface IVirtualFolder extends IVirtualContainer { 
-	/**
-	 * returns the underlying IFolder mapped to the runtime path, 
-	 * returns first IFolder if multiple exist.
-	 * 
-	 * @return the underlying IFolder
-	 */
-	public IContainer getUnderlyingFolder();
-	/**
-	 * returns the underlying IFolders mapped to the runtime path. 
-	 * Multiple IFolders can be mapped to the same runtime path.
-	 * 
-	 * @return the array of underlying IFolders
-	 */
-	public IContainer[] getUnderlyingFolders();
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualReference.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualReference.java
deleted file mode 100644
index 688cf12..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualReference.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.resources;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.wst.common.componentcore.internal.DependencyType;
-
-/**
- * Represents a dependency between two components: EnclosingComponent->ReferencedComponent. 
- * <p>
- * The ReferencedComponent may exist in another project or as a binary form on the classpath 
- * of the project.
- * </p>
- * @plannedfor 1.0
- */
-public interface IVirtualReference {
-	
-	/**
-	 * Indicates that the dependency should be archived into a *.?ar format before being absorbed.
-	 */
-	int DEPENDENCY_TYPE_USES = DependencyType.USES;
-	/**
-	 * Indicates that the dependency will be absorbed as is without archiving. 
-	 */
-	int DEPENDENCY_TYPE_CONSUMES = DependencyType.CONSUMES;
-	
-	/**
-	 * Creates this virtual reference in model, if it doesn't already exist.
-	 * @param updateFlags Currently no update flags apply. 
-	 * @param aMonitor A progress monitor to track the completion of the operation
-	 */
-	public void create(int updateFlags, IProgressMonitor aMonitor);
-	
-	/**
-	 * Returns whether this reference actual exists in the model
-	 * @return whether this reference actual exists in the model
-	 */
-	public boolean exists();
-	
-	/**
-	 * The runtime path indicates where the contents of the referenced
-	 * component will be absorbed within the context of the enclosing component.
-	 * @param aRuntimePath A value component-relative path. 
-	 */
-	public void setRuntimePath(IPath aRuntimePath);
-	/**
-	 * The runtime path indicates where the contents of the referenced
-	 * component will be absorbed within the context of the enclosing component.
-	 * @return A value component-relative path. 
-	 */
-	public IPath getRuntimePath();
-	
-	/**
-	 * The dependencyType indicates how the contents of the referenced component will be absorbed.
-	 * @param aDependencyType One of DEPENDENCY_TYPE_USES or DEPENDENCY_TYPE_CONSUMES
-	 * @see #DEPENDENCY_TYPE_CONSUMES
-	 * @see #DEPENDENCY_TYPE_USES
-	 */
-	public void setDependencyType(int aDependencyType);
-	
-
-	/**
-	 * @return One of DEPENDENCY_TYPE_USES or DEPENDENCY_TYPE_CONSUMES
-	 * @see #DEPENDENCY_TYPE_CONSUMES
-	 * @see #DEPENDENCY_TYPE_USES
-	 */
-	public int getDependencyType();
-	
-	/**
-	 * The enclosing component contains this reference, and will absorb the contents of the referenced component
-	 * @return The enclosing component
-	 */
-	public IVirtualComponent getEnclosingComponent();
-	
-	/**
-	 * The referenced component is "targeted" by the reference, and will be absorbed by the enclosing component. 
-	 * @return the referenced component.
-	 */
-	public IVirtualComponent getReferencedComponent();
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualResource.java b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualResource.java
deleted file mode 100644
index eee8e16..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/IVirtualResource.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.common.componentcore.resources;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-
-/**
- * <p>
- * Allows clients to work with flexible project structures 
- * using API similar to the Eclipse Platform IResource model.
- * </p>
- * <p>
- * IVirtualResource allows resources to be accessed through a
- * abstract path referred to as a "runtime path". 
- * A virtual resource may represent multiple underlying resources.
- * A virtual resource is contained by exactly one component.
- * A resource may be represented by multiple virtual resources, which
- * may be contained by one or more components. 
- * </p>
- * <p>
- * IVirtualResource allows clients to acquire
- * information about the underlying resource including the name, 
- * and the paths which are relevant to the current resource, such
- * as the {@link #getRuntimePath() runtime path}, the 
- * {@link #getWorkspaceRelativePath() workspace-relative path}
- * of the underlying resource, and the 
- * {@link #getProjectRelativePath() project-relative path}
- * of the underlying resource.
- * </p>
- * <a name="references" />
- * <p>Each IVirtualResource can represent an <b>implicit</b> reference or
- * an <b>explicit</b> reference. An <b>explicit</b> reference is a formal
- * mapping from some path within the file structure to a runtime path. Changing
- * or removing an explicit reference only requires model modifications. An 
- * <b>implicit</b> reference has a root which is derived from an explicit path,
- * but some fragment of the path towards the end is derived from the literal 
- * path within the file structure. Modifications to implicit paths may cause 
- * changes to structure on disk. For resource modifications that should not modify
- * structures on disk, use {@link #IGNORE_UNDERLYING_RESOURCE}.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * @plannedfor 1.0
- */
-public interface IVirtualResource extends ISchedulingRule, IAdaptable {  
-																	
-
-	/*
-	 * ==================================================================== 
-	 * Constants defining resource types: There are four possible resource 
-	 * types and their type constants are in the hex range 0x10 to 0x80 
-	 * as defined below.
-	 * ====================================================================
-	 */
-
-	/**
-	 * Type constant (bit mask value 16) which identifies file resources.
-	 * 
-	 * @see IVirtualResource#getType()
-	 * @see IVirtualFile
-	 */
-	public static final int FILE = 0x10;
-
-	/**
-	 * Type constant (bit mask value 32) which identifies folder resources.
-	 * 
-	 * @see IVirtualResource#getType()
-	 * @see IVirtualFolder
-	 */
-	public static final int FOLDER = 0x20;
-
-	/**
-	 * Type constant (bit mask value 64) which identifies the root resource.
-	 * 
-	 * @see IVirtualResource#getType()
-	 * @see IVirtualContainer
-	 */
-	public static final int COMPONENT = 0x40;
-	
-	/**
-	 * General purpose zero-valued bit mask constant. Useful whenever you need to supply a bit mask
-	 * with no bits set.
-	 * <p>
-	 * Example usage: <code>
-	 * <pre>
-	 * delete(IVirtualResource.NONE, null)
-	 * </pre>
-	 * </code>
-	 * </p>
-	 * 
-	 * @plannedfor 2.0
-	 */
-	public static final int NONE = 0;
-
-	/*
-	 * ==================================================================== Constants for update
-	 * flags for delete, move, copy, open, etc.:
-	 * ====================================================================
-	 */
-
-	/**
-	 * Update flag constant (bit mask value 256) indicating that the operation should proceed even if
-	 * the resource is out of sync with the local file system.
-	 * 
-	 * @plannedfor 2.0
-	 */
-	public static final int FORCE = 0x100; 
-
-	/**
-	 * Indicates that exclusions enumerated in the model should be ignored. (bit mask value 512)  
-	 */
-	public static final int IGNORE_EXCLUSIONS = 0x200;
-
-	/**
-	 * Indicates that modifications should only modify the metamodel and ignore the underlying
-	 * resources where applicable.  See the 
-	 * <a href="IVirtualResource.html#references">documentation on references</a> 
-	 * for more information on why this flag is relevant. (bit mask value 1024)  
-	 */
-	public static final int IGNORE_UNDERLYING_RESOURCE = 0x400;  
-	
-	/**
-	 * Create a mapping from the supplied location to the runtime path of this 
-	 * virtual resource. Model changes will occur as a result of this method, 
-	 * and potentially resource-level creations as well.
-	 * 
-	 * @param aProjectRelativeLocation A project relative location that will be represented by the runtime path after this call
-	 * @param updateFlags A bitmask of flags to supply to the method. 
-	 * @param monitor
-	 * @throws CoreException
-	 */
-	public void createLink(IPath aProjectRelativeLocation, int updateFlags, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Removes the mapping, if it exists, from the supplied location to the runtime path of this 
-	 * virtual resource. Model changes will occur as a result of this method, 
-	 * and potentially resource-level creations as well.
-	 * 
-	 * @param aProjectRelativeLocation A project relative location whose mapping to the runtime path of this object should be removed.
-	 * @param updateFlags A bitmask of flags to supply to the method. 
-	 * @param monitor
-	 * @throws CoreException
-	 */
-	public void removeLink(IPath aProjectRelativeLocation, int updateFlags, IProgressMonitor monitor) throws CoreException;
-
-	
-	/**   
-	 * Remove the resource from the flexible structure. Removing the resource could require
-	 * changes to the underlying metamodel or changes to the file structure. To avoid
-	 * changes the actual disk structure, use {@link #IGNORE_UNDERLYING_RESOURCE}.
-	 * <p>
-	 * Update flags supplied to this method will be passed into any IResource modification
-	 * API which is called as a result of this method's invocation.  
-	 * </p>
-	 * @see #IGNORE_UNDERLYING_RESOURCE
-	 * @see IResource#delete(int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void delete(int updateFlags, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Compares two objects for equality; for resources, equality is defined in terms of their
-	 * handles: same resource type, equal full paths, and identical workspaces. Resources are not
-	 * equal to objects other than resources.
-	 * 
-	 * @param other
-	 *            the other object
-	 * @return an indication of whether the objects are equals
-	 * @see #getType()
-	 * @see #getWorkspaceRelativePath() 
-	 */
-	public boolean equals(Object other);
-
-	/**
-	 * Returns whether this virtual resource is backed by an accessible IResource. 
-	 * <p>
-	 * <code>IVirtualResource</code> objects are lightweight handle objects used to access
-	 * IResources. However, having an IVirtualResource handle does not necessarily mean the
-	 * underlying resource represented by the handle exists in the workspace, or is accessible.
-	 * For more detailed information concerning the existence or accessibility of the underlying 
-	 * resource, {@link #getUnderlyingResource()}.
-	 * </p>
-	 * 
-	 * @return <code>true</code> if the underlying resource exists and is accessible, otherwise <code>false</code>
-	 * @see org.eclipse.core.resources.IResource#exists()
-	 * @see #getUnderlyingResource();
-	 */
-	public boolean exists();
-
-	/**
-	 * Returns the file extension portion of this virtual resource's name, or <code>null</code> if it does
-	 * not have one. The file extension of the virtual resource will be returned, which may or may not match
-	 * that of the underlying resource. 
-	 * <p>
-	 * The file extension portion is defined as the string following the last period (".") character
-	 * in the name. If there is no period in the name, the path has no file extension portion. If
-	 * the name ends in a period, the file extension portion is the empty string.
-	 * </p>
-	 * <p>
-	 * This is a resource handle operation; the resource need not exist.
-	 * </p>
-	 * 
-	 * @return a string file extension
-	 * @see #getName()
-	 */
-	public String getFileExtension();
-
-	/**
-	 * Returns the full, absolute path of the underlying resource relative to the workspace.
-	 * <p>
-	 * This is a resource handle operation; the resource need not exist. If this resource does
-	 * exist, its path can be safely assumed to be valid.
-	 * </p>
-	 * 
-	 * @return the absolute path of this resource
-	 * @see #getProjectRelativePath()
-	 * @see IResource#getFullPath()
-	 */
-	public IPath getWorkspaceRelativePath();
-
-
-	/**
-	 * Returns a relative path of the underlying resource with respect to its project.  
-	 * <p>
-	 * This is a resource handle operation; the resource need not exist. If this resource does
-	 * exist, its path can be safely assumed to be valid.
-	 * </p>
-	 * <p>
-	 * Project-relative paths are recommended over absolute paths, since the former are not affected
-	 * if the project is renamed.
-	 * </p>
-	 * 
-	 * @return the relative path of this resource with respect to its project
-	 * @see #getWorkspaceRelativePath()
-	 * @see #getProject()
-	 * @see IResource#getProjectRelativePath()
-	 */
-	public IPath getProjectRelativePath();
-
-	/**
-	 * Returns the runtime path of this virtual resource. The runtime path
-	 * is determined through the metamodel and represents the path that the
-	 * underlying resource will be accessed at runtime. 
-	 * 
-	 * @return the runtime path of this virtual resource
-	 */
-	public IPath getRuntimePath();
-
-	/**
-	 * Returns the name of this virtual resource. The name of a virtual resource 
-	 * is synonymous with the last segment of its runtime path.
-	 * <p>
-	 * This is a resource handle operation; the resource need not exist.
-	 * </p>
-	 * <p>
-	 * If this resource exists, its name can be safely assumed to be valid.
-	 * </p>
-	 * 
-	 * @return the name of the virtual resource
-	 * @see #getRuntimePath()
-	 */
-	public String getName();
-
-	/**
-	 * Returns the name of the component that contains this virtual resource.
-	 * <p>
-	 * Each virtual resource is contained by at least one component. A component
-	 * represents a logical collection of files. If the underlying resource is 
-	 * contained by multiple components, then the component name returned by
-	 * this method will be determined by how the virtual resource was created. 
-	 * For each virtual resource, the component name will be the same as the 
-	 * component name of the parent.
-	 *  
-	 * @return the name of the component that contains the virtual resource
-	 */
-	public IVirtualComponent getComponent();
-
-	/**
-	 * Returns the virtual resource which contains this virtual resource, or <code>null</code> if it has
-	 * no parent (that is, the virtual resource represents the root of the component).
-	 * <p>
-	 * The full path of the parent resource is the same as this resource's full path with the last
-	 * segment removed.
-	 * </p>
-	 * <p>
-	 * This is a resource handle operation; neither the resource nor the resulting resource need
-	 * exist.
-	 * </p>
-	 * 
-	 * @return the container of the virtual resource, or <code>null</code> if this virtual resource represents the root of the component
-	 */
-	public IVirtualContainer getParent();
-
-	/**
-	 * Returns the project which contains the component which contains this virtual resource. 
-	 * <p>
-	 * The name of the project may not (and most likely will not) be referenced in the 
-	 * runtime path of this virtual path, but will be referenced by the workspace-relative path. 
-	 * </p>
-	 * <p>
-	 * This is a resource handle operation; neither the resource nor the resulting project need
-	 * exist.
-	 * </p>
-	 * 
-	 * @return the project handle
-	 */
-	public IProject getProject();
-
-	/**
-	 * Returns the type of this resource. The returned value will be one of <code>FILE</code>,
-	 * <code>FOLDER</code>, <code>COMPONENT</code>
-	 * <p>
-	 * <ul>
-	 * <li> All resources of type <code>FILE</code> implement <code>IVirtualFile</code>.</li>
-	 * <li> All resources of type <code>FOLDER</code> implement <code>IVirtualFolder</code>.</li>
-	 * <li> All resources of type <code>COMPONENT</code> implement <code>IVirtualContainer</code>.</li>
-	 * </ul>
-	 * </p>
-	 * <p>
-	 * This is a resource handle operation; the resource need not exist in the workspace.
-	 * </p>
-	 * 
-	 * @return the type of this resource
-	 * @see #FILE
-	 * @see #FOLDER
-	 * @see #COMPONENT
-	 */
-	public int getType();
-	
-	/**
-	 * A virtual resource is a representation of one or more Eclipse Platform resources. 
-	 * <p>
-	 * Returns the "primary" underlying resource. The resource may or may not exist. The resource
-	 * will be contained by the project returned by {@link #getProject()}.  
-	 * </p>
-	 * <p>
-	 * Since a virtual resource could represent multiple resources, this method will return 
-	 * the "primary" resource. For clients that wish to take advantage of the multiple resources
-	 * at a single path, use {@link #getUnderlyingResources()}. 
-	 * @return The primary resource that backs this virtual resource.
-	 */
-	public IResource getUnderlyingResource();
-	
-	/**
-	 * A virtual resource is a representation of one or more Eclipse Platform resources. 
-	 * <p>
-	 * Returns all underlying resources. The resources may or may not exist. The resources
-	 * will be contained by the project returned by {@link #getProject()}.  
-	 * </p>
-	 * <p>
-	 * Since a virtual resource could represent multiple resources, this method will return 
-	 * all underlying resources. For clients that prefer to acknowledge only one resource, 
-	 * at a single path, use {@link #getUnderlyingResource()}. 
-	 * @return All resources that back this virtual resource.
-	 */
-	public IResource[] getUnderlyingResources(); 
-
-	/**
-	 * Returns whether this resource is accessible. For files and folders, this is equivalent to
-	 * existing; for projects, this is equivalent to existing and being open. The workspace root is
-	 * always accessible.
-	 * 
-	 * @return <code>true</code> if this resource is accessible, and <code>false</code>
-	 *         otherwise
-	 * @see #exists()
-	 * @see IProject#isOpen()
-	 */
-	public boolean isAccessible();
-	
-	/**
-	 * The resourceType provides meta-information about the types of content this virtual resource may represent. Examples
-	 * include "java", "resources", "bpel", etc. 
-	 * <p>
-	 * The resourceType may be null, and {@link IVirtualComponent} will always return null for this method. 
-	 * </p>
-	 * @return A client-set resourceType string
-	 */
-	public String getResourceType();
-	
-	/**
-	 * The resourceType provides meta-information about the types of content this virtual resource may represent. Examples
-	 * include "java", "resources", "bpel", etc. 
-	 * <p>
-	 * The resourceType may be null, and {@link IVirtualComponent} will always return null for this method. 
-	 * </p>
-	 * @param A client-set resourceType string
-	 */
-	public void setResourceType(String aResourceType);
-
-}
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/package.html b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/package.html
deleted file mode 100644
index d791ba2..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/package.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<html>
-<head>
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<link rel="stylesheet" href="../../../../..//apistyles.css" type="text/css">
-<title>modulecore resources api overview</title>
-</head>
-<body>
-<p>
-        The ComponentCore Virtual Path API allows clients to navigate 
-        logical collections of files within Eclipse projects using API 
-        similar to the Eclipse IResource API. 
-		</p>
-<a name="top"></a><a name="virtual-path"></a>
-<table width="100%" cellspacing="5" cellpadding="2" border="0">
-<tbody>
-<tr>
-<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Virtual Path API</font></b></td>
-</tr>
-</tbody>
-</table>
-<BR>
-<table width="500">
-<tr>
-<td>
-<p>
-	        The Virtual Path API provides a facade to the flexible project model. 
-	        Each IVirtualResource represents a resource from the runtime component 
-	        under a virtual runtime path. Each IVirtualResource may represent one 
-	        or more Eclipse Platfrom resources located at the same runtime path.
-        </p>
-</td>
-</tr>
-</table>
-<table width="500">
-<tr>
-<td>
-<p>
-        	Each IVirtualResource is contained by exactly one IVirtualComponent. 
-        	However, the underlying resources that are represented by the 
-        	IVirtualResource may be contained by multiple IVirtualComponents. 
-        	IVirtualComponents are contained by IFlexibleProjects. Each
-        	IFlexibleProject may contain one or more IVirtualComponents. 
-        </p>
-</td>
-</tr>
-</table>
-<table cellpadding="10" cellspacing="10">
-<tr>
-<td>
-<p>
-<img src="../../../../../../overview/mapping.jpg"></p>
-</td>
-</tr>
-<tr>
-<td>
-<p>
-<i>Figure 1: A visual representation of a possible mapping between a Virtual structure and a Platform Resource structure.</i>
-</p>
-</td>
-</tr>
-</table>
-<table cellpadding="10" cellspacing="10">
-<tr>
-<td>
-<p>
-<img src="../../../../../../overview/virtual_path_api.jpg"></p>
-</td>
-</tr>
-<tr>
-<td>
-<p>
-<i>Figure 2: Virtual Path Model</i>
-</p>
-</td>
-</tr>
-</table>
-<a href="#top">top</a>
-</body>
-</html>
diff --git a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/package.xml b/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/package.xml
deleted file mode 100644
index 5999f55..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/modulecore-src/org/eclipse/wst/common/componentcore/resources/package.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<html>
-    <head>
-        <meta
-            name="root"
-            content="../../../../../" />
-        <title>component core resources api overview</title>
-    </head>
-
-    <body>  
-		<abstract>
-        The ComponentCore Virtual Path API allows clients to navigate 
-        logical collections of files within Eclipse projects using API 
-        similar to the Eclipse IResource API. 
-		</abstract>
-
-		<a name="top"/>
-		<!--
-		<p>
-			The following document includes information on these topics:
-			<ul>
-				<li><a href="#virtual-path">Pointer 1</a> A description</li>  
-			</ul>
-		</p>
-		-->
-		<a name="virtual-path"/>
-        <h2>Virtual Path API</h2>
-        <BR /> 
-        <p>
-	        The Virtual Path API provides a facade to the flexible project model. 
-	        Each IVirtualResource represents a resource from the runtime component 
-	        under a virtual runtime path. Each IVirtualResource may represent one 
-	        or more Eclipse Platfrom resources located at the same runtime path.
-        </p>
-        <p>
-        	Each IVirtualResource is contained by exactly one IVirtualComponent. 
-        	However, the underlying resources that are represented by the 
-        	IVirtualResource may be contained by multiple IVirtualComponents. 
-        	IVirtualComponents are contained by IFlexibleProjects. Each
-        	IFlexibleProject may contain one or more IVirtualComponents. 
-        </p>
-        <img src="../../../../../../overview/mapping.jpg" 
-        	 caption="A visual representation of a possible mapping between a Virtual structure and a Platform Resource structure." 
-        	 width="600" height="466"
-        	 />
-        <img src="../../../../../../overview/virtual_path_api.jpg" caption="Virtual Path Model" />
-        <!--
-        <codesnippet caption="An example snippet.">
-... 
-import org.eclipse.emf.common.util.URI; 
-...
-public static void makeFlexible(IProject aTargetProject) {
-    ModuleCore moduleCoreInstance = null;
-    try {
-        ModuleCoreNature.addModuleCoreNatureIfNecessary(aTargetProject);
-        moduleCoreInstance = ModuleCore.getModuleCoreForWrite(aTargetProject);
-        ... work with moduleCoreInstance and underlying model ...
-        moduleCoreInstance.saveIfNecessary(aProgressMonitor);
-    } finally {
-        if (moduleCoreInstance != null) {
-            moduleCoreInstance.dispose();
-        }
-    }
-}        
-        </codesnippet>
-        <codesnippet caption="An example snippet.">
-... 
-import org.eclipse.emf.common.util.URI; 
-...
-public static void makeFlexible(IProject aTargetProject) {
-    ModuleCore moduleCoreInstance = null;
-    try {
-        ModuleCoreNature.addModuleCoreNatureIfNecessary(aTargetProject);
-        moduleCoreInstance = ModuleCore.getModuleCoreForWrite(aTargetProject);
-        ... work with moduleCoreInstance and underlying model ...
-        moduleCoreInstance.saveIfNecessary(aProgressMonitor);
-    } finally {
-        if (moduleCoreInstance != null) {
-            moduleCoreInstance.dispose();
-        }
-    }
-}        
-        </codesnippet>
-        -->
-		<a href="#top">top</a>
-    </body>
-</html>    
-    
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/plugin.properties b/plugins/org.eclipse.wst.common.modulecore/plugin.properties
deleted file mode 100644
index aef7448..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/plugin.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-provider=Eclipse.org
diff --git a/plugins/org.eclipse.wst.common.modulecore/plugin.xml b/plugins/org.eclipse.wst.common.modulecore/plugin.xml
deleted file mode 100644
index a93e275..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/plugin.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension
-         point="org.eclipse.emf.ecore.generated_package">
-      <package
-            uri="componentcore.xmi"
-            class="org.eclipse.wst.common.componentcore.internal.ComponentcorePackage">
-      </package>
-   </extension>   
-   
-   <!--============================-->
-   <!-- Module Core Project Nature Contributions-->
-   <!--============================-->
-   <extension
-         id="ModuleCoreNature"
-         name="Web Properties"
-         point="org.eclipse.core.resources.natures">
-      <runtime>
-         <run
-               class="org.eclipse.wst.common.componentcore.ModuleCoreNature">
-         </run>
-      </runtime>
-   </extension>
-   <extension
-         point="org.eclipse.wst.common.emfworkbench.integration.editModel">
-      <editModel
-            editModelID="org.eclipse.wst.modulecore.structuralModel"
-            factoryClass="org.eclipse.wst.common.componentcore.internal.impl.ModuleStructuralModelFactory">
-         <editModelResource
-               autoload="false"
-               URI=".settings/.component"/>
-      </editModel> 
-   </extension>
-	
-	<extension point="org.eclipse.core.runtime.contentTypes">
- 			<file-association
-				content-type="org.eclipse.core.runtime.xml"
-				file-names=".component"/>
-	</extension>
-
-	<extension point="org.eclipse.team.core.ignore">
-		<ignore
-        enabled="true"
-        pattern=".deployables"/>
-	</extension>
-	<extension-point id="ComponentProjectMigrator" name="ComponentProjectMigrator" schema="schema/ComponentProjectMigrator.exsd"/>
-	<extension-point id="artifactedit" name="Component Artifact Edit" schema="schema/artifactedit.exsd"/>
-	
-	<!-- Contribute a URIResolverExtension for flexible projects -->
-	<extension point="org.eclipse.wst.common.uriresolver.resolverExtensions">
-      <resolverExtension
-            stage="prenormalization"
-            class="org.eclipse.wst.common.componentcore.internal.util.ComponentResolver">
-            <projectNature value="org.eclipse.wst.common.modulecore.ModuleCoreNature" />
-			<projectNature value="org.eclipse.wst.web.StaticWebNature"/>
-      </resolverExtension>
-   </extension>
-   
-  <extension point="org.eclipse.core.runtime.adapters">
-    <factory 
-      class="org.eclipse.wst.common.componentcore.datamodel.FacetDataModelConfigAdapter$Factory" 
-      adaptableType="org.eclipse.wst.common.frameworks.datamodel.IDataModel">
-      <adapter type="org.eclipse.wst.common.project.facet.core.IActionConfig"/>
-    </factory>
-  </extension>
-   
-</plugin>
diff --git a/plugins/org.eclipse.wst.common.modulecore/schema/ComponentProjectMigrator.exsd b/plugins/org.eclipse.wst.common.modulecore/schema/ComponentProjectMigrator.exsd
deleted file mode 100644
index 507ed10..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/schema/ComponentProjectMigrator.exsd
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.modulecore">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.modulecore" id="ComponentProjectMigrator" name="Component Project Migrator"/>
-      </appInfo>
-      <documentation>
-         This allows specific implementations of components to contribute migrators Those plugins have dependencies on the modulecore plugin, but not vice versa. In order for code defined within the modulecore plugin to execute these actions, we need this extension point.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="migratorExtension"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="migratorExtension">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The class for the migrator.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.modulecore/schema/artifactedit.exsd b/plugins/org.eclipse.wst.common.modulecore/schema/artifactedit.exsd
deleted file mode 100644
index b83b0c4..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/schema/artifactedit.exsd
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.common.modulecore">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.common.modulecore" id="artifactedit" name="Component Artifact Edit"/>
-      </appInfo>
-      <documentation>
-         This is for INTERNAL use only!  It is used for the base artifact edit types only.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="artifactedit">
-      <complexType>
-         <attribute name="typeID" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.wst.common.modulecore/schema/componentCore.xsd b/plugins/org.eclipse.wst.common.modulecore/schema/componentCore.xsd
deleted file mode 100644
index a2d8828..0000000
--- a/plugins/org.eclipse.wst.common.modulecore/schema/componentCore.xsd
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eclipse.org/webtools/moduleCore" xmlns:tns="http://www.eclipse.org/webtools/moduleCore">

-	<element name="project-modules">

-		<complexType>

-			<sequence minOccurs="1" maxOccurs="unbounded">

-				<element name="wb-module">

-					<complexType>

-                        <sequence minOccurs="0" maxOccurs="1">

-                        	<element name="module-type">

-                        		<complexType>

-                        			<attribute name="module-type-id"

-                        				type="string">

-                        			</attribute>

-                        		</complexType>

-                        	</element>

-                        	<sequence minOccurs="0" maxOccurs="unbounded">

-                        		<element name="wb-resource">

-                                    <complexType>

-                                    	<attribute name="source-path"

-                                    		type="string" use="required">

-                                    	</attribute>

-                                    	<attribute name="deploy-path"

-                                    		type="string" use="required">

-                                    	</attribute>

-                                    </complexType>

-                        		</element>

-                        	</sequence>

-                        	<sequence minOccurs="0" maxOccurs="unbounded">

-                        		<element name="dependent-module">

-                                    <complexType>

-                                    	<attribute name="handle"

-                                    		type="string" use="required">

-                                    	</attribute>

-                                    	<attribute name="deploy-path"

-                                    		type="string" use="required">

-                                    	</attribute>

-                                    	<attribute name="dependency-type"

-                                    		type="string">

-                                    	</attribute>

-                                    </complexType>

-                        		</element>

-                        	</sequence>

-                        </sequence>

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

-					</complexType>

-				</element>

-			</sequence>

-			<attribute name="id" type="string"></attribute>

-		</complexType>

-	</element>

-

-</schema>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/.classpath b/plugins/org.eclipse.wst.common.uriresolver/.classpath
similarity index 82%
rename from plugins/org.eclipse.wst.common.modulecore/.classpath
rename to plugins/org.eclipse.wst.common.uriresolver/.classpath
index 48c8e15..751c8f2 100644
--- a/plugins/org.eclipse.wst.common.modulecore/.classpath
+++ b/plugins/org.eclipse.wst.common.uriresolver/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="modulecore-src/"/>
+	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/.cvsignore b/plugins/org.eclipse.wst.common.uriresolver/.cvsignore
new file mode 100644
index 0000000..80bdb6d
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/.cvsignore
@@ -0,0 +1,7 @@
+bin
+uriresolver.jar
+build.xml
+temp.folder
+org.eclipse.wst.common.uriresolver_1.0.0.jar
+@dot
+src.zip
diff --git a/plugins/org.eclipse.wst.common.frameworks/.project b/plugins/org.eclipse.wst.common.uriresolver/.project
similarity index 92%
copy from plugins/org.eclipse.wst.common.frameworks/.project
copy to plugins/org.eclipse.wst.common.uriresolver/.project
index 30f458a..e19b693 100644
--- a/plugins/org.eclipse.wst.common.frameworks/.project
+++ b/plugins/org.eclipse.wst.common.uriresolver/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.wst.common.frameworks</name>
+	<name>org.eclipse.wst.common.uriresolver</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.common.uriresolver/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b8a0d61
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,57 @@
+#Mon Jan 30 19:48:07 EST 2006
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2caa0e9
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.wst.common.uriresolver; singleton:=true
+Bundle-Version: 1.0.1.qualifier
+Bundle-Activator: org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.wst.common.uriresolver.internal,
+ org.eclipse.wst.common.uriresolver.internal.provisional,
+  org.eclipse.wst.common.uriresolver.internal.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources
+Eclipse-AutoStart: true
+Bundle-ClassPath: .
diff --git a/plugins/org.eclipse.wst.common.uriresolver/README.txt b/plugins/org.eclipse.wst.common.uriresolver/README.txt
new file mode 100644
index 0000000..acaf514
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/README.txt
@@ -0,0 +1 @@
+API for an URI resolver.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.frameworks/about.html b/plugins/org.eclipse.wst.common.uriresolver/about.html
similarity index 100%
rename from plugins/org.eclipse.wst.common.frameworks/about.html
rename to plugins/org.eclipse.wst.common.uriresolver/about.html
diff --git a/plugins/org.eclipse.wst.common.uriresolver/build.properties b/plugins/org.eclipse.wst.common.uriresolver/build.properties
new file mode 100644
index 0000000..afe5fa3
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/build.properties
@@ -0,0 +1,11 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               about.html,\
+               .,\
+               plugin.properties
+bin.excludes = bin/**,\
+               @dot/**,\
+               temp.folder/**
+               
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.modulecore/build.properties b/plugins/org.eclipse.wst.common.uriresolver/plugin.properties
similarity index 68%
copy from plugins/org.eclipse.wst.common.modulecore/build.properties
copy to plugins/org.eclipse.wst.common.uriresolver/plugin.properties
index e225d3f..307664b 100644
--- a/plugins/org.eclipse.wst.common.modulecore/build.properties
+++ b/plugins/org.eclipse.wst.common.uriresolver/plugin.properties
@@ -4,16 +4,12 @@
 # are made available under the terms of the Eclipse Public License v1.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.. = modulecore-src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               .,\
-               META-INF/,\
-               plugin.properties,\
-               about.html,\
-               schema/
-src.includes = component.xml
+providerName=Eclipse.org
+pluginName=Common URI Resolver Framework
+###############################################################################
+
+resolverExtensions=URI Resolver Extensions Point
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.common.uriresolver/plugin.xml b/plugins/org.eclipse.wst.common.uriresolver/plugin.xml
new file mode 100644
index 0000000..9aa99c4
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/plugin.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+   <extension-point id="resolverExtensions" name="%resolverExtensions" schema="schema/resolverExtensions.exsd"/>
+
+
+</plugin>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd b/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd
new file mode 100644
index 0000000..702bb0c
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/schema/resolverExtensions.exsd
@@ -0,0 +1,167 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.common.uriresolver">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.common.uriresolver" id="resolverExtensions" name="URI Resolver Extensions Point"/>
+      </appInfo>
+      <documentation>
+         The URI Resolver Extensions point allows clients to register custom URI resolvers that will be used in the resolution of resources by tools such as editors, generators, validators, and wizards.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="resolverExtension" minOccurs="1" maxOccurs="unbounded"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="resolverExtension">
+      <complexType>
+         <sequence>
+            <element ref="projectNature" minOccurs="0" maxOccurs="unbounded"/>
+         </sequence>
+         <attribute name="stage" type="string">
+            <annotation>
+               <documentation>
+                  The stage in which to run this extension resolver: prenormalization, postnormalization, or physical. Defaults to postnormalization.&lt;br&gt;
+prenormalization:  run before normalization of the input&lt;br&gt;
+postnormalization: run after normalization of the input&lt;br&gt;
+physical:          run after all pre and postnormalization resolvers
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The class that implements &lt;code&gt;org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver&lt;/code&gt;.
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+         <attribute name="priority" type="string">
+            <annotation>
+               <documentation>
+                  The priority of this resolver: high, medium, or low. Defaults to medium. The priority allows you to specify when this resolver should run with respect to other resolvers defined for the same stage.
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="projectNature">
+      <annotation>
+         <documentation>
+            If a project nature is specified the URI resolver will only be used for projects that contain one of the specified project natures. If no project natures are specified the URI resolver will be used for all projects.
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="value" type="string" use="required">
+            <annotation>
+               <documentation>
+                  A project nature ID for which the URI resolver should be used.
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of an URI resolver contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.common.uriresolver.resolverExtensions&quot;&gt;
+      &lt;resolverExtension
+            stage=&quot;physical&quot;
+            priority=&quot;low&quot;
+            class=&quot;org.eclipse.wst.common.uriresolver.SampleResolver&quot;&gt;
+      &lt;/resolverExtension&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         The supplied class must implement &lt;code&gt;org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver&lt;/code&gt;.
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         &lt;code&gt;
+org.eclipse.wst.common.componentcore.internal.util.ComponentResolver
+&lt;/code&gt;
+provides an URI resolver that resolves references in a project with multiple components
+&lt;code&gt;
+org.eclipse.wst.internet.cache.internal.CacheURIResolverExtension
+&lt;/code&gt;
+provides an URI resolver that resolves references in a cache
+&lt;code&gt;
+org.eclipse.wst.xml.core.internal.catalog.XMLCatalogURIResolverExtension
+&lt;/code&gt;
+provides an URI resolver that resolves references from an XML catalog
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+All rights reserved. This program and the accompanying materials are made 
+available under the terms of the Eclipse Public License v1.0 which accompanies 
+this distribution, and is available at &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java
new file mode 100644
index 0000000..aa3c82b
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/ExtensibleURIResolver.java
@@ -0,0 +1,185 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal;
+
+import java.util.Iterator;
+import java.util.List;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolver;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
+import org.osgi.framework.Bundle;
+
+
+/**
+ * @author csalter
+ * 
+ */
+public class ExtensibleURIResolver implements URIResolver
+{
+	private static final boolean logExceptions = false;
+
+	//protected IProject project;
+
+	//TODO... consider ctor that takes a project arg
+	//public ExtensibleURIResolver(IProject project)
+	//{
+	//	this.project = project;
+	//}
+
+	public ExtensibleURIResolver()
+	{
+	}
+
+	public String resolve(String baseLocation, String publicId, String systemId)
+	{
+		String result = systemId;
+
+		// compute the project that holds the resource
+		//
+    IFile file = computeFile(baseLocation);
+		IProject project =  file != null ? file.getProject() : null;
+
+		URIResolverExtensionRegistry resolverRegistry = URIResolverExtensionRegistry.getIntance();
+		List list = resolverRegistry.getExtensionDescriptors(project);
+
+		// get the list of applicable pre-normalized resolvers from the
+		// extension registry
+		//
+		for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_PRENORMALIZATION).iterator(); i.hasNext();)
+		{
+			URIResolverExtension resolver = (URIResolverExtension) i.next();
+			String tempresult = resolver.resolve(file, baseLocation, publicId, result);
+			if(tempresult != null)
+			{
+			  result = tempresult;
+			}
+		}
+
+		// normalize the uri
+		//
+		result = normalize(baseLocation, result);
+
+		// get the list of applicable post-normalized resolvers from the
+		// extension registry
+		//		
+		for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION).iterator(); i.hasNext();)
+		{ 
+			URIResolverExtension resolver = (URIResolverExtension) i.next();
+			String tempresult = resolver.resolve(file, baseLocation, publicId, result);
+			if(tempresult != null)
+			{
+			  result = tempresult;
+			}
+		}
+
+		return result;
+	}
+    
+    public String resolvePhysicalLocation(String baseLocation, String publicId, String logicalLocation)
+    {
+      String result = logicalLocation;
+      URIResolverExtensionRegistry resolverRegistry = URIResolverExtensionRegistry.getIntance();
+      IFile file = computeFile(baseLocation);
+      
+      // compute the project that holds the resource
+      //      
+      IProject project =  file != null ? file.getProject() : null;            
+      List list = resolverRegistry.getExtensionDescriptors(project);      
+      for (Iterator i = resolverRegistry.getMatchingURIResolvers(list, URIResolverExtensionRegistry.STAGE_PHYSICAL).iterator(); i.hasNext(); )
+      {        
+        // get the list of applicable physical resolvers from the extension registry
+        //
+        while (i.hasNext())
+        {
+          URIResolverExtension resolver = (URIResolverExtension) i.next();
+          String tempresult = resolver.resolve(file, baseLocation, publicId, result);
+          if(tempresult != null)
+          {
+            result = tempresult;
+          }
+        }
+      }        
+      return result;
+    }
+    
+
+	protected String normalize(String baseLocation, String systemId)
+	{
+	  // If no systemId has been specified there is nothing to do
+	  // so return null;
+	  if(systemId == null)
+	    return null;
+		String result = systemId;
+		// normalize the URI
+		URI systemURI = URI.createURI(systemId);
+		if (systemURI.isRelative())
+		{
+			baseLocation = baseLocation.replace('\\','/');
+			URI baseURI = URI.createURI(baseLocation);
+			try
+			{
+			  result = systemURI.resolve(baseURI).toString();
+			}
+			catch (IllegalArgumentException e) {
+				Bundle bundle = URIResolverPlugin.getInstance().getBundle();
+				IStatus statusObj = null;
+				java.net.URI baseURI2 = null;
+				try {
+					baseURI2 = java.net.URI.create(baseLocation);
+				}
+				catch (IllegalArgumentException e2) {
+					if(logExceptions) {
+					    statusObj = new Status(IStatus.ERROR, bundle.getSymbolicName(), IStatus.ERROR, "Problem in creating java.net.URI in ExtensibleURIResolver:" + e2.getMessage(), e2); //$NON-NLS-1$
+					    Platform.getLog(bundle).log(statusObj);
+					}
+				}
+				try {
+					if(baseURI2 != null) {
+						java.net.URI resultURI = baseURI2.resolve(systemId);
+						result = resultURI.toString();
+					}
+				}
+				catch (IllegalArgumentException e2) {
+					if(logExceptions) {
+					    statusObj = new Status(IStatus.ERROR, bundle.getSymbolicName(), IStatus.ERROR, "Problem in resolving with java.net.URI in ExtensibleURIResolver:" + e2.getMessage(), null); //$NON-NLS-1$
+					    Platform.getLog(bundle).log(statusObj);
+					}
+				}
+			}
+		}
+		return result;
+	}
+
+  protected IFile computeFile(String baseLocation)
+  {
+    IFile file = null;
+    if (baseLocation != null)
+    {
+      String pattern = "file:///"; //$NON-NLS-1$
+      if (baseLocation.startsWith(pattern))
+      {
+        baseLocation = baseLocation.substring(pattern.length());
+      }
+      IPath path = new Path(baseLocation);
+      file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
+    }
+    return file;    
+  }
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java
new file mode 100644
index 0000000..aa411a9
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URI.java
@@ -0,0 +1,2875 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A representation of a Uniform Resource Identifier (URI), as specified by
+ * <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>, with certain
+ * enhancements.  A <code>URI</code> instance can be created by specifying
+ * values for its components, or by providing a single URI string, which is
+ * parsed into its components.  Static factory methods whose names begin
+ * with "create" are used for both forms of object creation.  No public or
+ * protected constructors are provided; this class can not be subclassed.
+ *
+ * <p>Like <code>String</code>, <code>URI</code> is an immutable class;
+ * a <code>URI</code> instance offers several by-value methods that return a
+ * new <code>URI</code> object based on its current state.  Most useful,
+ * a relative <code>URI</code> can be {@link #resolve(URI) resolve}d against
+ * a base absolute <code>URI</code> -- the latter typically identifies the
+ * document in which the former appears.  The inverse to this is {@link
+ * #deresolve(URI) deresolve}, which answers the question, "what relative
+ * URI will resolve, against the given base, to this absolute URI?"
+ *
+ * <p>In the <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC</a>, much
+ * attention is focused on a hierarchical naming system used widely to
+ * locate resources via common protocols such as HTTP, FTP, and Gopher, and
+ * to identify files on a local file system.  Acordingly, most of this
+ * class's functionality is for handling such URIs, which can be identified
+ * via {@link #isHierarchical isHierarchical}.
+ *
+ * <p><a name="device_explanation">
+ * The primary enhancement beyond the RFC description is an optional
+ * device component.  Instead of treating the device as just another segment
+ * in the path, it can be stored as a separate component (almost a
+ * sub-authority), with the root below it.  For example, resolving
+ * <code>/bar</code> against <code>file:///c:/foo</code> would result in
+ * <code>file:///c:/bar</code> being returned.  Also, you cannot take
+ * the parent of a device, so resolving <code>..</code> against
+ * <code>file:///c:/</code> would not yield <code>file:///</code>, as you
+ * might expect.  This feature is useful when working with file-scheme
+ * URIs, as devices do not typically occur in protocol-based ones.  A
+ * device-enabled <code>URI</code> is created by parsing a string with
+ * {@link #createURI(String) createURI}; if the first segment of the path
+ * ends with the <code>:</code> character, it is stored (including the colon)
+ * as the device, instead.  Alternately, either the {@link
+ * #createHierarchicalURI(String, String, String, String, String) no-path}
+ * or the {@link #createHierarchicalURI(String, String, String, String[],
+ * String, String) absolute-path} form of <code>createHierarchicalURI()</code>
+ * can be used, in which a non-null <code>device</code> parameter can be
+ * specified.
+ *
+ * <p><a name="archive_explanation"> 
+ * The other enhancement provides support for the almost-hierarchical
+ * form used for files within archives, such as the JAR scheme, defined
+ * for the Java Platform in the documentation for {@link
+ * java.net.JarURLConnection}. By default, this support is enabled for
+ * absolute URIs with scheme equal to "jar", "zip", or "archive" (ignoring case), and
+ * is implemented by a hierarchical URI, whose authority includes the
+ * entire URI of the archive, up to and including the <code>!</code>
+ * character.  The URI of the archive must have no fragment.  The whole
+ * archive URI must have no device and an absolute path.  Special handling
+ * is supported for {@link #createURI creating}, {@link
+ * #validArchiveAuthority validating}, {@link #devicePath getting the path}
+ * from, and {@link #toString displaying} archive URIs. In all other
+ * operations, including {@link #resolve(URI) resolving} and {@link
+ * #deresolve(URI) deresolving}, they are handled like any ordinary URI.
+ *
+ * <p>This implementation does not impose the all of the restrictions on
+ * character validity that are specified in the RFC.  Static methods whose
+ * names begin with "valid" are used to test whether a given string is valid
+ * value for the various URI components.  Presently, these tests place no
+ * restrictions beyond what would have been required in order for {@link
+ * createURI(String) createURI} to have parsed them correctly from a single
+ * URI string.  If necessary in the future, these tests may be made more
+ * strict, to better coform to the RFC.
+ * 
+ * <p>Another group of static methods, whose names begin with "encode", use
+ * percent escaping to encode any characters that are not permitted in the
+ * various URI components. Another static method is provided to {@link
+ * #decode decode} encoded strings.  An escaped character is represented as
+ * a percent sybol (<code>%</code>), followed by two hex digits that specify
+ * the character code.  These encoding methods are more strict than the
+ * validation methods described above.  They ensure validity according to the
+ * RFC, with one exception: non-ASCII characters.
+ *
+ * <p>The RFC allows only characters that can be mapped to 7-bit US-ASCII
+ * representations.  Non-ASCII, single-byte characters can be used only via
+ * percent escaping, as described above.  This implementation uses Java's
+ * Unicode <code>char</code> and <code>String</code> representations, and
+ * makes no attempt to encode characters 0xA0 and above.  Characters in the
+ * range 0x80-0x9F are still escaped.  In this respect, this notion of a URI
+ * is actually more like an IRI (Internationalized Resource Identifier), for
+ * which an RFC is now in <href="http://www.w3.org/International/iri-edit/draft-duerst-iri-09.txt">draft
+ * form</a>.
+ *
+ * <p>Finally, note the difference between a <code>null</code> parameter to
+ * the static factory methods and an empty string.  The former signifies the
+ * absense of a given URI component, while the latter simply makes the
+ * component blank.  This can have a significant effect when resolving.  For
+ * example, consider the following two URIs: <code>/bar</code> (with no
+ * authority) and <code>///bar</code> (with a blank authority).  Imagine
+ * resolving them against a base with an authority, such as
+ * <code>http://www.eclipse.org/</code>.  The former case will yield
+ * <code>http://www.eclipse.org/bar</code>, as the base authority will be
+ * preserved.  In the latter case, the empty authority will override the
+ * base authority, resulting in <code>http:///bar</code>!
+ */
+public final class URI
+{
+  // Common to all URI types.
+  private final int hashCode;
+  private final boolean hierarchical;
+  private final String scheme;  // null -> relative URI reference
+  private final String authority;
+  private final String fragment;
+  private URI cachedTrimFragment;
+  private String cachedToString;
+  //private final boolean iri;
+  //private URI cachedASCIIURI;
+
+  // Applicable only to a hierarchical URI.
+  private final String device;
+  private final boolean absolutePath;
+  private final String[] segments; // empty last segment -> trailing separator
+  private final String query;
+
+  // A cache of URIs, keyed by the strings from which they were created.
+  // The fragment of any URI is removed before caching it here, to minimize
+  // the size of the cache in the usual case where most URIs only differ by
+  // the fragment.
+  private static final Map uriCache = Collections.synchronizedMap(new HashMap());
+
+  // The lower-cased schemes that will be used to identify archive URIs.
+  private static final Set archiveSchemes;
+
+  // Identifies a file-type absolute URI.
+  private static final String SCHEME_FILE = "file";
+  private static final String SCHEME_JAR = "jar";
+  private static final String SCHEME_ZIP = "zip";
+  private static final String SCHEME_ARCHIVE = "archive";
+
+  // Special segment values interpreted at resolve and resolve time.
+  private static final String SEGMENT_EMPTY = "";
+  private static final String SEGMENT_SELF = ".";
+  private static final String SEGMENT_PARENT = "..";
+  private static final String[] NO_SEGMENTS = new String[0];
+
+  // Separators for parsing a URI string.
+  private static final char SCHEME_SEPARATOR = ':';
+  private static final String AUTHORITY_SEPARATOR = "//";
+  private static final char DEVICE_IDENTIFIER = ':';
+  private static final char SEGMENT_SEPARATOR = '/';
+  private static final char QUERY_SEPARATOR = '?';
+  private static final char FRAGMENT_SEPARATOR = '#';
+  private static final char USER_INFO_SEPARATOR = '@';
+  private static final char PORT_SEPARATOR = ':';
+  private static final char FILE_EXTENSION_SEPARATOR = '.';
+  private static final char ARCHIVE_IDENTIFIER = '!';
+  private static final String ARCHIVE_SEPARATOR = "!/";
+
+  // Characters to use in escaping.
+  private static final char ESCAPE = '%';
+  private static final char[] HEX_DIGITS = {
+    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
+
+  // Some character classes, as defined in RFC 2396's BNF for URI.
+  // These are 128-bit bitmasks, stored as two longs, where the Nth bit is set
+  // iff the ASCII character with value N is included in the set.  These are
+  // created with the highBitmask() and lowBitmask() methods defined below,
+  // and a character is tested against them using matches().
+  //
+  private static final long ALPHA_HI = highBitmask('a', 'z') | highBitmask('A', 'Z');
+  private static final long ALPHA_LO = lowBitmask('a', 'z')  | lowBitmask('A', 'Z');
+  private static final long DIGIT_HI = highBitmask('0', '9');
+  private static final long DIGIT_LO = lowBitmask('0', '9');
+  private static final long ALPHANUM_HI = ALPHA_HI | DIGIT_HI;
+  private static final long ALPHANUM_LO = ALPHA_LO | DIGIT_LO;
+  private static final long HEX_HI = DIGIT_HI | highBitmask('A', 'F') | highBitmask('a', 'f');
+  private static final long HEX_LO = DIGIT_LO | lowBitmask('A', 'F')  | lowBitmask('a', 'f');
+  private static final long UNRESERVED_HI = ALPHANUM_HI | highBitmask("-_.!~*'()"); 
+  private static final long UNRESERVED_LO = ALPHANUM_LO | lowBitmask("-_.!~*'()");
+  private static final long RESERVED_HI = highBitmask(";/?:@&=+$,");
+  private static final long RESERVED_LO = lowBitmask(";/?:@&=+$,");
+  private static final long URIC_HI = RESERVED_HI | UNRESERVED_HI;  // | ucschar | escaped
+  private static final long URIC_LO = RESERVED_LO | UNRESERVED_LO;
+
+  // Additional useful character classes, including characters valid in certain
+  // URI components and separators used in parsing them out of a string. 
+  //
+  private static final long SEGMENT_CHAR_HI = UNRESERVED_HI | highBitmask(";:@&=+$,");  // | ucschar | escaped
+  private static final long SEGMENT_CHAR_LO = UNRESERVED_LO | lowBitmask(";:@&=+$,");
+  private static final long PATH_CHAR_HI = SEGMENT_CHAR_HI | highBitmask('/');  // | ucschar | escaped
+  private static final long PATH_CHAR_LO = SEGMENT_CHAR_LO | lowBitmask('/');
+//  private static final long SCHEME_CHAR_HI = ALPHANUM_HI | highBitmask("+-.");
+//  private static final long SCHEME_CHAR_LO = ALPHANUM_LO | lowBitmask("+-.");
+  private static final long MAJOR_SEPARATOR_HI = highBitmask(":/?#");
+  private static final long MAJOR_SEPARATOR_LO = lowBitmask(":/?#");
+  private static final long SEGMENT_END_HI = highBitmask("/?#");
+  private static final long SEGMENT_END_LO = lowBitmask("/?#");
+
+  // Static initializer for archiveSchemes.
+  static
+  {
+    Set set = new HashSet();
+    set.add(SCHEME_JAR);
+    set.add(SCHEME_ZIP);
+    set.add(SCHEME_ARCHIVE);
+    
+    
+    archiveSchemes = Collections.unmodifiableSet(set);
+  }
+
+  // Returns the lower half bitmask for the given ASCII character.
+  private static long lowBitmask(char c)
+  {
+    return c < 64 ? 1L << c : 0L;
+  }
+
+  // Returns the upper half bitmask for the given ACSII character.
+  private static long highBitmask(char c)
+  {
+    return c >= 64 && c < 128 ? 1L << (c - 64) : 0L;
+  }
+
+  // Returns the lower half bitmask for all ASCII characters between the two
+  // given characters, inclusive.
+  private static long lowBitmask(char from, char to)
+  {
+    long result = 0L;
+    if (from < 64 && from <= to)
+    {
+      to = to < 64 ? to : 63;
+      for (char c = from; c <= to; c++)
+      {
+        result |= (1L << c);
+      }
+    }
+    return result;
+  }
+
+  // Returns the upper half bitmask for all AsCII characters between the two
+  // given characters, inclusive.
+  private static long highBitmask(char from, char to)
+  {
+    return to < 64 ? 0 : lowBitmask((char)(from < 64 ? 0 : from - 64), (char)(to - 64));
+  }
+
+  // Returns the lower half bitmask for all the ASCII characters in the given
+  // string.
+  private static long lowBitmask(String chars)
+  {
+    long result = 0L;
+    for (int i = 0, len = chars.length(); i < len; i++)
+    {
+      char c = chars.charAt(i);
+      if (c < 64) result |= (1L << c);
+    }
+    return result;
+  }
+
+  // Returns the upper half bitmask for all the ASCII characters in the given
+  // string.
+  private static long highBitmask(String chars)
+  {
+    long result = 0L;
+    for (int i = 0, len = chars.length(); i < len; i++)
+    {
+      char c = chars.charAt(i);
+      if (c >= 64 && c < 128) result |= (1L << (c - 64));
+    }
+    return result;
+  }
+
+  // Returns whether the given character is in the set specified by the given
+  // bitmask.
+  private static boolean matches(char c, long highBitmask, long lowBitmask)
+  {
+    if (c >= 128) return false;
+    return c < 64 ?
+      ((1L << c) & lowBitmask) != 0 :
+      ((1L << (c - 64)) & highBitmask) != 0;
+  }
+
+  // Debugging method: converts the given long to a string of binary digits.
+/*
+  private static String toBits(long l)
+  {
+    StringBuffer result = new StringBuffer();
+    for (int i = 0; i < 64; i++)
+    {
+      boolean b = (l & 1L) != 0;
+      result.insert(0, b ? '1' : '0');
+      l >>= 1;
+    }
+    return result.toString();
+  }
+*/
+
+  /**
+   * Static factory method for a generic, non-hierarchical URI.  There is no
+   * concept of a relative non-hierarchical URI; such an object cannot be
+   * created.
+   *
+   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
+   * null, if <code>scheme</code> is an <a href="#archive_explanation">archive
+   * URI</a> scheme, or if <code>scheme</code>, <code>opaquePart</code>, or
+   * <code>fragment</code> is not valid according to {@link #validScheme
+   * validScheme}, {@link #validOpaquePart validOpaquePart}, or {@link
+   * #validFragment validFragment}, respectively.
+   */
+  public static URI createGenericURI(String scheme, String opaquePart,
+                                     String fragment)
+  {
+    if (scheme == null)
+    {
+      throw new IllegalArgumentException("relative non-hierarchical URI");
+    }
+
+    if (isArchiveScheme(scheme))
+    {
+      throw new IllegalArgumentException("non-hierarchical archive URI");
+    }
+
+    validateURI(false, scheme, opaquePart, null, false, NO_SEGMENTS, null, fragment);
+    return new URI(false, scheme, opaquePart, null, false, NO_SEGMENTS, null, fragment);
+  }
+
+  /**
+   * Static factory method for a hierarchical URI with no path.  The
+   * URI will be relative if <code>scheme</code> is non-null, and absolute
+   * otherwise.  An absolute URI with no path requires a non-null
+   * <code>authority</code> and/or <code>device</code>.
+   *
+   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
+   * non-null while <code>authority</code> and <code>device</code> are null,
+   * if <code>scheme</code> is an <a href="#archive_explanation">archive
+   * URI</a> scheme, or if <code>scheme</code>, <code>authority</code>,
+   * <code>device</code>, <code>query</code>, or <code>fragment</code> is not
+   * valid according to {@link #validScheme validSheme}, {@link
+   * #validAuthority validAuthority}, {@link #validDevice validDevice},
+   * {@link #validQuery validQuery}, or {@link #validFragment validFragment},
+   * respectively.
+   */
+  public static URI createHierarchicalURI(String scheme, String authority,
+                                          String device, String query,
+                                          String fragment)
+  {
+    if (scheme != null && authority == null && device == null)
+    {
+      throw new IllegalArgumentException(
+        "absolute hierarchical URI without authority, device, path");
+    }
+
+    if (isArchiveScheme(scheme))
+    {
+      throw new IllegalArgumentException("archive URI with no path");
+    }
+
+    validateURI(true, scheme, authority, device, false, NO_SEGMENTS, query, fragment);
+    return new URI(true, scheme, authority, device, false, NO_SEGMENTS, query, fragment);
+  }
+
+  /**
+   * Static factory method for a hierarchical URI with absolute path.
+   * The URI will be relative if <code>scheme</code> is non-null, and
+   * absolute otherwise. 
+   *
+   * @param segments an array of non-null strings, each representing one
+   * segment of the path.  As an absolute path, it is automatically
+   * preceeded by a <code>/</code> separator.  If desired, a trailing
+   * separator should be represented by an empty-string segment as the last
+   * element of the array. 
+   *
+   * @exception java.lang.IllegalArgumentException if <code>scheme</code> is
+   * an <a href="#archive_explanation">archive URI</a> scheme and 
+   * <code>device</code> is non-null, or if <code>scheme</code>,
+   * <code>authority</code>, <code>device</code>, <code>segments</code>,
+   * <code>query</code>, or <code>fragment</code> is not valid according to
+   * {@link #validScheme validScheme}, {@link #validAuthority validAuthority}
+   * or {@link #validArchiveAuthority validArchiveAuthority}, {@link
+   * #validDevice validDevice}, {@link #validSegments validSegments}, {@link
+   * #validQuery validQuery}, or {@link #validFragment validFragment}, as
+   * appropriate.
+   */
+  public static URI createHierarchicalURI(String scheme, String authority,
+                                          String device, String[] segments,
+                                          String query, String fragment)
+  {
+    if (isArchiveScheme(scheme) && device != null)
+    {
+      throw new IllegalArgumentException("archive URI with device");
+    }
+
+    segments = fix(segments);
+    validateURI(true, scheme, authority, device, true, segments, query, fragment);
+    return new URI(true, scheme, authority, device, true, segments, query, fragment);
+  }
+
+  /**
+   * Static factory method for a relative hierarchical URI with relative
+   * path.
+   *
+   * @param segments an array of non-null strings, each representing one
+   * segment of the path.  A trailing separator is represented by an
+   * empty-string segment at the end of the array.
+   *
+   * @exception java.lang.IllegalArgumentException if <code>segments</code>,
+   * <code>query</code>, or <code>fragment</code> is not valid according to 
+   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
+   * {@link #validFragment validFragment}, respectively.
+   */
+  public static URI createHierarchicalURI(String[] segments, String query,
+                                          String fragment)
+  {
+    segments = fix(segments);
+    validateURI(true, null, null, null, false, segments, query, fragment);
+    return new URI(true, null, null, null, false, segments, query, fragment);
+  }
+
+  // Converts null to length-zero array, and clones array to ensure
+  // immutability.
+  private static String[] fix(String[] segments)
+  {
+    return segments == null ? NO_SEGMENTS : (String[])segments.clone();
+  }
+  
+  /**
+   * Static factory method based on parsing a URI string, with 
+   * <a href="#device_explanation">explicit device support</a> and handling
+   * for <a href="#archive_explanation">archive URIs</a> enabled. The
+   * specified string is parsed as described in <a
+   * href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>, and an
+   * appropriate <code>URI</code> is created and returned.  Note that
+   * validity testing is not as strict as in the RFC; essentially, only
+   * separator characters are considered.  So, for example, non-Latin
+   * alphabet characters appearing in the scheme would not be considered an
+   * error.
+   *
+   * @exception java.lang.IllegalArgumentException if any component parsed
+   * from <code>uri</code> is not valid according to {@link #validScheme
+   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
+   * #validAuthority validAuthority}, {@link #validArchiveAuthority
+   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
+   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
+   * #validFragment validFragment}, as appropriate.
+   */
+  public static URI createURI(String uri)
+  {
+    return createURIWithCache(uri); 
+  }
+
+  /**
+   * Static factory method that encodes and parses the given URI string.
+   * Appropriate encoding is performed for each component of the URI.
+   * If more than one <code>#</code> is in the string, the last one is
+   * assumed to be the fragment's separator, and any others are encoded.
+   *  
+   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
+   * unescaped if they already begin a valid three-character escape sequence;
+   * <code>false</code> to encode all <code>%</code> characters.  Note that
+   * if a <code>%</code> is not followed by 2 hex digits, it will always be
+   * escaped. 
+   *
+   * @exception java.lang.IllegalArgumentException if any component parsed
+   * from <code>uri</code> is not valid according to {@link #validScheme
+   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
+   * #validAuthority validAuthority}, {@link #validArchiveAuthority
+   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
+   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
+   * #validFragment validFragment}, as appropriate.
+   */
+  public static URI createURI(String uri, boolean ignoreEscaped)
+  {
+    return createURIWithCache(encodeURI(uri, ignoreEscaped));
+  }
+
+  /**
+   * Static factory method based on parsing a URI string, with 
+   * <a href="#device_explanation">explicit device support</a> enabled.  
+   * Note that validity testing is not a strict as in the RFC; essentially,
+   * only separator characters are considered.  So, for example, non-Latin
+   * alphabet characters appearing in the scheme would not be considered an
+   * error.
+   *
+   * @exception java.lang.IllegalArgumentException if any component parsed
+   * from <code>uri</code> is not valid according to {@link #validScheme
+   * validScheme}, {@link #validOpaquePart validOpaquePart}, {@link
+   * #validAuthority validAuthority}, {@link #validArchiveAuthority
+   * validArchiveAuthority}, {@link #validDevice validDevice}, {@link
+   * #validSegments validSegments}, {@link #validQuery validQuery}, or {@link
+   * #validFragment validFragment}, as appropriate.
+   *
+   * @deprecated Use {@link #createURI createURI}, which now has explicit
+   * device support enabled. The two methods now operate identically.
+   */
+  public static URI createDeviceURI(String uri)
+  {
+    return createURIWithCache(uri);
+  }
+
+  // Uses a cache to speed up creation of a URI from a string.  The cache
+  // is consulted to see if the URI, less any fragment, has already been
+  // created.  If needed, the fragment is re-appended to the cached URI,
+  // which is considerably more efficient than creating the whole URI from
+  // scratch.  If the URI wasn't found in the cache, it is created using
+  // parseIntoURI() and then cached.  This method should always be used
+  // by string-parsing factory methods, instead of parseIntoURI() directly.
+  /**
+   * This method was included in the public API by mistake.
+   * 
+   * @deprecated Please use {@link #createURI createURI} instead.
+   */
+  public static URI createURIWithCache(String uri)
+  {
+    int i = uri.indexOf(FRAGMENT_SEPARATOR);
+    String base = i == -1 ? uri : uri.substring(0, i);
+    String fragment = i == -1 ? null : uri.substring(i + 1);
+
+    URI result = (URI)uriCache.get(base);
+
+    if (result == null)
+    {
+      result = parseIntoURI(base);
+      uriCache.put(base, result);
+    }
+
+    if (fragment != null)
+    {
+      result = result.appendFragment(fragment);
+    }
+    return result;
+  }
+
+  // String-parsing implementation.
+  private static URI parseIntoURI(String uri)
+  {
+    boolean hierarchical = true;
+    String scheme = null;
+    String authority = null;
+    String device = null;
+    boolean absolutePath = false;
+    String[] segments = NO_SEGMENTS;
+    String query = null;
+    String fragment = null;
+
+    int i = 0;
+    int j = find(uri, i, MAJOR_SEPARATOR_HI, MAJOR_SEPARATOR_LO);
+
+    if (j < uri.length() && uri.charAt(j) == SCHEME_SEPARATOR)
+    {
+      scheme = uri.substring(i, j);
+      i = j + 1;
+    }
+
+    boolean archiveScheme = isArchiveScheme(scheme);
+    if (archiveScheme)
+    {
+      j = uri.lastIndexOf(ARCHIVE_SEPARATOR);
+      if (j == -1)
+      {
+        throw new IllegalArgumentException("no archive separator");
+      }
+      hierarchical = true;
+      authority = uri.substring(i, ++j);
+      i = j;
+    }
+    else if (uri.startsWith(AUTHORITY_SEPARATOR, i))
+    {
+      i += AUTHORITY_SEPARATOR.length();
+      j = find(uri, i, SEGMENT_END_HI, SEGMENT_END_LO);
+      authority = uri.substring(i, j);
+      i = j;
+    }
+    else if (scheme != null &&
+             (i == uri.length() || uri.charAt(i) != SEGMENT_SEPARATOR))
+    {
+      hierarchical = false;
+      j = uri.indexOf(FRAGMENT_SEPARATOR, i);
+      if (j == -1) j = uri.length();
+      authority = uri.substring(i, j);
+      i = j;
+    }
+
+    if (!archiveScheme && i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
+    {
+      j = find(uri, i + 1, SEGMENT_END_HI, SEGMENT_END_LO);
+      String s = uri.substring(i + 1, j);
+      
+      if (s.length() > 0 && s.charAt(s.length() - 1) == DEVICE_IDENTIFIER)
+      {
+        device = s;
+        i = j;
+      }
+    }
+
+    if (i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
+    {
+      i++;
+      absolutePath = true;
+    }
+
+    if (segmentsRemain(uri, i))
+    {
+      List segmentList = new ArrayList();
+
+      while (segmentsRemain(uri, i))
+      {
+        j = find(uri, i, SEGMENT_END_HI, SEGMENT_END_LO);
+        segmentList.add(uri.substring(i, j));
+        i = j;
+
+        if (i < uri.length() && uri.charAt(i) == SEGMENT_SEPARATOR)
+        {
+          if (!segmentsRemain(uri, ++i)) segmentList.add(SEGMENT_EMPTY);
+        }
+      }
+      segments = new String[segmentList.size()];
+      segmentList.toArray(segments);
+    }
+
+    if (i < uri.length() && uri.charAt(i) == QUERY_SEPARATOR)
+    {
+      j = uri.indexOf(FRAGMENT_SEPARATOR, ++i);
+      if (j == -1) j = uri.length();
+      query = uri.substring(i, j);
+      i = j;
+    }
+
+    if (i < uri.length()) // && uri.charAt(i) == FRAGMENT_SEPARATOR (implied)
+    {
+      fragment = uri.substring(++i);
+    }
+
+    validateURI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment);
+    return new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment);
+  }
+
+  // Checks whether the string contains any more segments after the one that
+  // starts at position i.
+  private static boolean segmentsRemain(String uri, int i)
+  {
+    return i < uri.length() && uri.charAt(i) != QUERY_SEPARATOR &&
+      uri.charAt(i) != FRAGMENT_SEPARATOR;
+  }
+
+  // Finds the next occurance of one of the characters in the set represented
+  // by the given bitmask in the given string, beginning at index i. The index
+  // of the first found character, or s.length() if there is none, is
+  // returned.  Before searching, i is limited to the range [0, s.length()].
+  //
+  private static int find(String s, int i, long highBitmask, long lowBitmask)
+  {
+    int len = s.length();
+    if (i >= len) return len;
+
+    for (i = i > 0 ? i : 0; i < len; i++)
+    {
+      if (matches(s.charAt(i), highBitmask, lowBitmask)) break;
+    }
+    return i;
+  }
+
+  /**
+   * Static factory method based on parsing a {@link java.io.File} path
+   * string.  The <code>pathName</code> is converted into an appropriate
+   * form, as follows: platform specific path separators are converted to
+   * <code>/<code>; the path is encoded; and a "file" scheme and, if missing,
+   * a leading <code>/</code>, are added to an absolute path.  The result
+   * is then parsed using {@link #createURI(String) createURI}.
+   *
+   * <p>The encoding step escapes all spaces, <code>#</code> characters, and
+   * other characters disallowed in URIs, as well as <code>?</code>, which
+   * would delimit a path from a query.  Decoding is automatically performed
+   * by {@link #toFileString toFileString}, and can be applied to the values
+   * returned by other accessors by via the static {@link #decode(String)
+   * decode} method.
+   *
+   * <p>A relative path with a specified device (something like
+   * <code>C:myfile.txt</code>) cannot be expressed as a valid URI.
+   * 
+   * @exception java.lang.IllegalArgumentException if <code>pathName</code>
+   * specifies a device and a relative path, or if any component of the path
+   * is not valid according to {@link #validAuthority validAuthority}, {@link
+   * #validDevice validDevice}, or {@link #validSegments validSegments},
+   * {@link #validQuery validQuery}, or {@link #validFragment validFragment}.
+   */
+  public static URI createFileURI(String pathName)
+  {
+    File file = new File(pathName);
+    String uri = File.separatorChar != '/' ? pathName.replace(File.separatorChar, SEGMENT_SEPARATOR) : pathName;
+    uri = encode(uri, PATH_CHAR_HI, PATH_CHAR_LO, false);
+    if (file.isAbsolute())
+    {
+      URI result = createURI((uri.charAt(0) == SEGMENT_SEPARATOR ? "file:" : "file:/") + uri);
+      return result;
+    }
+    else
+    {
+      URI result = createURI(uri);
+      if (result.scheme() != null)
+      {
+        throw new IllegalArgumentException("invalid relative pathName: " + pathName);
+      }
+      return result;
+    }
+  }
+
+  /**
+   * Static factory method based on parsing a platform-relative path string.
+   *
+   * <p>The <code>pathName</code> must be of the form:
+   * <pre>
+   *   /project-name/path</pre>
+   *
+   * <p>Platform-specific path separators will be converterted to slashes.
+   * If not included, the leading path separator will be added.  The
+   * result will be of this form, which is parsed using {@link #createURI
+   * createURI}:
+   * <pre>
+   *   platform:/resource/project-name/path</pre>
+   *
+   * 
+   * @exception java.lang.IllegalArgumentException if any component parsed
+   * from the path is not valid according to {@link #validDevice validDevice},
+   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
+   * {@link #validFragment validFragment}.
+   *
+   * @see org.eclipse.core.runtime.Platform#resolve
+   * @see #createPlatformResourceURI(String, boolean)
+   */
+  public static URI createPlatformResourceURI(String pathName)
+  {
+    return createPlatformResourceURI(pathName, false);
+  }
+
+  /**
+   * Static factory method based on parsing a platform-relative path string,
+   * with an option to encode the created URI.
+   *
+   * <p>The <code>pathName</code> must be of the form:
+   * <pre>
+   *   /project-name/path</pre>
+   *
+   * <p>Platform-specific path separators will be converterted to slashes.
+   * If not included, the leading path separator will be added.  The
+   * result will be of this form, which is parsed using {@link #createURI
+   * createURI}:
+   * <pre>
+   *   platform:/resource/project-name/path</pre>
+   *
+   * <p>This scheme supports relocatable projects in Eclipse and in
+   * stand-alone .
+   *
+   * <p>Depending on the <code>encode</code> argument, the path may be
+   * automatically encoded to escape all spaces, <code>#</code> characters,
+   * and other characters disallowed in URIs, as well as <code>?</code>,
+   * which would delimit a path from a query.  Decoding can be performed with
+   * the static {@link #decode(String) decode} method.
+   * 
+   * @exception java.lang.IllegalArgumentException if any component parsed
+   * from the path is not valid according to {@link #validDevice validDevice},
+   * {@link #validSegments validSegments}, {@link #validQuery validQuery}, or
+   * {@link #validFragment validFragment}.
+   *
+   * @see org.eclipse.core.runtime.Platform#resolve
+   */
+  public static URI createPlatformResourceURI(String pathName, boolean encode)
+  {
+    if (File.separatorChar != SEGMENT_SEPARATOR)
+    {
+      pathName = pathName.replace(File.separatorChar, SEGMENT_SEPARATOR);
+    }
+
+    if (encode)
+    {
+      pathName = encode(pathName, PATH_CHAR_HI, PATH_CHAR_LO, false);
+    }
+    URI result = createURI((pathName.charAt(0) == SEGMENT_SEPARATOR ? "platform:/resource" : "platform:/resource/") + pathName);
+    return result;
+  }
+  
+  // Private constructor for use of static factory methods.
+  private URI(boolean hierarchical, String scheme, String authority,
+              String device, boolean absolutePath, String[] segments,
+              String query, String fragment)
+  {
+    int hashCode = 0;
+    //boolean iri = false;
+
+    if (hierarchical)
+    {
+      ++hashCode;
+    }
+    if (absolutePath)
+    {
+      hashCode += 2;
+    }
+    if (scheme != null)
+    {
+      hashCode ^= scheme.toLowerCase().hashCode();
+    }
+    if (authority != null)
+    {
+      hashCode ^= authority.hashCode();
+      //iri = iri || containsNonASCII(authority);
+    }
+    if (device != null)
+    {
+      hashCode ^= device.hashCode();
+      //iri = iri || containsNonASCII(device);
+    }
+    if (query != null)
+    {
+      hashCode ^= query.hashCode();
+      //iri = iri || containsNonASCII(query);
+    }
+    if (fragment != null)
+    {
+      hashCode ^= fragment.hashCode();
+      //iri = iri || containsNonASCII(fragment);
+    }
+
+    for (int i = 0, len = segments.length; i < len; i++)
+    {
+      hashCode ^= segments[i].hashCode();
+      //iri = iri || containsNonASCII(segments[i]);
+    }
+
+    this.hashCode = hashCode;
+    //this.iri = iri;
+    this.hierarchical = hierarchical;
+    this.scheme = scheme == null ? null : scheme.intern();
+    this.authority = authority;
+    this.device = device;
+    this.absolutePath = absolutePath;
+    this.segments = segments;
+    this.query = query;
+    this.fragment = fragment;
+  }
+  
+  // Validates all of the URI components.  Factory methods should call this
+  // before using the constructor, though they must ensure that the
+  // inter-component requirements described in their own Javadocs are all
+  // satisfied, themselves.  If a new URI is being constructed out of
+  // an existing URI, this need not be called.  Instead, just the new
+  // components may be validated individually.
+  private static void validateURI(boolean hierarchical, String scheme,
+                                    String authority, String device,
+                                    boolean absolutePath, String[] segments,
+                                    String query, String fragment)
+  {
+    if (!validScheme(scheme))
+    {
+      throw new IllegalArgumentException("invalid scheme: " + scheme);
+    }
+    if (!hierarchical && !validOpaquePart(authority))
+    {
+      throw new IllegalArgumentException("invalid opaquePart: " + authority);
+    }
+    if (hierarchical && !isArchiveScheme(scheme) && !validAuthority(authority))
+    {
+      throw new IllegalArgumentException("invalid authority: " + authority);
+    }
+    if (hierarchical && isArchiveScheme(scheme) && !validArchiveAuthority(authority))
+    {
+      throw new IllegalArgumentException("invalid authority: " + authority);
+    }
+    if (!validDevice(device))
+    {
+      throw new IllegalArgumentException("invalid device: " + device);
+    }
+    if (!validSegments(segments))
+    {
+      String s = segments == null ? "invalid segments: " + segments :
+        "invalid segment: " + firstInvalidSegment(segments);
+      throw new IllegalArgumentException(s);
+    }
+    if (!validQuery(query))
+    {
+      throw new IllegalArgumentException("invalid query: " + query);
+    }
+    if (!validFragment(fragment))
+    {
+      throw new IllegalArgumentException("invalid fragment: " + fragment);
+    }
+  }
+
+  // Alternate, stricter implementations of the following validation methods
+  // are provided, commented out, for possible future use...
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * valid as the scheme component of a URI; <code>false</code> otherwise.
+   *
+   * <p>A valid scheme may be null or contain any characters except for the
+   * following: <code>: / ? #</code>
+   */
+  public static boolean validScheme(String value)
+  {
+    return value == null || !contains(value, MAJOR_SEPARATOR_HI, MAJOR_SEPARATOR_LO);  
+
+  // <p>A valid scheme may be null, or consist of a single letter followed
+  // by any number of letters, numbers, and the following characters:
+  // <code>+ - .</code>
+
+    //if (value == null) return true;
+    //return value.length() != 0 &&
+    //  matches(value.charAt(0), ALPHA_HI, ALPHA_LO) &&
+    //  validate(value, SCHEME_CHAR_HI, SCHEME_CHAR_LO, false, false);
+  }
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * valid as the opaque part component of a URI; <code>false</code>
+   * otherwise.
+   *
+   * <p>A valid opaque part must be non-null, non-empty, and not contain the
+   * <code>#</code> character.  In addition, its first character must not be
+   * <code>/</code>
+   */
+  public static boolean validOpaquePart(String value)
+  {
+    return value != null && value.indexOf(FRAGMENT_SEPARATOR) == -1 &&
+    value.length() > 0 && value.charAt(0) != SEGMENT_SEPARATOR;
+
+  // <p>A valid opaque part must be non-null and non-empty. It may contain
+  // any allowed URI characters, but its first character may not be
+  // <code>/</code> 
+
+    //return value != null && value.length() != 0 &&
+    //  value.charAt(0) != SEGMENT_SEPARATOR &&
+    //  validate(value, URIC_HI, URIC_LO, true, true);
+  }
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * valid as the authority component of a URI; <code>false</code> otherwise.
+   *
+   * <p>A valid authority may be null or contain any characters except for
+   * the following: <code>/ ? #</code>
+   */
+  public static boolean validAuthority(String value)
+  {
+    return value == null || !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
+
+  // A valid authority may be null or contain any allowed URI characters except
+  // for the following: <code>/ ?</code>
+
+    //return value == null || validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true);
+  }
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * valid as the authority component of an <a
+   * href="#archive_explanation">archive URI</a>; <code>false</code>
+   * otherwise.
+   *
+   * <p>To be valid, the authority, itself, must be a URI with no fragment,
+   * followed by the character <code>!</code>.
+   */
+  public static boolean validArchiveAuthority(String value)
+  {
+    if (value != null && value.length() > 0 &&
+        value.charAt(value.length() - 1) == ARCHIVE_IDENTIFIER)
+    {
+      try
+      {
+        URI archiveURI = createURI(value.substring(0, value.length() - 1));
+        return !archiveURI.hasFragment();
+      }
+      catch (IllegalArgumentException e)
+      {
+      }
+    }
+    return false;
+  }
+
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * valid as the device component of a URI; <code>false</code> otherwise.
+   *
+   * <p>A valid device may be null or non-empty, containing any characters
+   * except for the following: <code>/ ? #</code>  In addition, its last
+   * character must be <code>:</code>
+   */
+  public static boolean validDevice(String value)
+  {    
+    if (value == null) return true;
+    int len = value.length();
+    return len > 0 && value.charAt(len - 1) == DEVICE_IDENTIFIER &&
+      !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
+
+  // <p>A valid device may be null or non-empty, containing any allowed URI
+  // characters except for the following: <code>/ ?</code>  In addition, its
+  // last character must be <code>:</code>
+
+    //if (value == null) return true;
+    //int len = value.length();
+    //return len > 0 && validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true) &&
+    //  value.charAt(len - 1) == DEVICE_IDENTIFIER;
+  }
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * a valid path segment of a URI; <code>false</code> otherwise.
+   *
+   * <p>A valid path segment must be non-null and not contain any of the
+   * following characters: <code>/ ? #</code>
+   */
+  public static boolean validSegment(String value)
+  {
+    return value != null && !contains(value, SEGMENT_END_HI, SEGMENT_END_LO);
+
+  // <p>A valid path segment must be non-null and may contain any allowed URI
+  // characters except for the following: <code>/ ?</code> 
+
+    //return value != null && validate(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, true, true);
+  }
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * a valid path segment array of a URI; <code>false</code> otherwise.
+   *
+   * <p>A valid path segment array must be non-null and contain only path
+   * segements that are valid according to {@link #validSegment validSegment}.
+   */
+  public static boolean validSegments(String[] value)
+  {
+    if (value == null) return false;
+    for (int i = 0, len = value.length; i < len; i++)
+    {
+      if (!validSegment(value[i])) return false;
+    }
+    return true;
+  }
+
+  // Returns null if the specicied value is null or would be a valid path
+  // segment array of a URI; otherwise, the value of the first invalid
+  // segment. 
+  private static String firstInvalidSegment(String[] value)
+  {
+    if (value == null) return null;
+    for (int i = 0, len = value.length; i < len; i++)
+    {
+      if (!validSegment(value[i])) return value[i];
+    }
+    return null;
+  }
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * valid as the query component of a URI; <code>false</code> otherwise.
+   *
+   * <p>A valid query may be null or contain any characters except for
+   * <code>#</code>
+   */
+  public static boolean validQuery(String value)
+  {
+    return value == null || value.indexOf(FRAGMENT_SEPARATOR) == -1;
+
+  // <p>A valid query may be null or contain any allowed URI characters.
+
+    //return value == null || validate(value, URIC_HI, URIC_LO, true, true);
+}
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * valid as the fragment component of a URI; <code>false</code> otherwise.
+   *
+   * <p>A fragment is taken to be unconditionally valid.
+   */
+  public static boolean validFragment(String value)
+  {
+    return true;
+
+  // <p>A valid fragment may be null or contain any allowed URI characters.
+
+    //return value == null || validate(value, URIC_HI, URIC_LO, true, true);
+  }
+
+  // Searches the specified string for any characters in the set represnted
+  // by the 128-bit bitmask.  Returns true if any occur, or false otherwise.
+  private static boolean contains(String s, long highBitmask, long lowBitmask)
+  {
+    for (int i = 0, len = s.length(); i < len; i++)
+    {
+      if (matches(s.charAt(i), highBitmask, lowBitmask)) return true;
+    }
+    return false;
+  }
+
+  // Tests the non-null string value to see if it contains only ASCII
+  // characters in the set represented by the specified 128-bit bitmask,
+  // as well as, optionally, non-ASCII characters 0xA0 and above, and,
+  // also optionally, escape sequences of % followed by two hex digits.
+  // This method is used for the new, strict URI validation that is not
+  // not currently in place.
+/*
+  private static boolean validate(String value, long highBitmask, long lowBitmask,
+                                     boolean allowNonASCII, boolean allowEscaped)
+  {
+    for (int i = 0, len = value.length(); i < len; i++)
+    { 
+      char c = value.charAt(i);
+
+      if (matches(c, highBitmask, lowBitmask)) continue;
+      if (allowNonASCII && c >= 160) continue;
+      if (allowEscaped && isEscaped(value, i))
+      {
+        i += 2;
+        continue;
+      }
+      return false;
+    }
+    return true;
+  }
+*/
+
+  /**
+   * Returns <code>true</code> if this is a relative URI, or
+   * <code>false</code> if it is an absolute URI.
+   */
+  public boolean isRelative()
+  {
+    return scheme == null;
+  }
+
+  /**
+   * Returns <code>true</code> if this a a hierarchical URI, or
+   * <code>false</code> if it is of the generic form.
+   */
+  public boolean isHierarchical()
+  {
+    return hierarchical;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarcical URI with an authority
+   * component; <code>false</code> otherwise. 
+   */
+  public boolean hasAuthority()
+  {
+    return hierarchical && authority != null;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a non-hierarchical URI with an
+   * opaque part component; <code>false</code> otherwise.
+   */
+  public boolean hasOpaquePart()
+  {
+    // note: hierarchical -> authority != null
+    return !hierarchical;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI with a device
+   * component; <code>false</code> otherwise.
+   */
+  public boolean hasDevice()
+  {
+    // note: device != null -> hierarchical
+    return device != null;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI with an
+   * absolute or relative path; <code>false</code> otherwise.
+   */
+  public boolean hasPath()
+  {
+    // note: (absolutePath || authority == null) -> hierarchical
+    // (authority == null && device == null && !absolutePath) -> scheme == null
+    return absolutePath || (authority == null && device == null);
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI with an
+   * absolute path, or <code>false</code> if it is non-hierarchical, has no
+   * path, or has a relative path.
+   */
+  public boolean hasAbsolutePath()
+  {
+    // note: absolutePath -> hierarchical
+    return absolutePath;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI with a relative
+   * path, or <code>false</code> if it is non-hierarchical, has no path, or
+   * has an absolute path.
+   */
+  public boolean hasRelativePath()
+  {
+    // note: authority == null -> hierarchical
+    // (authority == null && device == null && !absolutePath) -> scheme == null
+    return authority == null && device == null && !absolutePath;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI with an empty
+   * relative path; <code>false</code> otherwise.  
+   *
+   * <p>Note that <code>!hasEmpty()</code> does <em>not</em> imply that this
+   * URI has any path segments; however, <code>hasRelativePath &&
+   * !hasEmptyPath()</code> does.
+   */
+  public boolean hasEmptyPath()
+  {
+    // note: authority == null -> hierarchical
+    // (authority == null && device == null && !absolutePath) -> scheme == null
+    return authority == null && device == null && !absolutePath &&
+      segments.length == 0;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI with a query
+   * component; <code>false</code> otherwise.
+   */
+  public boolean hasQuery()
+  {
+    // note: query != null -> hierarchical
+    return query != null;
+  }
+
+  /**
+   * Returns <code>true</code> if this URI has a fragment component;
+   * <code>false</code> otherwise.
+   */
+  public boolean hasFragment()
+  {
+    return fragment != null;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a current document reference; that
+   * is, if it is a relative hierarchical URI with no authority, device or
+   * query components, and no path segments; <code>false</code> is returned
+   * otherwise.
+   */
+  public boolean isCurrentDocumentReference()
+  {
+    // note: authority == null -> hierarchical
+    // (authority == null && device == null && !absolutePath) -> scheme == null
+    return authority == null && device == null && !absolutePath &&
+      segments.length == 0 && query == null;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a {@link
+   * #isCurrentDocumentReference() current document reference} with no
+   * fragment component; <code>false</code> otherwise.
+   *
+   * @see #isCurrentDocumentReference()
+   */
+  public boolean isEmpty()
+  {
+    // note: authority == null -> hierarchical
+    // (authority == null && device == null && !absolutePath) -> scheme == null
+    return authority == null && device == null && !absolutePath &&
+      segments.length == 0 && query == null && fragment == null;
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI that may refer
+   * directly to a locally accessible file.  This is considered to be the
+   * case for a file-scheme absolute URI, or for a relative URI with no query;
+   * <code>false</code> is returned otherwise.
+   */
+  public boolean isFile()
+  {
+    return isHierarchical() &&
+      ((isRelative() && !hasQuery()) || SCHEME_FILE.equalsIgnoreCase(scheme));
+  }
+
+  // Returns true if this is an archive URI.  If so, we should expect that
+  // it is also hierarchical, with an authority (consisting of an absolute
+  // URI followed by "!"), no device, and an absolute path.
+  private boolean isArchive()
+  {
+    return isArchiveScheme(scheme);
+  }
+
+  /**
+   * Returns <code>true</code> if the specified <code>value</code> would be
+   * valid as the scheme of an <a
+   * href="#archive_explanation">archive URI</a>; <code>false</code>
+   * otherwise.
+   */
+  public static boolean isArchiveScheme(String value)
+  {
+    return value != null && archiveSchemes.contains(value.toLowerCase());
+  }
+  
+  /**
+   * Returns the hash code.
+   */
+  public int hashCode()
+  {
+    return hashCode;
+  }
+
+  /**
+   * Returns <code>true</code> if <code>obj</code> is an instance of
+   * <code>URI</code> equal to this one; <code>false</code> otherwise.
+   *
+   * <p>Equality is determined strictly by comparing components, not by
+   * attempting to interpret what resource is being identified.  The
+   * comparison of schemes is case-insensitive.
+   */
+  public boolean equals(Object obj)
+  {
+    if (this == obj) return true;
+    if (!(obj instanceof URI)) return false;
+    URI uri = (URI) obj;
+
+    return hashCode == uri.hashCode() &&
+      hierarchical == uri.isHierarchical() &&
+      absolutePath == uri.hasAbsolutePath() &&
+      equals(scheme, uri.scheme(), true) &&
+      equals(authority, hierarchical ? uri.authority() : uri.opaquePart()) &&
+      equals(device, uri.device()) &&
+      equals(query, uri.query()) && 
+      equals(fragment, uri.fragment()) &&
+      segmentsEqual(uri);
+  }
+
+  // Tests whether this URI's path segment array is equal to that of the
+  // given uri.
+  private boolean segmentsEqual(URI uri)
+  {
+    if (segments.length != uri.segmentCount()) return false;
+    for (int i = 0, len = segments.length; i < len; i++)
+    {
+      if (!segments[i].equals(uri.segment(i))) return false;
+    }
+    return true;
+  }
+
+  // Tests two objects for equality, tolerating nulls; null is considered
+  // to be a valid value that is only equal to itself.
+  private static boolean equals(Object o1, Object o2)
+  {
+    return o1 == null ? o2 == null : o1.equals(o2);
+  }
+
+  // Tests two strings for equality, tolerating nulls and optionally
+  // ignoring case.
+  private static boolean equals(String s1, String s2, boolean ignoreCase)
+  {
+    return s1 == null ? s2 == null :
+      ignoreCase ? s1.equalsIgnoreCase(s2) : s1.equals(s2);
+  }
+
+  /**
+   * If this is an absolute URI, returns the scheme component;
+   * <code>null</code> otherwise.
+   */
+  public String scheme()
+  {
+    return scheme;
+  }
+
+  /**
+   * If this is a non-hierarchical URI, returns the opaque part component;
+   * <code>null</code> otherwise.
+   */
+  public String opaquePart()
+  {
+    return isHierarchical() ? null : authority;
+  }
+
+  /**
+   * If this is a hierarchical URI with an authority component, returns it;
+   * <code>null</code> otherwise.
+   */
+  public String authority()
+  {
+    return isHierarchical() ? authority : null;
+  }
+
+  /**
+   * If this is a hierarchical URI with an authority component that has a
+   * user info portion, returns it; <code>null</code> otherwise.
+   */
+  public String userInfo()
+  { 
+    if (!hasAuthority()) return null;
+   
+    int i = authority.indexOf(USER_INFO_SEPARATOR);
+    return i < 0 ? null : authority.substring(0, i);
+  }
+
+  /**
+   * If this is a hierarchical URI with an authority component that has a
+   * host portion, returns it; <code>null</code> otherwise.
+   */
+  public String host()
+  {
+    if (!hasAuthority()) return null;
+    
+    int i = authority.indexOf(USER_INFO_SEPARATOR);
+    int j = authority.indexOf(PORT_SEPARATOR);
+    return j < 0 ? authority.substring(i + 1) : authority.substring(i + 1, j);
+  }
+
+  /**
+   * If this is a hierarchical URI with an authority component that has a
+   * port portion, returns it; <code>null</code> otherwise.
+   */
+  public String port()
+  {
+    if (!hasAuthority()) return null;
+
+    int i = authority.indexOf(PORT_SEPARATOR);
+    return i < 0 ? null : authority.substring(i + 1);
+  }
+
+  /**
+   * If this is a hierarchical URI with a device component, returns it;
+   * <code>null</code> otherwise.
+   */
+  public String device()
+  {
+    return device;
+  }
+
+  /**
+   * If this is a hierarchical URI with a path, returns an array containing
+   * the segments of the path; an empty array otherwise.  The leading
+   * separator in an absolute path is not represented in this array, but a
+   * trailing separator is represented by an empty-string segment as the
+   * final element.
+   */
+  public String[] segments()
+  {
+    return (String[])segments.clone();
+  }
+
+  /**
+   * Returns an unmodifiable list containing the same segments as the array
+   * returned by {@link #segments segments}.
+   */
+  public List segmentsList()
+  {
+    return Collections.unmodifiableList(Arrays.asList(segments));
+  }
+
+  /**
+   * Returns the number of elements in the segment array that would be
+   * returned by {@link #segments segments}.
+   */
+  public int segmentCount()
+  {
+    return segments.length;
+  }
+
+  /**
+   * Provides fast, indexed access to individual segments in the path
+   * segment array.
+   *
+   * @exception java.lang.IndexOutOfBoundsException if <code>i < 0</code> or
+   * <code>i >= segmentCount()</code>.
+   */
+  public String segment(int i)
+  {
+    return segments[i];
+  }
+
+  /**
+   * Returns the last segment in the segment array, or <code>null</code>.
+   */
+  public String lastSegment()
+  {
+    int len = segments.length;
+    if (len == 0) return null;
+    return segments[len - 1];
+  }
+
+  /**
+   * If this is a hierarchical URI with a path, returns a string
+   * representation of the path; <code>null</code> otherwise.  The path
+   * consists of a leading segment separator character (a slash), if the
+   * path is absolute, followed by the slash-separated path segments.  If
+   * this URI has a separate <a href="#device_explanation">device
+   * component</a>, it is <em>not</em> included in the path.
+   */
+  public String path()
+  {
+    if (!hasPath()) return null;
+
+    StringBuffer result = new StringBuffer();
+    if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
+
+    for (int i = 0, len = segments.length; i < len; i++)
+    {
+      if (i != 0) result.append(SEGMENT_SEPARATOR);
+      result.append(segments[i]);
+    }
+    return result.toString();
+  }
+
+  /**
+   * If this is a hierarchical URI with a path, returns a string
+   * representation of the path, including the authority and the 
+   * <a href="#device_explanation">device component</a>; 
+   * <code>null</code> otherwise.  
+   *
+   * <p>If there is no authority, the format of this string is:
+   * <pre>
+   *   device/pathSegment1/pathSegment2...</pre>
+   *
+   * <p>If there is an authority, it is:
+   * <pre>
+   *   //authority/device/pathSegment1/pathSegment2...</pre>
+   *
+   * <p>For an <a href="#archive_explanation">archive URI</a>, it's just:
+   * <pre>
+   *   authority/pathSegment1/pathSegment2...</pre>
+   */
+  public String devicePath()
+  {
+    if (!hasPath()) return null;
+
+    StringBuffer result = new StringBuffer();
+
+    if (hasAuthority())
+    {
+      if (!isArchive()) result.append(AUTHORITY_SEPARATOR);
+      result.append(authority);
+
+      if (hasDevice()) result.append(SEGMENT_SEPARATOR);
+    }
+
+    if (hasDevice()) result.append(device);
+    if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
+
+    for (int i = 0, len = segments.length; i < len; i++)
+    {
+      if (i != 0) result.append(SEGMENT_SEPARATOR);
+      result.append(segments[i]);
+    }
+    return result.toString();
+  }
+
+  /**
+   * If this is a hierarchical URI with a query component, returns it;
+   * <code>null</code> otherwise.
+   */
+  public String query()
+  {
+    return query;
+  }
+
+
+  /**
+   * Returns the URI formed from this URI and the given query.
+   *
+   * @exception java.lang.IllegalArgumentException if
+   * <code>query</code> is not a valid query (portion) according
+   * to {@link #validQuery validQuery}.
+   */
+  public URI appendQuery(String query)
+  {
+    if (!validQuery(query))
+    {
+      throw new IllegalArgumentException(
+        "invalid query portion: " + query);
+    }
+    return new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment); 
+  }
+
+  /**
+   * If this URI has a non-null {@link #query query}, returns the URI
+   * formed by removing it; this URI unchanged, otherwise.
+   */
+  public URI trimQuery()
+  {
+    if (query == null)
+    {
+      return this;
+    }
+    else
+    {
+      return new URI(hierarchical, scheme, authority, device, absolutePath, segments, null, fragment); 
+    }
+  }
+
+  /**
+   * If this URI has a fragment component, returns it; <code>null</code>
+   * otherwise.
+   */
+  public String fragment()
+  {
+    return fragment;
+  }
+
+  /**
+   * Returns the URI formed from this URI and the given fragment.
+   *
+   * @exception java.lang.IllegalArgumentException if
+   * <code>fragment</code> is not a valid fragment (portion) according
+   * to {@link #validFragment validFragment}.
+   */
+  public URI appendFragment(String fragment)
+  {
+    if (!validFragment(fragment))
+    {
+      throw new IllegalArgumentException(
+        "invalid fragment portion: " + fragment);
+    }
+    URI result = new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, fragment); 
+
+    if (!hasFragment())
+    {
+      result.cachedTrimFragment = this;
+    }
+    return result;
+  }
+
+  /**
+   * If this URI has a non-null {@link #fragment fragment}, returns the URI
+   * formed by removing it; this URI unchanged, otherwise.
+   */
+  public URI trimFragment()
+  {
+    if (fragment == null)
+    {
+      return this;
+    }
+    else if (cachedTrimFragment == null)
+    {
+      cachedTrimFragment = new URI(hierarchical, scheme, authority, device, absolutePath, segments, query, null); 
+    }
+
+    return cachedTrimFragment;
+  }
+
+  /**
+   * Resolves this URI reference against a <code>base</code> absolute
+   * hierarchical URI, returning the resulting absolute URI.  If already
+   * absolute, the URI itself is returned.  URI resolution is described in
+   * detail in section 5.2 of <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC
+   * 2396</a>, "Resolving Relative References to Absolute Form."
+   *
+   * <p>During resolution, empty segments, self references ("."), and parent
+   * references ("..") are interpreted, so that they can be removed from the
+   * path.  Step 6(g) gives a choice of how to handle the case where parent
+   * references point to a path above the root: the offending segments can
+   * be preserved or discarded.  This method preserves them.  To have them
+   * discarded, please use the two-parameter form of {@link
+   * #resolve(URI, boolean) resolve}.
+   *
+   * @exception java.lang.IllegalArgumentException if <code>base</code> is
+   * non-hierarchical or is relative.
+   */
+  public URI resolve(URI base)
+  {
+    return resolve(base, true);
+  }
+
+  /**
+   * Resolves this URI reference against a <code>base</code> absolute
+   * hierarchical URI, returning the resulting absolute URI.  If already
+   * absolute, the URI itself is returned.  URI resolution is described in
+   * detail in section 5.2 of <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC
+   * 2396</a>, "Resolving Relative References to Absolute Form."
+   *
+   * <p>During resultion, empty segments, self references ("."), and parent
+   * references ("..") are interpreted, so that they can be removed from the
+   * path.  Step 6(g) gives a choice of how to handle the case where parent
+   * references point to a path above the root: the offending segments can
+   * be preserved or discarded.  This method can do either.
+   *
+   * @param preserveRootParents <code>true</code> if segments refering to the
+   * parent of the root path are to be preserved; <code>false</code> if they
+   * are to be discarded.
+   *
+   * @exception java.lang.IllegalArgumentException if <code>base</code> is
+   * non-hierarchical or is relative.
+   */
+  public URI resolve(URI base, boolean preserveRootParents)
+  {
+    if (!base.isHierarchical() || base.isRelative())
+    {
+      throw new IllegalArgumentException(
+        "resolve against non-hierarchical or relative base");
+    }
+
+    // an absolute URI needs no resolving
+    if (!isRelative()) return this;
+
+    // note: isRelative() -> hierarchical
+
+    String newAuthority = authority;
+    String newDevice = device;
+    boolean newAbsolutePath = absolutePath;
+    String[] newSegments = segments;
+    String newQuery = query;
+    // note: it's okay for two URIs to share a segments array, since
+    // neither will ever modify it
+    
+    if (authority == null)
+    {
+      // no authority: use base's
+      newAuthority = base.authority();
+
+      if (device == null)
+      {
+        // no device: use base's
+        newDevice = base.device();
+
+        if (hasEmptyPath() && query == null)
+        {
+          // current document reference: use base path and query
+          newAbsolutePath = base.hasAbsolutePath();
+          newSegments = base.segments();
+          newQuery = base.query();
+        }
+        else if (hasRelativePath())
+        {
+          // relative path: merge with base and keep query (note: if the
+          // base has no path and this a non-empty relative path, there is
+          // an implied root in the resulting path) 
+          newAbsolutePath = base.hasAbsolutePath() || !hasEmptyPath();
+          newSegments = newAbsolutePath ? mergePath(base, preserveRootParents)
+            : NO_SEGMENTS;
+        }
+        // else absolute path: keep it and query
+      }
+      // else keep device, path, and query
+    }
+    // else keep authority, device, path, and query
+    
+    // always keep fragment, even if null, and use scheme from base;
+    // no validation needed since all components are from existing URIs
+    return new URI(true, base.scheme(), newAuthority, newDevice,
+                   newAbsolutePath, newSegments, newQuery, fragment);
+  }
+
+  // Merges this URI's relative path with the base non-relative path.  If
+  // base has no path, treat it as the root absolute path, unless this has
+  // no path either.
+  private String[] mergePath(URI base, boolean preserveRootParents)
+  {
+    if (base.hasRelativePath())
+    {
+      throw new IllegalArgumentException("merge against relative path");
+    }
+    if (!hasRelativePath())
+    {
+      throw new IllegalStateException("merge non-relative path");
+    }
+
+    int baseSegmentCount = base.segmentCount();
+    int segmentCount = segments.length;
+    String[] stack = new String[baseSegmentCount + segmentCount];
+    int sp = 0;
+
+    // use a stack to accumulate segments of base, except for the last
+    // (i.e. skip trailing separator and anything following it), and of
+    // relative path
+    for (int i = 0; i < baseSegmentCount - 1; i++)
+    {
+      sp = accumulate(stack, sp, base.segment(i), preserveRootParents);
+    }
+
+    for (int i = 0; i < segmentCount; i++)
+    {
+      sp = accumulate(stack, sp, segments[i], preserveRootParents);
+    }
+
+    // if the relative path is empty or ends in an empty segment, a parent 
+    // reference, or a self referenfce, add a trailing separator to a
+    // non-empty path
+    if (sp > 0 &&  (segmentCount == 0 ||
+                    SEGMENT_EMPTY.equals(segments[segmentCount - 1]) ||
+                    SEGMENT_PARENT.equals(segments[segmentCount - 1]) ||
+                    SEGMENT_SELF.equals(segments[segmentCount - 1])))
+    {
+      stack[sp++] = SEGMENT_EMPTY;
+    }
+
+    // return a correctly sized result
+    String[] result = new String[sp];
+    System.arraycopy(stack, 0, result, 0, sp);
+    return result;
+  }
+
+  // Adds a segment to a stack, skipping empty segments and self references,
+  // and interpreting parent references.
+  private static int accumulate(String[] stack, int sp, String segment,
+                                boolean preserveRootParents)
+  {
+    if (SEGMENT_PARENT.equals(segment))
+    {
+      if (sp == 0)
+      {
+        // special care must be taken for a root's parent reference: it is
+        // either ignored or the symbolic reference itself is pushed
+        if (preserveRootParents) stack[sp++] = segment;
+      }
+      else
+      {
+        // unless we're already accumulating root parent references,
+        // parent references simply pop the last segment descended
+        if (SEGMENT_PARENT.equals(stack[sp - 1])) stack[sp++] = segment;
+        else sp--;
+      }
+    }
+    else if (!SEGMENT_EMPTY.equals(segment) && !SEGMENT_SELF.equals(segment))
+    {
+      // skip empty segments and self references; push everything else
+      stack[sp++] = segment;
+    }
+    return sp;
+  }
+
+  /**
+   * Finds the shortest relative or, if necessary, the absolute URI that,
+   * when resolved against the given <code>base</code> absolute hierarchical
+   * URI using {@link #resolve(URI) resolve}, will yield this absolute URI.  
+   *
+   * @exception java.lang.IllegalArgumentException if <code>base</code> is
+   * non-hierarchical or is relative.
+   * @exception java.lang.IllegalStateException if <code>this</code> is
+   * relative.
+   */
+  public URI deresolve(URI base)
+  {
+    return deresolve(base, true, false, true);
+  }
+
+  /**
+   * Finds an absolute URI that, when resolved against the given
+   * <code>base</code> absolute hierarchical URI using {@link
+   * #resolve(URI, boolean) resolve}, will yield this absolute URI.
+   *
+   * @param preserveRootParents the boolean argument to <code>resolve(URI,
+   * boolean)</code> for which the returned URI should resolve to this URI.
+   * @param anyRelPath if <code>true</code>, the returned URI's path (if
+   * any) will be relative, if possible.  If <code>false</code>, the form of
+   * the result's path will depend upon the next parameter.
+   * @param shorterRelPath if <code>anyRelPath</code> is <code>false</code>
+   * and this parameter is <code>true</code>, the returned URI's path (if
+   * any) will be relative, if one can be found that is no longer (by number
+   * of segments) than the absolute path.  If both <code>anyRelPath</code>
+   * and this parameter are <code>false</code>, it will be absolute.
+   *
+   * @exception java.lang.IllegalArgumentException if <code>base</code> is
+   * non-hierarchical or is relative.
+   * @exception java.lang.IllegalStateException if <code>this</code> is
+   * relative.
+   */
+  public URI deresolve(URI base, boolean preserveRootParents,
+                       boolean anyRelPath, boolean shorterRelPath)
+  {
+    if (!base.isHierarchical() || base.isRelative())
+    {
+      throw new IllegalArgumentException(
+        "deresolve against non-hierarchical or relative base");
+    }
+    if (isRelative())
+    {
+      throw new IllegalStateException("deresolve relative URI");
+    }
+
+    // note: these assertions imply that neither this nor the base URI has a
+    // relative path; thus, both have either an absolute path or no path
+    
+    // different scheme: need complete, absolute URI
+    if (!scheme.equalsIgnoreCase(base.scheme())) return this;
+
+    // since base must be hierarchical, and since a non-hierarchical URI
+    // must have both scheme and opaque part, the complete absolute URI is
+    // needed to resolve to a non-hierarchical URI
+    if (!isHierarchical()) return this;
+
+    String newAuthority = authority;
+    String newDevice = device;
+    boolean newAbsolutePath = absolutePath;
+    String[] newSegments = segments;
+    String newQuery = query;
+
+    if (equals(authority, base.authority()) &&
+        (hasDevice() || hasPath() || (!base.hasDevice() && !base.hasPath())))
+    {
+      // matching authorities and no device or path removal
+      newAuthority = null;
+
+      if (equals(device, base.device()) && (hasPath() || !base.hasPath()))
+      {
+        // matching devices and no path removal
+        newDevice = null;
+
+        // exception if (!hasPath() && base.hasPath())
+
+        if (!anyRelPath && !shorterRelPath)
+        {
+          // user rejects a relative path: keep absolute or no path
+        }
+        else if (hasPath() == base.hasPath() && segmentsEqual(base) &&
+                 equals(query, base.query()))
+        {
+          // current document reference: keep no path or query
+          newAbsolutePath = false;
+          newSegments = NO_SEGMENTS;
+          newQuery = null;
+        }
+        else if (!hasPath() && !base.hasPath())
+        {
+          // no paths: keep query only
+          newAbsolutePath = false;
+          newSegments = NO_SEGMENTS;
+        }
+        // exception if (!hasAbsolutePath())
+        else if (hasCollapsableSegments(preserveRootParents))
+        {
+          // path form demands an absolute path: keep it and query
+        }
+        else
+        {
+          // keep query and select relative or absolute path based on length
+          String[] rel = findRelativePath(base, preserveRootParents);
+          if (anyRelPath || segments.length > rel.length)
+          {
+            // user demands a relative path or the absolute path is longer
+            newAbsolutePath = false;
+            newSegments = rel;
+          }
+          // else keep shorter absolute path
+        }
+      }
+      // else keep device, path, and query
+    }
+    // else keep authority, device, path, and query
+
+    // always include fragment, even if null;
+    // no validation needed since all components are from existing URIs
+    return new URI(true, null, newAuthority, newDevice, newAbsolutePath,
+                   newSegments, newQuery, fragment);
+  }
+
+  // Returns true if the non-relative path includes segments that would be
+  // collapsed when resolving; false otherwise.  If preserveRootParents is
+  // true, collapsable segments include any empty segments, except for the
+  // last segment, as well as and parent and self references.  If
+  // preserveRootsParents is false, parent references are not collapsable if
+  // they are the first segment or preceeded only by other parent
+  // references.
+  private boolean hasCollapsableSegments(boolean preserveRootParents)
+  {
+    if (hasRelativePath())
+    {
+      throw new IllegalStateException("test collapsability of relative path");
+    }
+
+    for (int i = 0, len = segments.length; i < len; i++)
+    {
+      String segment = segments[i];
+      if ((i < len - 1 && SEGMENT_EMPTY.equals(segment)) ||
+          SEGMENT_SELF.equals(segment) ||
+          SEGMENT_PARENT.equals(segment) && (
+            !preserveRootParents || (
+              i != 0 && !SEGMENT_PARENT.equals(segments[i - 1]))))
+      {
+        return true;
+      }
+    }
+    return false;
+  }
+
+  // Returns the shortest relative path between the the non-relative path of
+  // the given base and this absolute path.  If the base has no path, it is
+  // treated as the root absolute path.
+  private String[] findRelativePath(URI base, boolean preserveRootParents)
+  {
+    if (base.hasRelativePath())
+    {
+      throw new IllegalArgumentException(
+        "find relative path against base with relative path");
+    }
+    if (!hasAbsolutePath())
+    {
+      throw new IllegalArgumentException(
+        "find relative path of non-absolute path");
+    }
+
+    // treat an empty base path as the root absolute path
+    String[] startPath = base.collapseSegments(preserveRootParents);
+    String[] endPath = segments;
+
+    // drop last segment from base, as in resolving
+    int startCount = startPath.length > 0 ? startPath.length - 1 : 0;
+    int endCount = endPath.length;
+
+    // index of first segment that is different between endPath and startPath
+    int diff = 0;
+
+    // if endPath is shorter than startPath, the last segment of endPath may
+    // not be compared: because startPath has been collapsed and had its
+    // last segment removed, all preceeding segments can be considered non-
+    // empty and followed by a separator, while the last segment of endPath
+    // will either be non-empty and not followed by a separator, or just empty
+    for (int count = startCount < endCount ? startCount : endCount - 1;
+         diff < count && startPath[diff].equals(endPath[diff]); diff++);
+
+    int upCount = startCount - diff;
+    int downCount = endCount - diff;
+
+    // a single separator, possibly preceeded by some parent reference
+    // segments, is redundant
+    if (downCount == 1 && SEGMENT_EMPTY.equals(endPath[endCount - 1]))
+    {
+      downCount = 0;
+    }
+
+    // an empty path needs to be replaced by a single "." if there is no
+    // query, to distinguish it from a current document reference
+    if (upCount + downCount == 0)
+    {
+      if (query == null) return new String[] { SEGMENT_SELF };
+      return NO_SEGMENTS;
+    }
+
+    // return a correctly sized result
+    String[] result = new String[upCount + downCount];
+    Arrays.fill(result, 0, upCount, SEGMENT_PARENT);
+    System.arraycopy(endPath, diff, result, upCount, downCount);
+    return result;
+  }
+
+  // Collapses non-ending empty segments, parent references, and self
+  // references in a non-relative path, returning the same path that would
+  // be produced from the base hierarchical URI as part of a resolve.
+  String[] collapseSegments(boolean preserveRootParents)
+  {
+    if (hasRelativePath())
+    {
+      throw new IllegalStateException("collapse relative path");
+    }
+
+    if (!hasCollapsableSegments(preserveRootParents)) return segments();
+
+    // use a stack to accumulate segments
+    int segmentCount = segments.length;
+    String[] stack = new String[segmentCount];
+    int sp = 0;
+
+    for (int i = 0; i < segmentCount; i++)
+    {
+      sp = accumulate(stack, sp, segments[i], preserveRootParents);
+    }
+
+    // if the path is non-empty and originally ended in an empty segment, a
+    // parent reference, or a self reference, add a trailing separator
+    if (sp > 0 && (SEGMENT_EMPTY.equals(segments[segmentCount - 1]) ||
+                   SEGMENT_PARENT.equals(segments[segmentCount - 1]) ||
+                   SEGMENT_SELF.equals(segments[segmentCount - 1])))
+    {                   
+      stack[sp++] = SEGMENT_EMPTY;
+    }
+
+    // return a correctly sized result
+    String[] result = new String[sp];
+    System.arraycopy(stack, 0, result, 0, sp);
+    return result;
+  }
+
+  /**
+   * Returns the string representation of this URI.  For a generic,
+   * non-hierarchical URI, this looks like:
+   * <pre>
+   *   scheme:opaquePart#fragment</pre>
+   * 
+   * <p>For a hierarchical URI, it looks like:
+   * <pre>
+   *   scheme://authority/device/pathSegment1/pathSegment2...?query#fragment</pre>
+   *
+   * <p>For an <a href="#archive_explanation">archive URI</a>, it's just:
+   * <pre>
+   *   scheme:authority/pathSegment1/pathSegment2...?query#fragment</pre>
+   * <p>Of course, absent components and their separators will be omitted.
+   */
+  public String toString()
+  {
+    if (cachedToString == null)
+    {
+      StringBuffer result = new StringBuffer();
+      if (!isRelative())
+      {
+        result.append(scheme);
+        result.append(SCHEME_SEPARATOR);
+      }
+
+      if (isHierarchical())
+      {
+        if (hasAuthority())
+        {
+          if (!isArchive()) result.append(AUTHORITY_SEPARATOR);
+          result.append(authority);
+        }
+
+        if (hasDevice())
+        {
+          result.append(SEGMENT_SEPARATOR);
+          result.append(device);
+        }
+
+        if (hasAbsolutePath()) result.append(SEGMENT_SEPARATOR);
+
+        for (int i = 0, len = segments.length; i < len; i++)
+        {
+          if (i != 0) result.append(SEGMENT_SEPARATOR);
+          result.append(segments[i]);
+        }
+
+        if (hasQuery())
+        {
+          result.append(QUERY_SEPARATOR);
+          result.append(query);
+        }
+      }
+      else
+      {
+        result.append(authority);
+      }
+
+      if (hasFragment())
+      {
+        result.append(FRAGMENT_SEPARATOR);
+        result.append(fragment);
+      }
+      cachedToString = result.toString();
+    }
+    return cachedToString;
+  }
+
+  // Returns a string representation of this URI for debugging, explicitly
+  // showing each of the components.
+  String toString(boolean includeSimpleForm)
+  {
+    StringBuffer result = new StringBuffer();
+    if (includeSimpleForm) result.append(toString());
+    result.append("\n hierarchical: ");
+    result.append(hierarchical);
+    result.append("\n       scheme: ");
+    result.append(scheme);
+    result.append("\n    authority: ");
+    result.append(authority);
+    result.append("\n       device: ");
+    result.append(device);
+    result.append("\n absolutePath: ");
+    result.append(absolutePath);
+    result.append("\n     segments: ");
+    if (segments.length == 0) result.append("<empty>");
+    for (int i = 0, len = segments.length; i < len; i++)
+    {
+      if (i > 0) result.append("\n               ");
+      result.append(segments[i]);
+    }
+    result.append("\n        query: ");
+    result.append(query);
+    result.append("\n     fragment: ");
+    result.append(fragment);
+    return result.toString();
+  }
+
+  /**
+   * If this URI may refer directly to a locally accessible file, as
+   * determined by {@link #isFile isFile}, {@link decode decodes} and formats  
+   * the URI as a pathname to that file; returns null otherwise.
+   *
+   * <p>If there is no authority, the format of this string is:
+   * <pre>
+   *   device/pathSegment1/pathSegment2...</pre>
+   *
+   * <p>If there is an authority, it is:
+   * <pre>
+   *   //authority/device/pathSegment1/pathSegment2...</pre>
+   * 
+   * <p>However, the character used as a separator is system-dependant and
+   * obtained from {@link java.io.File#separatorChar}.
+   */
+  public String toFileString()
+  {
+    if (!isFile()) return null;
+
+    StringBuffer result = new StringBuffer();
+    char separator = File.separatorChar;
+
+    if (hasAuthority())
+    {
+      result.append(separator);
+      result.append(separator);
+      result.append(authority);
+
+      if (hasDevice()) result.append(separator);
+    }
+
+    if (hasDevice()) result.append(device);
+    if (hasAbsolutePath()) result.append(separator);
+
+    for (int i = 0, len = segments.length; i < len; i++)
+    {
+      if (i != 0) result.append(separator);
+      result.append(segments[i]);
+    }
+
+    return decode(result.toString());
+  }
+
+  /**
+   * Returns the URI formed by appending the specified segment on to the end
+   * of the path of this URI, if hierarchical; this URI unchanged,
+   * otherwise.  If this URI has an authority and/or device, but no path,
+   * the segment becomes the first under the root in an absolute path.
+   *
+   * @exception java.lang.IllegalArgumentException if <code>segment</code>
+   * is not a valid segment according to {@link #validSegment}.
+   */
+  public URI appendSegment(String segment)
+  {
+    if (!validSegment(segment))
+    {
+      throw new IllegalArgumentException("invalid segment: " + segment);
+    }
+
+    if (!isHierarchical()) return this;
+
+    // absolute path or no path -> absolute path
+    boolean newAbsolutePath = !hasRelativePath();
+
+    int len = segments.length;
+    String[] newSegments = new String[len + 1];
+    System.arraycopy(segments, 0, newSegments, 0, len);
+    newSegments[len] = segment;
+
+    return new URI(true, scheme, authority, device, newAbsolutePath,
+                   newSegments, query, fragment);
+  }
+
+  /**
+   * Returns the URI formed by appending the specified segments on to the
+   * end of the path of this URI, if hierarchical; this URI unchanged,
+   * otherwise.  If this URI has an authority and/or device, but no path,
+   * the segments are made to form an absolute path.
+   *
+   * @param segments an array of non-null strings, each representing one
+   * segment of the path.  If desired, a trailing separator should be
+   * represented by an empty-string segment as the last element of the
+   * array.
+   *
+   * @exception java.lang.IllegalArgumentException if <code>segments</code>
+   * is not a valid segment array according to {@link #validSegments}.
+   */
+  public URI appendSegments(String[] segments)
+  {
+    if (!validSegments(segments))
+    {
+      String s = segments == null ? "invalid segments: " + segments :
+        "invalid segment: " + firstInvalidSegment(segments);
+      throw new IllegalArgumentException(s);
+    }
+
+    if (!isHierarchical()) return this;
+
+    // absolute path or no path -> absolute path
+    boolean newAbsolutePath = !hasRelativePath(); 
+
+    int len = this.segments.length;
+    int segmentsCount = segments.length;
+    String[] newSegments = new String[len + segmentsCount];
+    System.arraycopy(this.segments, 0, newSegments, 0, len);
+    System.arraycopy(segments, 0, newSegments, len, segmentsCount);
+    
+    return new URI(true, scheme, authority, device, newAbsolutePath,
+                   newSegments, query, fragment);
+  }
+
+  /**
+   * Returns the URI formed by trimming the specified number of segments
+   * (including empty segments, such as one representing a trailing
+   * separator) from the end of the path of this URI, if hierarchical;
+   * otherwise, this URI is returned unchanged.
+   *
+   * <p>Note that if all segments are trimmed from an absolute path, the
+   * root absolute path remains.
+   * 
+   * @param i the number of segments to be trimmed in the returned URI.  If
+   * less than 1, this URI is returned unchanged; if equal to or greater
+   * than the number of segments in this URI's path, all segments are
+   * trimmed.  
+   */
+  public URI trimSegments(int i)
+  {
+    if (!isHierarchical() || i < 1) return this;
+
+    String[] newSegments = NO_SEGMENTS;
+    int len = segments.length - i;
+    if (len > 0)
+    {
+      newSegments = new String[len];
+      System.arraycopy(segments, 0, newSegments, 0, len);
+    }
+    return new URI(true, scheme, authority, device, absolutePath,
+                   newSegments, query, fragment);
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI that has a path
+   * that ends with a trailing separator; <code>false</code> otherwise.
+   *
+   * <p>A trailing separator is represented as an empty segment as the
+   * last segment in the path; note that this definition does <em>not</em>
+   * include the lone separator in the root absolute path.
+   */
+  public boolean hasTrailingPathSeparator()
+  {
+    return segments.length > 0 && 
+      SEGMENT_EMPTY.equals(segments[segments.length - 1]);
+  }
+
+  /**
+   * If this is a hierarchical URI whose path includes a file extension,
+   * that file extension is returned; null otherwise.  We define a file
+   * extension as any string following the last period (".") in the final
+   * path segment.  If there is no path, the path ends in a trailing
+   * separator, or the final segment contains no period, then we consider
+   * there to be no file extension.  If the final segment ends in a period,
+   * then the file extension is an empty string.
+   */
+  public String fileExtension()
+  {
+    int len = segments.length;
+    if (len == 0) return null;
+
+    String lastSegment = segments[len - 1];
+    int i = lastSegment.lastIndexOf(FILE_EXTENSION_SEPARATOR);
+    return i < 0 ? null : lastSegment.substring(i + 1);
+  }
+
+  /**
+   * Returns the URI formed by appending a period (".") followed by the
+   * specified file extension to the last path segment of this URI, if it is
+   * hierarchical with a non-empty path ending in a non-empty segment;
+   * otherwise, this URI is returned unchanged.
+
+   * <p>The extension is appended regardless of whether the segment already
+   * contains an extension.
+   *
+   * @exception java.lang.IllegalArgumentException if
+   * <code>fileExtension</code> is not a valid segment (portion) according
+   * to {@link #validSegment}.
+   */
+  public URI appendFileExtension(String fileExtension)
+  {
+    if (!validSegment(fileExtension))
+    {
+      throw new IllegalArgumentException(
+        "invalid segment portion: " + fileExtension);
+    }
+
+    int len = segments.length;
+    if (len == 0) return this;
+
+    String lastSegment = segments[len - 1];
+    if (SEGMENT_EMPTY.equals(lastSegment)) return this;
+    StringBuffer newLastSegment = new StringBuffer(lastSegment);
+    newLastSegment.append(FILE_EXTENSION_SEPARATOR);
+    newLastSegment.append(fileExtension);
+
+    String[] newSegments = new String[len];
+    System.arraycopy(segments, 0, newSegments, 0, len - 1);
+    newSegments[len - 1] = newLastSegment.toString();
+    
+    // note: segments.length > 0 -> hierarchical
+    return new URI(true, scheme, authority, device, absolutePath,
+                   newSegments, query, fragment); 
+  }
+
+  /**
+   * If this URI has a non-null {@link #fileExtension fileExtension},
+   * returns the URI formed by removing it; this URI unchanged, otherwise.
+   */
+  public URI trimFileExtension()
+  {
+    int len = segments.length;
+    if (len == 0) return this;
+
+    String lastSegment = segments[len - 1];
+    int i = lastSegment.lastIndexOf(FILE_EXTENSION_SEPARATOR);
+    if (i < 0) return this;
+
+    String newLastSegment = lastSegment.substring(0, i);
+    String[] newSegments = new String[len];
+    System.arraycopy(segments, 0, newSegments, 0, len - 1);
+    newSegments[len - 1] = newLastSegment;
+
+    // note: segments.length > 0 -> hierarchical
+    return new URI(true, scheme, authority, device, absolutePath,
+                   newSegments, query, fragment); 
+  }
+
+  /**
+   * Returns <code>true</code> if this is a hierarchical URI that ends in a
+   * slash; that is, it has a trailing path separator or is the root
+   * absolute path, and has no query and no fragment; <code>false</code>
+   * is returned otherwise.
+   */
+  public boolean isPrefix()
+  {
+    return hierarchical && query == null && fragment == null &&
+      (hasTrailingPathSeparator() || (absolutePath && segments.length == 0));
+  }
+
+  /**
+   * If this is a hierarchical URI reference and <code>oldPrefix</code> is a
+   * prefix of it, this returns the URI formed by replacing it by
+   * <code>newPrefix</code>; <code>null</code> otherwise.
+   *
+   * <p>In order to be a prefix, the <code>oldPrefix</code>'s
+   * {@link #isPrefix isPrefix} must return <code>true</code>, and it must
+   * match this URI's scheme, authority, and device.  Also, the paths must
+   * match, up to prefix's end.
+   *
+   * @exception java.lang.IllegalArgumentException if either
+   * <code>oldPrefix</code> or <code>newPrefix</code> is not a prefix URI
+   * according to {@link #isPrefix}.
+   */
+  public URI replacePrefix(URI oldPrefix, URI newPrefix)
+  {
+    if (!oldPrefix.isPrefix() || !newPrefix.isPrefix())
+    {
+      String which = oldPrefix.isPrefix() ? "new" : "old";
+      throw new IllegalArgumentException("non-prefix " + which + " value");
+    }
+
+    // Get what's left of the segments after trimming the prefix.
+    String[] tailSegments = getTailSegments(oldPrefix);
+    if (tailSegments == null) return null;
+
+    // If the new prefix has segments, it is not the root absolute path,
+    // and we need to drop the trailing empty segment and append the tail
+    // segments.
+    String[] mergedSegments = tailSegments;
+    if (newPrefix.segmentCount() != 0)
+    {
+      int segmentsToKeep = newPrefix.segmentCount() - 1;
+      mergedSegments = new String[segmentsToKeep + tailSegments.length];
+      System.arraycopy(newPrefix.segments(), 0, mergedSegments, 0,
+                       segmentsToKeep);
+
+      if (tailSegments.length != 0)
+      {
+        System.arraycopy(tailSegments, 0, mergedSegments, segmentsToKeep,
+                         tailSegments.length);
+      }
+    }
+
+    // no validation needed since all components are from existing URIs
+    return new URI(true, newPrefix.scheme(), newPrefix.authority(),
+                   newPrefix.device(), newPrefix.hasAbsolutePath(),
+                   mergedSegments, query, fragment);
+  }
+
+  // If this is a hierarchical URI reference and prefix is a prefix of it,
+  // returns the portion of the path remaining after that prefix has been
+  // trimmed; null otherwise.
+  private String[] getTailSegments(URI prefix)
+  {
+    if (!prefix.isPrefix())
+    {
+      throw new IllegalArgumentException("non-prefix trim");
+    }
+
+    // Don't even consider it unless this is hierarchical and has scheme,
+    // authority, device and path absoluteness equal to those of the prefix.
+    if (!hierarchical ||
+        !equals(scheme, prefix.scheme(), true) ||
+        !equals(authority, prefix.authority()) ||
+        !equals(device, prefix.device()) ||
+        absolutePath != prefix.hasAbsolutePath())
+    {
+      return null;
+    }
+
+    // If the prefix has no segments, then it is the root absolute path, and
+    // we know this is an absolute path, too.
+    if (prefix.segmentCount() == 0) return segments;
+
+    // This must have no fewer segments than the prefix.  Since the prefix
+    // is not the root absolute path, its last segment is empty; all others
+    // must match.
+    int i = 0;
+    int segmentsToCompare = prefix.segmentCount() - 1;
+    if (segments.length <= segmentsToCompare) return null;
+
+    for (; i < segmentsToCompare; i++)
+    {
+      if (!segments[i].equals(prefix.segment(i))) return null;
+    }
+
+    // The prefix really is a prefix of this.  If this has just one more,
+    // empty segment, the paths are the same.
+    if (i == segments.length - 1 && SEGMENT_EMPTY.equals(segments[i]))
+    {
+      return NO_SEGMENTS;
+    }
+    
+    // Otherwise, the path needs only the remaining segments.
+    String[] newSegments = new String[segments.length - i];
+    System.arraycopy(segments, i, newSegments, 0, newSegments.length);
+    return newSegments;
+  }
+
+  /**
+   * Encodes a string so as to produce a valid opaque part value, as defined
+   * by the RFC.  All excluded characters, such as space and <code>#</code>,
+   * are escaped, as is <code>/</code> if it is the first character.
+   * 
+   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
+   * unescaped if they already begin a valid three-character escape sequence;
+   * <code>false</code> to encode all <code>%</code> characters.  Note that
+   * if a <code>%</code> is not followed by 2 hex digits, it will always be
+   * escaped. 
+   */
+  public static String encodeOpaquePart(String value, boolean ignoreEscaped)
+  {
+    String result = encode(value, URIC_HI, URIC_LO, ignoreEscaped);
+    return result != null && result.length() > 0 && result.charAt(0) == SEGMENT_SEPARATOR ?
+      "%2F" + result.substring(1) :
+      result;
+  }
+
+  /**
+   * Encodes a string so as to produce a valid authority, as defined by the
+   * RFC.  All excluded characters, such as space and <code>#</code>,
+   * are escaped, as are <code>/</code> and <code>?</code>
+   * 
+   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
+   * unescaped if they already begin a valid three-character escape sequence;
+   * <code>false</code> to encode all <code>%</code> characters.  Note that
+   * if a <code>%</code> is not followed by 2 hex digits, it will always be
+   * escaped. 
+   */
+  public static String encodeAuthority(String value, boolean ignoreEscaped)
+  {
+    return encode(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, ignoreEscaped);
+  }
+
+  /**
+   * Encodes a string so as to produce a valid segment, as defined by the
+   * RFC.  All excluded characters, such as space and <code>#</code>,
+   * are escaped, as are <code>/</code> and <code>?</code>
+   * 
+   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
+   * unescaped if they already begin a valid three-character escape sequence;
+   * <code>false</code> to encode all <code>%</code> characters.  Note that
+   * if a <code>%</code> is not followed by 2 hex digits, it will always be
+   * escaped. 
+   */
+  public static String encodeSegment(String value, boolean ignoreEscaped)
+  {
+    return encode(value, SEGMENT_CHAR_HI, SEGMENT_CHAR_LO, ignoreEscaped);
+  }
+
+  /**
+   * Encodes a string so as to produce a valid query, as defined by the RFC.
+   * Only excluded characters, such as space and <code>#</code>, are escaped.
+   * 
+   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
+   * unescaped if they already begin a valid three-character escape sequence;
+   * <code>false</code> to encode all <code>%</code> characters.  Note that
+   * if a <code>%</code> is not followed by 2 hex digits, it will always be
+   * escaped. 
+   */
+  public static String encodeQuery(String value, boolean ignoreEscaped)
+  {
+    return encode(value, URIC_HI, URIC_LO, ignoreEscaped);
+  }
+
+  /**
+   * Encodes a string so as to produce a valid fragment, as defined by the
+   * RFC.  Only excluded characters, such as space and <code>#</code>, are
+   * escaped.
+   * 
+   * @param ignoreEscaped <code>true</code> to leave <code>%</code> characters
+   * unescaped if they already begin a valid three-character escape sequence;
+   * <code>false</code> to encode all <code>%</code> characters.  Note that
+   * if a <code>%</code> is not followed by 2 hex digits, it will always be
+   * escaped. 
+   */
+  public static String encodeFragment(String value, boolean ignoreEscaped)
+  {
+    return encode(value, URIC_HI, URIC_LO, ignoreEscaped);
+  }
+
+  // Encodes a complete URI, optionally leaving % characters unescaped when
+  // beginning a valid three-character escape sequence.  We assume that the
+  // last # begins the fragment.
+  private static String encodeURI(String uri, boolean ignoreEscaped)
+  {
+    if (uri == null) return null;
+
+    StringBuffer result = new StringBuffer();
+
+    int i = uri.indexOf(SCHEME_SEPARATOR);
+    if (i != -1)
+    {
+      String scheme = uri.substring(0, i);
+      result.append(scheme);
+      result.append(SCHEME_SEPARATOR);
+    }
+    
+    int j = uri.lastIndexOf(FRAGMENT_SEPARATOR);
+    if (j != -1)
+    {
+      String sspart = uri.substring(++i, j);
+      result.append(encode(sspart, URIC_HI, URIC_LO, ignoreEscaped));
+      result.append(FRAGMENT_SEPARATOR);
+
+      String fragment = uri.substring(++j);
+      result.append(encode(fragment, URIC_HI, URIC_LO, ignoreEscaped));
+    }
+    else
+    {
+      String sspart = uri.substring(++i);
+      result.append(encode(sspart, URIC_HI, URIC_LO, ignoreEscaped));
+    }
+    
+    return result.toString();
+  }
+
+  // Encodes the given string, replacing each ASCII character that is not in
+  // the set specified by the 128-bit bitmask and each non-ASCII character
+  // below 0xA0 by an escape sequence of % followed by two hex digits.  If
+  // % is not in the set but ignoreEscaped is true, then % will not be encoded
+  // iff it already begins a valid escape sequence.
+  private static String encode(String value, long highBitmask, long lowBitmask, boolean ignoreEscaped)
+  {
+    if (value == null) return null;
+
+    StringBuffer result = null;
+
+    for (int i = 0, len = value.length(); i < len; i++)
+    {
+      char c = value.charAt(i);
+
+      if (!matches(c, highBitmask, lowBitmask) && c < 160 &&
+          (!ignoreEscaped || !isEscaped(value, i)))
+      {
+        if (result == null)
+        {
+          result = new StringBuffer(value.substring(0, i));
+        }
+        appendEscaped(result, (byte)c);
+      }
+      else if (result != null)
+      {
+        result.append(c);
+      }
+    }
+    return result == null ? value : result.toString();
+  }
+
+  // Tests whether an escape occurs in the given string, starting at index i.
+  // An escape sequence is a % followed by two hex digits.
+  private static boolean isEscaped(String s, int i)
+  {
+    return s.charAt(i) == ESCAPE && s.length() > i + 2 &&
+      matches(s.charAt(i + 1), HEX_HI, HEX_LO) &&
+      matches(s.charAt(i + 2), HEX_HI, HEX_LO);
+  }
+
+  // Computes a three-character escape sequence for the byte, appending
+  // it to the StringBuffer.  Only characters up to 0xFF should be escaped;
+  // all but the least significant byte will be ignored.
+  private static void appendEscaped(StringBuffer result, byte b)
+  {
+    result.append(ESCAPE);
+
+    // The byte is automatically widened into an int, with sign extension,
+    // for shifting.  This can introduce 1's to the left of the byte, which
+    // must be cleared by masking before looking up the hex digit.
+    //
+    result.append(HEX_DIGITS[(b >> 4) & 0x0F]);
+    result.append(HEX_DIGITS[b & 0x0F]);
+  }
+
+  /**
+   * Decodes the given string, replacing each three-digit escape sequence by
+   * the character that it represents.  Incomplete escape sequences are
+   * ignored.
+   */
+  public static String decode(String value)
+  {
+    if (value == null) return null;
+
+    StringBuffer result = null;
+
+    for (int i = 0, len = value.length(); i < len; i++)
+    {
+      if (isEscaped(value, i)) 
+      {
+        if (result == null)
+        {
+          result = new StringBuffer(value.substring(0, i));
+        }
+        result.append(unescape(value.charAt(i + 1), value.charAt(i + 2)));
+        i += 2;
+      }
+      else if (result != null)
+      {
+        result.append(value.charAt(i));
+      }
+    }
+    return result == null ? value : result.toString();
+  }
+
+  // Returns the character encoded by % followed by the two given hex digits,
+  // which is always 0xFF or less, so can safely be casted to a byte.  If
+  // either character is not a hex digit, a bogus result will be returned.
+  private static char unescape(char highHexDigit, char lowHexDigit)
+  {
+    return (char)((valueOf(highHexDigit) << 4) | valueOf(lowHexDigit));
+  }
+
+  // Returns the int value of the given hex digit.
+  private static int valueOf(char hexDigit)
+  {
+    if (hexDigit >= 'A' && hexDigit <= 'F')
+    {
+      return hexDigit - 'A' + 10;
+    }
+    if (hexDigit >= 'a' && hexDigit <= 'f')
+    {
+      return hexDigit - 'a' + 10;
+    }
+    if (hexDigit >= '0' && hexDigit <= '9')
+    {
+      return hexDigit - '0';
+    }
+    return 0;
+  }
+
+  /*
+   * Returns <code>true</code> if this URI contains non-ASCII characters;
+   * <code>false</code> otherwise.
+   *
+   * This unused code is included for possible future use... 
+   */
+/*
+  public boolean isIRI()
+  {
+    return iri; 
+  }
+
+  // Returns true if the given string contains any non-ASCII characters;
+  // false otherwise.
+  private static boolean containsNonASCII(String value)
+  {
+    for (int i = 0, len = value.length(); i < len; i++)
+    {
+      if (value.charAt(i) > 127) return true;
+    }
+    return false;
+  }
+*/
+
+  /*
+   * If this is an {@link #isIRI IRI}, converts it to a strict ASCII URI,
+   * using the procedure described in Section 3.1 of the
+   * <a href="http://www.w3.org/International/iri-edit/draft-duerst-iri-09.txt">IRI
+   * Draft RFC</a>.  Otherwise, this URI, itself, is returned.
+   *
+   * This unused code is included for possible future use...
+   */
+/*
+  public URI toASCIIURI()
+  {
+    if (!iri) return this;
+
+    if (cachedASCIIURI == null)
+    {
+      String eAuthority = encodeAsASCII(authority);
+      String eDevice = encodeAsASCII(device);
+      String eQuery = encodeAsASCII(query);
+      String eFragment = encodeAsASCII(fragment);
+      String[] eSegments = new String[segments.length];
+      for (int i = 0; i < segments.length; i++)
+      {
+        eSegments[i] = encodeAsASCII(segments[i]);
+      }
+      cachedASCIIURI = new URI(hierarchical, scheme, eAuthority, eDevice, absolutePath, eSegments, eQuery, eFragment); 
+
+    }
+    return cachedASCIIURI;
+  }
+
+  // Returns a strict ASCII encoding of the given value.  Each non-ASCII
+  // character is converted to bytes using UTF-8 encoding, which are then
+  // represnted using % escaping.
+  private String encodeAsASCII(String value)
+  {
+    if (value == null) return null;
+
+    StringBuffer result = null;
+
+    for (int i = 0, len = value.length(); i < len; i++)
+    {
+      char c = value.charAt(i);
+
+      if (c >= 128)
+      {
+        if (result == null)
+        {
+          result = new StringBuffer(value.substring(0, i));
+        }
+
+        try
+        {
+          byte[] encoded = (new String(new char[] { c })).getBytes("UTF-8");
+          for (int j = 0, encLen = encoded.length; j < encLen; j++)
+          {
+            appendEscaped(result, encoded[j]);
+          }
+        }
+        catch (UnsupportedEncodingException e)
+        {
+          throw new WrappedException(e);
+        }
+      }
+      else if (result != null)
+      {
+        result.append(c);
+      }
+
+    }
+    return result == null ? value : result.toString();
+  }
+
+  // Returns the number of valid, consecutive, three-character escape
+  // sequences in the given string, starting at index i.
+  private static int countEscaped(String s, int i)
+  {
+    int result = 0;
+
+    for (int len = s.length(); i < len; i += 3)
+    {
+      if (isEscaped(s, i)) result++;
+    }
+    return result;
+  }
+*/
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java
new file mode 100644
index 0000000..647fa36
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionDescriptor.java
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
+import org.osgi.framework.Bundle;
+
+/**
+ * A URI resolver extension descriptor contains all the information about
+ * an extension URI resolver. The information contained allows for the
+ * extension resolver to be instantiated and called at the correct times.
+ */
+public class URIResolverExtensionDescriptor
+{
+	protected URIResolverExtension resolver;
+
+	protected String fileType;
+
+	protected String className;
+
+	public List projectNatureIds;
+
+	protected String resourceType;
+
+	protected int stage = URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION;
+
+	protected String priority = URIResolverExtensionRegistry.PRIORITY_MEDIUM;
+
+	protected String pluginId;
+
+	protected boolean error;
+
+	/**
+	 * Constructor.
+	 * 
+	 * @param className The extension URI resolver class name.
+	 * @param pluginId The ID of the plugin that contains the extension URI resolver class.
+	 * @param projectNatureIds The project nature IDs for which the resolver should run.
+	 * @param resourceType The type of resource for which the resolver should run.
+	 * @param stage The stage of the resolver. Either prenormalization or postnormalization.
+	 * @param priority The resolver's priority. high, medium, or low.
+	 */
+	public URIResolverExtensionDescriptor(String className, String pluginId,
+			List projectNatureIds, String resourceType, int stage, String priority)
+	{
+		this.className = className;
+		this.pluginId = pluginId;
+		this.projectNatureIds = projectNatureIds;
+		this.resourceType = resourceType;
+		this.stage = stage;
+		this.priority = priority;
+	}
+
+	/**
+	 * Get the extension URI resolver.
+	 * 
+	 * @return The extension URI resolver.
+	 */
+	public URIResolverExtension getResolver()
+	{
+
+		if (resolver == null && className != null && !error)
+		{
+			try
+			{
+				// Class theClass = classLoader != null ?
+				// classLoader.loadClass(className) : Class.forName(className);
+				Bundle bundle = Platform.getBundle(pluginId);
+				Class theClass = bundle.loadClass(className);
+				resolver = (URIResolverExtension) theClass.newInstance();
+			} catch (Exception e)
+			{
+				error = true;
+				e.printStackTrace();
+			}
+		}
+		return resolver;
+	}
+
+	/**
+	 * Determines if the resolver should run in the current scenario given
+	 * the project nature ID, resource type, and stage.
+	 * 
+	 * @param projectNatureId The project nature ID to check against.
+	 * @param resourceType The resource type to check against.
+	 * @param stage The stage to check against.
+	 * @return True if the resolver should run, false otherwise.
+	 */
+	public boolean matches(String projectNatureId, String resourceType, int stage)
+	{
+		if (projectNatureIds.contains(projectNatureId))
+		{
+			return matches(this.resourceType, resourceType) && this.stage == stage;
+		}
+		return false;
+	}
+
+	/**
+	 * Determines if string a matches string b.
+	 * TODO: Why is this required instead of just using String.equals?
+	 * 
+	 * @param a String for comparison.
+	 * @param b String for comparison.
+	 * @return True if the strings match, false otherwise.
+	 */
+	private boolean matches(String a, String b)
+	{
+		return (a != null) ? a.equals(b) : a == b;
+	}
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java
new file mode 100644
index 0000000..d081bf1
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistry.java
@@ -0,0 +1,162 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+
+/**
+ * The URI resolver extension registry contains information about
+ * all of the extension URI resolvers.
+ */
+public class URIResolverExtensionRegistry
+{
+	protected HashMap map = new HashMap();
+
+	public static final int STAGE_PRENORMALIZATION = 1;
+
+	public static final int STAGE_POSTNORMALIZATION = 2;
+
+	public static final int STAGE_PHYSICAL = 3;
+
+	public static final String PRIORITY_LOW = "low";
+
+	public static final String PRIORITY_MEDIUM = "medium";
+
+	public static final String PRIORITY_HIGH = "high";
+
+	protected final static String NULL_PROJECT_NATURE_ID = "";
+
+	protected static URIResolverExtensionRegistry instance;
+
+	private URIResolverExtensionRegistry()
+	{
+	}
+
+	/**
+	 * Get the one and only instance of the registry.
+	 * 
+	 * @return The one and only instance of the registry.
+	 */
+	public synchronized static URIResolverExtensionRegistry getIntance()
+	{
+		if (instance == null)
+		{
+			instance = new URIResolverExtensionRegistry();
+			new URIResolverExtensionRegistryReader(instance).readRegistry();
+		}
+		return instance;
+	}
+
+	/**
+	 * Add an extension resolver to the registry.
+	 * 
+	 * @param className The name of the extension URI resolver class.
+	 * @param pluginId The ID of the plugin that contains the extension URI resolver class.
+	 * @param projectNatureIds A list of project natures IDs for which the resolver should run.
+	 * @param resourceType The type of resoure for which an extension resource should run.
+	 * @param stage The stage to run. Either prenormalization or postnormalization.
+	 * @param priority The priority of the resolver. Valid values are high, medium, and low.
+	 */
+	public void put(String className, String pluginId, List projectNatureIds,
+			String resourceType, int stage, String priority)
+	{
+		if (projectNatureIds == null)
+			projectNatureIds = new ArrayList();
+		if (projectNatureIds.isEmpty())
+		{
+			projectNatureIds.add(NULL_PROJECT_NATURE_ID);
+		}
+		URIResolverExtensionDescriptor info = new URIResolverExtensionDescriptor(
+				className, pluginId, projectNatureIds, resourceType, stage, priority);
+
+		Iterator idsIter = projectNatureIds.iterator();
+		while (idsIter.hasNext())
+		{
+			String key = (String) idsIter.next();
+
+			HashMap priorityMap = (HashMap) map.get(key);
+			if (priorityMap == null)
+			{
+				priorityMap = new HashMap();
+				map.put(key, priorityMap);
+				priorityMap.put(PRIORITY_HIGH, new ArrayList());
+				priorityMap.put(PRIORITY_MEDIUM, new ArrayList());
+				priorityMap.put(PRIORITY_LOW, new ArrayList());
+			}
+			List list = (List) priorityMap.get(priority);
+			list.add(info);
+		}
+	}
+
+	/**
+	 * Return a list of URIResolverExtensionDescriptor objects that apply to this
+	 * project. The list is in the priority order high, medium, low.
+	 * 
+	 * @param project The project for which you are requesting resolvers.
+	 * @return A list of URIResolverExtensionDescriptor objects.
+	 */
+	public List getExtensionDescriptors(IProject project)
+	{
+		List result = new ArrayList();
+		for (Iterator i = map.keySet().iterator(); i.hasNext();)
+		{
+			String key = (String) i.next();
+			try
+			{
+				if (key == NULL_PROJECT_NATURE_ID || project == null
+						|| project.hasNature(key))
+				{
+					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_HIGH));
+					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_MEDIUM));
+					result.addAll((List) ((HashMap) map.get(key)).get(PRIORITY_LOW));
+				}
+			} catch (CoreException e)
+			{
+			}
+		}
+		return result;
+	}
+
+	/**
+	 * Return a list of URIResolver objects that match the stage.
+	 * TODO: This seems like an odd method to house here. It may need to be moved
+	 *       or removed if the stage attribute dissapears.
+	 * 
+	 * @param resolverInfoList A list of resolvers to prune.
+	 * @param stage The stage requested.
+	 * @return A list of URIResolver objects that match the stage.
+	 */
+	public List getMatchingURIResolvers(List resolverInfoList, int stage)
+	{
+		List result = new ArrayList();
+		for (Iterator i = resolverInfoList.iterator(); i.hasNext();)
+		{
+			URIResolverExtensionDescriptor info = (URIResolverExtensionDescriptor) i
+					.next();
+			if (info.stage == stage)
+			{
+				Object resolver = info.getResolver();
+				if (resolver != null)
+				{
+					result.add(resolver);
+				}
+			}
+		}
+		return result;
+	}
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java
new file mode 100644
index 0000000..35eb702
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/URIResolverExtensionRegistryReader.java
@@ -0,0 +1,136 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
+
+/**
+ * This class reads the URI resolver extension point and registers extension
+ * resolvers with the URI resolver registry.
+ */
+public class URIResolverExtensionRegistryReader
+{
+
+	protected static final String EXTENSION_POINT_ID = "resolverExtensions";
+
+	protected static final String TAG_NAME = "resolverExtension";
+
+	protected static final String ATT_ID = "id";
+
+	protected static final String ELEM_PROJECT_NATURE_ID = "projectNature";
+
+	protected static final String ATT_RESOURCE_TYPE = "resourceType";
+
+	protected static final String ATT_CLASS = "class";
+
+	protected static final String ATT_STAGE = "stage";
+
+	protected static final String VAL_STAGE_PRE = "prenormalization";
+
+	protected static final String VAL_STAGE_POST = "postnormalization";
+
+	protected static final String VAL_STAGE_PHYSICAL = "physical";
+
+	protected static final String ATT_VALUE = "value";
+
+	protected static final String ATT_PRIORITY = "priority";
+
+	protected URIResolverExtensionRegistry registry;
+
+	public URIResolverExtensionRegistryReader(URIResolverExtensionRegistry registry)
+	{
+		this.registry = registry;
+	}
+
+	/**
+	 * read from plugin registry and parse it.
+	 */
+	public void readRegistry()
+	{
+		IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
+		IExtensionPoint point = pluginRegistry.getExtensionPoint(URIResolverPlugin
+				.getInstance().getBundle().getSymbolicName(), EXTENSION_POINT_ID);
+		if (point != null)
+		{
+			IConfigurationElement[] elements = point.getConfigurationElements();
+			for (int i = 0; i < elements.length; i++)
+			{
+				readElement(elements[i]);
+			}
+		}
+	}
+
+	/**
+	 * readElement() - parse and deal with an extension like:
+	 * 
+	 * <extension point="org.eclipse.wst.contentmodel.util_implementation">
+	 * <util_implementation class =
+	 * org.eclipse.wst.baseutil.CMUtilImplementationImpl /> </extension>
+	 */
+	protected void readElement(IConfigurationElement element)
+	{
+		if (element.getName().equals(TAG_NAME))
+		{
+			// String id = element.getAttribute(ATT_ID);
+			String className = element.getAttribute(ATT_CLASS);
+			// String projectNatureId = element.getAttribute(ATT_PROJECT_NATURE_ID);
+			String resourceType = element.getAttribute(ATT_RESOURCE_TYPE);
+			String stage = element.getAttribute(ATT_STAGE);
+			String priority = element.getAttribute(ATT_PRIORITY);
+			if (priority == null || priority.equals(""))
+			{
+				priority = URIResolverExtensionRegistry.PRIORITY_MEDIUM;
+			}
+			List projectNatureIds = new ArrayList();
+			IConfigurationElement[] ids = element.getChildren(ELEM_PROJECT_NATURE_ID);
+			int numids = ids.length;
+			for (int i = 0; i < numids; i++)
+			{
+				String tempid = ids[i].getAttribute(ATT_VALUE);
+
+				if (tempid != null)
+				{
+					projectNatureIds.add(tempid);
+				}
+			}
+			if (className != null)
+			{
+				try
+				{
+					String pluginId = element.getDeclaringExtension().getNamespace();
+
+					int stageint = URIResolverExtensionRegistry.STAGE_POSTNORMALIZATION;
+					if (stage.equalsIgnoreCase(VAL_STAGE_PRE))
+					{
+						stageint = URIResolverExtensionRegistry.STAGE_PRENORMALIZATION;
+					} else if (stage.equalsIgnoreCase(VAL_STAGE_PHYSICAL))
+					{
+						stageint = URIResolverExtensionRegistry.STAGE_PHYSICAL;
+					}
+					registry.put(className, pluginId, projectNatureIds, resourceType,
+							stageint, priority);
+				} catch (Exception e)
+				{
+					// TODO: Log exception as this will cause an extension resolver
+					//       from loading.
+				}
+			}
+		}
+	}
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java
new file mode 100644
index 0000000..ef0a4ca
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolver.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal.provisional;
+
+/**
+ * A URIResolver is used to resolve URI references to resources.
+ */
+public interface URIResolver {
+	
+	/**
+	 * @param baseLocation - the location of the resource that contains the uri 
+	 * @param publicId - an optional public identifier (i.e. namespace name), or null if none
+	 * @param systemId - an absolute or relative URI, or null if none 
+	 * @return an absolute URI represention the 'logical' location of the resource
+	 */
+	public String resolve(String baseLocation, String publicId, String systemId);
+    
+    /**
+     * @param baseLocation - the location of the resource that contains the uri 
+     * @param publicId - an optional public identifier (i.e. namespace name), or null if none
+     * @param systemId - an absolute or relative URI, or null if none 
+     * @return an absolute URI represention the 'physical' location of the resource
+     */
+    public String resolvePhysicalLocation(String baseLocation, String publicId, String logicalLocation);    
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java
new file mode 100644
index 0000000..16d61e7
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverExtension.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal.provisional;
+
+import org.eclipse.core.resources.IFile;
+
+/**
+ * An extension to augment the behaviour of a URIResolver.  Extensions are project aware
+ * so that they can apply specialized project specific resolving rules. 
+ */
+public interface URIResolverExtension {
+	/**
+	 * @param file the in-workspace base resource, if one exists
+	 * @param baseLocation - the location of the resource that contains the uri
+	 * @param publicId - an optional public identifier (i.e. namespace name), or null if none
+	 * @param systemId - an absolute or relative URI, or null if none 
+	 * 
+	 * @return an absolute URI or null if this extension can not resolve this reference
+	 */
+	public String resolve(IFile file, String baseLocation, String publicId, String systemId);
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java
new file mode 100644
index 0000000..2b63687
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/provisional/URIResolverPlugin.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal.provisional;
+
+import java.util.Map;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.wst.common.uriresolver.internal.ExtensibleURIResolver;
+import org.eclipse.wst.common.uriresolver.internal.URIResolverExtensionRegistry;
+
+
+public class URIResolverPlugin extends Plugin {
+	protected static URIResolverPlugin instance;	
+	protected URIResolverExtensionRegistry xmlResolverExtensionRegistry;
+
+	public static URIResolverPlugin getInstance()
+	{
+		return instance;
+	}
+	
+	public URIResolverPlugin() {
+		super();
+		instance = this;
+	}	
+	
+					
+	public static URIResolver createResolver()
+	{
+		return createResolver(null);
+	}
+	
+	public static URIResolver createResolver(Map properties)
+	{
+		// TODO... utilize properties
+		return new ExtensibleURIResolver();
+	}	
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java
new file mode 100644
index 0000000..6fc7c9e
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIEncoder.java
@@ -0,0 +1,204 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal.util;
+
+import java.io.BufferedWriter;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.BitSet;
+
+/**
+ *  This class is a modified version of java.lang.URLEncoder.
+ */
+public class URIEncoder 
+{
+  static BitSet dontNeedEncoding;
+  static final int caseDiff = ('a' - 'A');
+  static String dfltEncName = null;
+  
+
+  static 
+  {            
+	  dontNeedEncoding = new BitSet(256);
+	  int i;
+	  for (i = 'a'; i <= 'z'; i++) 
+    {
+	    dontNeedEncoding.set(i);
+	  }
+	  for (i = 'A'; i <= 'Z'; i++) 
+    {
+	    dontNeedEncoding.set(i);
+	  }
+	  for (i = '0'; i <= '9'; i++) 
+    {
+	    dontNeedEncoding.set(i);
+	  }
+
+	  //dontNeedEncoding.set(' '); // cs.. removed so that space character will be replaced by %20
+	  dontNeedEncoding.set('-');
+	  dontNeedEncoding.set('_');
+	  dontNeedEncoding.set('.');
+	  dontNeedEncoding.set('*');
+	  dontNeedEncoding.set(':');   // cs.. added 
+	  dontNeedEncoding.set('/');   // cs.. added so that slashes don't get encoded as %2F
+
+  	// dfltEncName = (String)AccessController.doPrivileged(new GetPropertyAction("file.encoding"));
+  	// As discussed with Sandy, we should encode URIs with UTF8
+   dfltEncName = "UTF8";
+    //System.out.println("dfltEncName " + dfltEncName);
+   }
+
+  /**
+   * You can't call the constructor.
+   */
+  private URIEncoder() { }
+
+  /**
+   * Translates a string into <code>x-www-form-urlencoded</code>
+   * format. This method uses the platform's default encoding
+   * as the encoding scheme to obtain the bytes for unsafe characters.
+   *
+   * @param   s   <code>String</code> to be translated.
+   * @deprecated The resulting string may vary depending on the platform's
+   *             default encoding. Instead, use the encode(String,String)
+   *             method to specify the encoding.
+   * @return  the translated <code>String</code>.
+   */
+  public static String encode(String s) 
+  {
+	  String str = null;
+	  try 
+    {
+	    str = encode(s, dfltEncName);
+	  } 
+    catch (UnsupportedEncodingException e) 
+    {
+	    // The system should always have the platform default
+	  }
+	  return str;
+  }
+
+  /**
+   * Translates a string into <code>application/x-www-form-urlencoded</code>
+   * format using a specific encoding scheme. This method uses the
+   * supplied encoding scheme to obtain the bytes for unsafe
+   * characters.
+   * <p>
+   * <em><strong>Note:</strong> The <a href=
+   * "http://www.w3.org/TR/html40/appendix/notes.html#non-ascii-chars">
+   * World Wide Web Consortium Recommendation</a> states that
+   * UTF-8 should be used. Not doing so may introduce
+   * incompatibilites.</em>
+   *
+   * @param   s   <code>String</code> to be translated.
+   * @param   enc   The name of a supported 
+   *    <a href="../lang/package-summary.html#charenc">character
+   *    encoding</a>.
+   * @return  the translated <code>String</code>.
+   * @exception  UnsupportedEncodingException
+   *             If the named encoding is not supported
+   * @see java.net.URLDecoder#decode(java.lang.String, java.lang.String)
+   */
+  public static String encode(String s, String enc) throws UnsupportedEncodingException 
+  {
+	  boolean needToChange = false;
+	  boolean wroteUnencodedChar = false; 
+	  int maxBytesPerChar = 10; // rather arbitrary limit, but safe for now
+    StringBuffer out = new StringBuffer(s.length());
+	  ByteArrayOutputStream buf = new ByteArrayOutputStream(maxBytesPerChar);
+	  BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buf, enc));
+
+	  for (int i = 0; i < s.length(); i++) 
+    {
+	    int c = s.charAt(i);
+	    //System.out.println("Examining character: " + c);
+	    if (dontNeedEncoding.get(c))
+      {
+		   //if (c == ' ')
+       //{
+		   //  c = '+';
+		   //  needToChange = true;
+		   //}
+		   //System.out.println("Storing: " + c);
+		   out.append((char)c);
+		   wroteUnencodedChar = true;
+	    }
+      else
+      {
+		    // convert to external encoding before hex conversion
+		    try
+        {
+		      if (wroteUnencodedChar) 
+          { // Fix for 4407610
+		    	  writer = new BufferedWriter(new OutputStreamWriter(buf, enc));
+			      wroteUnencodedChar = false;
+		      }
+		      writer.write(c);
+		        
+		      // If this character represents the start of a Unicode
+		      // surrogate pair, then pass in two characters. It's not
+		      // clear what should be done if a bytes reserved in the 
+		      // surrogate pairs range occurs outside of a legal
+		      // surrogate pair. For now, just treat it as if it were 
+		      // any other character.
+		      // 
+		      if (c >= 0xD800 && c <= 0xDBFF) 
+          {
+			      //  System.out.println(Integer.toHexString(c) + " is high surrogate");			      
+			      if ( (i+1) < s.length()) 
+            {
+			        int d = s.charAt(i+1);
+			        // System.out.println("\tExamining " + Integer.toHexString(d));			      
+			        if (d >= 0xDC00 && d <= 0xDFFF) 
+              {
+				        // System.out.println("\t" + Integer.toHexString(d) + " is low surrogate");				
+				        writer.write(d);
+				        i++;
+			        }
+			      }
+		      }
+		      writer.flush();
+		    } 
+        catch(IOException e) 
+        {
+		      buf.reset();
+		      continue;
+		    }
+		    byte[] ba = buf.toByteArray();
+
+		    for (int j = 0; j < ba.length; j++) 
+        {
+		      out.append('%');
+		      char ch = Character.forDigit((ba[j] >> 4) & 0xF, 16);
+		      // converting to use uppercase letter as part of
+		      // the hex value if ch is a letter.
+		      if (Character.isLetter(ch)) 
+          {
+			      ch -= caseDiff;
+		      }
+		      out.append(ch);
+		      ch = Character.forDigit(ba[j] & 0xF, 16);
+		      if (Character.isLetter(ch)) 
+          {
+			      ch -= caseDiff;
+		      }
+		      out.append(ch);
+		    }
+		    buf.reset();
+		    needToChange = true;
+	    }
+	  }
+	  return (needToChange? out.toString() : s);
+  }
+}
diff --git a/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java
new file mode 100644
index 0000000..e564f41
--- /dev/null
+++ b/plugins/org.eclipse.wst.common.uriresolver/src/org/eclipse/wst/common/uriresolver/internal/util/URIHelper.java
@@ -0,0 +1,496 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *******************************************************************************/
+package org.eclipse.wst.common.uriresolver.internal.util;
+
+import java.io.File;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URL;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+
+
+public class URIHelper
+{                       
+  protected static final String FILE_PROTOCOL = "file:";
+  protected static final String PLATFORM_RESOURCE_PROTOCOL = "platform:/resource/";
+  protected static final String PROTOCOL_PATTERN = ":"; 
+
+  public static String normalize(String uri)
+  {                           
+    if (uri != null)
+    {                      
+      String protocol = getProtocol(uri);
+      String file = uri;
+           
+      if (protocol != null)
+      {               
+        try
+        {   
+          // 
+          URL url = new URL(uri); 
+          // we use a 'Path' on the 'file' part of the url in order to normalize the '.' and '..' segments
+          IPath path = new Path(url.getFile()); 
+          URL url2 = new URL(url.getProtocol(), url.getHost(), url.getPort(), path.toString());
+          uri = url2.toString();                               
+        }                        
+        catch (Exception e)
+        {  
+        }
+      }   
+      else
+      {      
+        IPath path = new Path(file);
+        uri = path.toString();
+      }
+    }
+    return uri;
+  }
+
+
+  /**
+   * a 'null' rootLocation argument will causes uri that begins with a '/' to be treated as a workspace relative resource
+   * (i.e. the string "platform:/resource" is prepended and the uri is resolved via the Platform object)
+   */
+  public static String normalize(String uri, String resourceLocation, String rootLocation)
+  {
+    String result = null;
+
+    if (uri != null)
+    { 
+      // is the uri a url
+      if (hasProtocol(uri))
+      {                  
+        if (isPlatformResourceProtocol(uri))
+        {
+          result = resolvePlatformUrl(uri);
+        }
+        else
+        {
+          result = uri;
+        }
+      }
+   
+      // is uri absolute
+      //
+      if (result == null)
+      {
+        if (uri.indexOf(":") != -1 || uri.startsWith("/") || uri.startsWith("\\"))
+        {                   
+          result = uri;
+        }
+      }
+  
+      // if uri is relative to the resourceLocation
+      //
+      if (result == null && resourceLocation != null)
+      {          
+        if (resourceLocation.endsWith("/"))
+        {
+			    result = resourceLocation + uri;
+        }
+		    else
+        {
+			    result = resourceLocation + "/../" + uri;
+        }
+      }
+      
+      if (result == null)
+      {
+        result = uri;
+      }
+  
+      result = normalize(result);
+    }
+
+    //System.out.println("normalize(" + uri + ", " + resourceLocation + ", " + rootLocation + ") = " + result);
+    return result;
+  }
+
+
+  public static boolean isURL(String uri)
+  {
+    return uri.indexOf(":/") > 2; // test that the index is > 2 so that C:/ is not considered a protocol
+  }
+
+
+  public static String getLastSegment(String uri)
+  {
+    String result = uri;
+    int index = Math.max(uri.lastIndexOf("/"), uri.lastIndexOf("\\"));
+    if (index != -1)
+    {
+      result = uri.substring(index + 1);
+    }
+    return result;
+  }
+
+
+  public static String getFileExtension(String uri)
+  {
+    String result = null;
+    int dotIndex = getExtensionDotIndex(uri);
+               
+    if (dotIndex != -1)
+    {
+      result = uri.substring(dotIndex + 1);
+    }
+
+    return result;
+  }
+
+
+  public static String removeFileExtension(String uri)
+  {
+    String result = null;
+    int dotIndex = getExtensionDotIndex(uri);
+
+    if (dotIndex != -1)
+    {
+      result = uri.substring(0, dotIndex);
+    }
+
+    return result;
+  }   
+             
+
+  // here we use the Platform to resolve a workspace relative path to an actual url
+  //
+  protected static String resolvePlatformUrl(String urlspec)
+  {
+    String result = null;
+    try
+    {                        
+      urlspec = urlspec.replace('\\', '/'); 
+      URL url = new URL(urlspec);
+      URL resolvedURL = Platform.resolve(url);
+      result = resolvedURL.toString();
+    }
+    catch (Exception e)
+    {
+    }
+    return result;
+  }
+
+
+  protected static int getExtensionDotIndex(String uri)
+  {
+    int result = -1;
+    int dotIndex = uri.lastIndexOf(".");
+    int slashIndex = Math.max(uri.lastIndexOf("/"), uri.lastIndexOf("\\"));
+
+    if (dotIndex != -1 && dotIndex > slashIndex)
+    {
+      result = dotIndex;
+    }
+
+    return result;
+  }
+  
+
+  public static boolean isPlatformResourceProtocol(String uri)
+  {                                                     
+    return uri != null && uri.startsWith(PLATFORM_RESOURCE_PROTOCOL);
+  }                                                   
+
+  public static String removePlatformResourceProtocol(String uri)
+  {  
+    if (uri != null && uri.startsWith(PLATFORM_RESOURCE_PROTOCOL))
+    {
+      uri = uri.substring(PLATFORM_RESOURCE_PROTOCOL.length());
+    }                                                          
+    return uri;
+  }            
+
+
+  public static String prependPlatformResourceProtocol(String uri)
+  {  
+    if (uri != null && !uri.startsWith(PLATFORM_RESOURCE_PROTOCOL))
+    {
+      uri = PLATFORM_RESOURCE_PROTOCOL + uri;
+    }                                                          
+    return uri;
+  } 
+  
+
+  public static String prependFileProtocol(String uri)
+  {  
+    if (uri != null && !uri.startsWith(FILE_PROTOCOL))
+    {
+      uri = FILE_PROTOCOL + uri;
+    }                                                          
+    return uri;
+  } 
+            
+  public static boolean hasProtocol(String uri)
+  {
+    boolean result = false;     
+    if (uri != null)
+    {
+      int index = uri.indexOf(PROTOCOL_PATTERN);
+      if (index != -1 && index > 2) // assume protocol with be length 3 so that the'C' in 'C:/' is not interpreted as a protocol
+      {
+        result = true;
+      }
+    }
+    return result;
+  }     
+                      
+
+  public static boolean isAbsolute(String uri)
+  {
+    boolean result = false;     
+    if (uri != null)
+    {
+      int index = uri.indexOf(PROTOCOL_PATTERN);
+      if (index != -1 || uri.startsWith("/"))
+      {
+        result = true;
+      }
+    }
+    return result;
+  }
+
+
+  public static String addImpliedFileProtocol(String uri)
+  {  
+    if (!hasProtocol(uri))
+    {                           
+      String prefix = FILE_PROTOCOL;
+      prefix += uri.startsWith("/") ? "//" : "///";
+      uri = prefix + uri;
+    }
+    return uri;
+  }
+             
+  // todo... need to revisit this before we publicize it
+  // 
+  protected static String getProtocol(String uri)
+  {  
+    String result = null;     
+    if (uri != null)
+    {
+      int index = uri.indexOf(PROTOCOL_PATTERN);
+      if (index > 2) // assume protocol with be length 3 so that the'C' in 'C:/' is not interpreted as a protocol
+      {
+        result = uri.substring(0, index + PROTOCOL_PATTERN.length());
+      }
+    }
+    return result;
+  } 
+ 
+
+  public static String removeProtocol(String uri)
+  {
+    String result = uri;     
+    if (uri != null)
+    {
+      int index = uri.indexOf(PROTOCOL_PATTERN);
+      if (index > 2)
+      {
+        result = result.substring(index + PROTOCOL_PATTERN.length());                 
+      }
+    }
+    return result;
+  } 
+
+
+  protected static boolean isProtocolFileOrNull(String uri)
+  {                                    
+    String protocol = getProtocol(uri);   
+    return protocol == null || protocol.equals(FILE_PROTOCOL);
+  }  
+
+                                           
+  protected static boolean isMatchingProtocol(String uri1, String uri2)
+  { 
+    boolean result = false;  
+
+    String protocol1 = getProtocol(uri1);
+    String protocol2 = getProtocol(uri2);
+
+    if (isProtocolFileOrNull(protocol1) && isProtocolFileOrNull(protocol2))
+    {                                                                      
+      result = true;
+    } 
+    else
+    {
+      result = protocol1 != null && protocol2 != null && protocol1.equals(protocol2);
+    }             
+
+    return result;
+  }
+
+  /**
+   * warning... this method not fully tested yet
+   */
+  public static String getRelativeURI(String uri, String resourceLocation)
+  {                                      
+    String result = uri;  
+    if (isMatchingProtocol(uri, resourceLocation)) 
+    {
+      result = getRelativeURI(new Path(removeProtocol(uri)),
+                              new Path(removeProtocol(resourceLocation)));
+    }            
+
+    return result;
+  }
+
+  /**
+   * warning... this method not fully tested yet
+   */
+  public static String getRelativeURI(IPath uri, IPath resourceLocation)
+  {            
+    String result = null;
+    int nMatchingSegments = 0;       
+    resourceLocation = resourceLocation.removeLastSegments(1);
+    while (true)
+    {                   
+      String a = uri.segment(nMatchingSegments); 
+      String b = resourceLocation.segment(nMatchingSegments); 
+      if (a != null && b != null && a.equals(b))
+      {
+        nMatchingSegments++;
+      }
+      else
+      {
+        break;
+      }
+    }                 
+
+    if (nMatchingSegments == 0)
+    {
+      result = uri.toOSString();
+    }
+    else
+    {    
+      result = "";   
+      boolean isFirst = true;
+      String[] segments = resourceLocation.segments();
+      for (int i = nMatchingSegments; i < segments.length; i++)
+      {  
+        result += isFirst ? ".." : "/..";     
+        if (isFirst)
+        {
+          isFirst = false;
+        }        
+      }
+      // 
+      segments = uri.segments();
+      for (int i = nMatchingSegments; i < segments.length; i++)
+      {                      
+        result += isFirst ? segments[i] : ("/" + segments[i]);     
+        if (isFirst)
+        {
+          isFirst = false;
+        } 
+      }
+    }   
+    return result;
+  }
+
+
+  public static String getPlatformURI(IResource resource)
+  {                            
+    String fullPath = resource.getFullPath().toString();
+    if (fullPath.startsWith("/"))
+    {
+      fullPath = fullPath.substring(1);
+    }
+    return PLATFORM_RESOURCE_PROTOCOL + fullPath;
+  }
+  
+
+  /**
+   * This methods is used as a quick test to see if a uri can be resolved to an existing resource.   
+   */
+  public static boolean isReadableURI(String uri, boolean testRemoteURI)
+  {  
+    boolean result = true;  
+    if (uri != null)
+    {   
+      try
+      {                               
+        uri = normalize(uri, null, null);
+        if (isProtocolFileOrNull(uri))
+        {
+          uri = removeProtocol(uri);                            
+          File file = new File(uri);
+          result = file.exists() && file.isFile();
+        }
+        else if (isPlatformResourceProtocol(uri))
+        {
+          // Note - If we are here, uri has been failed to resolve
+          // relative to the Platform. See normalize() to find why.
+          result = false;
+        }
+        else if (testRemoteURI)
+        {
+          URL url = new URL(uri);
+          InputStream is = url.openConnection().getInputStream();
+          is.close();
+          // the uri is readable if we reach here.
+          result = true;
+        }
+      }
+      catch (Exception e)
+      {
+        result = false;
+      }
+    }
+    else // uri is null
+      result = false;
+
+    return result;
+  }  
+
+  /**
+   * return true if this is a valid uri
+   */
+  public static boolean isValidURI(String uri)
+  {                       
+    boolean result = false;
+    try                                                              
+    {
+      new URI(uri);
+      result = true;
+    }
+    catch (Exception e)
+    {
+    }               
+    return result;
+  }
+
+  /**
+   * returns an acceptable URI for a file path
+   */
+  public static String getURIForFilePath(String filePath)
+  {
+    String result = addImpliedFileProtocol(filePath);
+    if (!isValidURI(result))
+    {
+    	try
+    	{
+        result = URIEncoder.encode(result, "UTF8");
+    	}
+    	catch(UnsupportedEncodingException e)
+    	{
+    		// Do nothing as long as UTF8 is used. This is supported.
+    	}
+    }
+    return result;
+  }
+}
diff --git a/plugins/org.eclipse.wst.common.modulecore/.classpath b/plugins/org.eclipse.wst.internet.cache/.classpath
similarity index 82%
copy from plugins/org.eclipse.wst.common.modulecore/.classpath
copy to plugins/org.eclipse.wst.internet.cache/.classpath
index 48c8e15..751c8f2 100644
--- a/plugins/org.eclipse.wst.common.modulecore/.classpath
+++ b/plugins/org.eclipse.wst.internet.cache/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="modulecore-src/"/>
+	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/plugins/org.eclipse.wst.common.modulecore/.cvsignore b/plugins/org.eclipse.wst.internet.cache/.cvsignore
similarity index 67%
rename from plugins/org.eclipse.wst.common.modulecore/.cvsignore
rename to plugins/org.eclipse.wst.internet.cache/.cvsignore
index 475f127..95b91e4 100644
--- a/plugins/org.eclipse.wst.common.modulecore/.cvsignore
+++ b/plugins/org.eclipse.wst.internet.cache/.cvsignore
@@ -1,7 +1,6 @@
 bin
 temp.folder
 build.xml
-modulecore.jar
-doc
+cache.jar
 @dot
 src.zip
diff --git a/plugins/org.eclipse.wst.common.frameworks/.project b/plugins/org.eclipse.wst.internet.cache/.project
similarity index 92%
rename from plugins/org.eclipse.wst.common.frameworks/.project
rename to plugins/org.eclipse.wst.internet.cache/.project
index 30f458a..d7188f0 100644
--- a/plugins/org.eclipse.wst.common.frameworks/.project
+++ b/plugins/org.eclipse.wst.internet.cache/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.wst.common.frameworks</name>
+	<name>org.eclipse.wst.internet.cache</name>
 	<comment></comment>
 	<projects>
 	</projects>
@@ -22,7 +22,7 @@
 		</buildCommand>
 	</buildSpec>
 	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
 </projectDescription>
diff --git a/plugins/org.eclipse.wst.internet.cache/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.internet.cache/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..de3a8b0
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,57 @@
+#Mon Jan 30 19:48:42 EST 2006
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.3
diff --git a/plugins/org.eclipse.wst.internet.cache/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.internet.cache/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..957cd87
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %_PLUGIN_NAME
+Bundle-SymbolicName: org.eclipse.wst.internet.cache; singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.wst.internet.cache.internal.CachePlugin
+Bundle-Vendor: %_PLUGIN_PROVIDER
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.wst.common.uriresolver,
+ org.eclipse.core.resources
+Eclipse-AutoStart: true
+Export-Package: org.eclipse.wst.internet.cache.internal;x-friends:="org.eclipse.wst.internet.cache.tests"
diff --git a/plugins/org.eclipse.wst.common.modulecore/about.html b/plugins/org.eclipse.wst.internet.cache/about.html
similarity index 100%
rename from plugins/org.eclipse.wst.common.modulecore/about.html
rename to plugins/org.eclipse.wst.internet.cache/about.html
diff --git a/plugins/org.eclipse.wst.internet.cache/build.properties b/plugins/org.eclipse.wst.internet.cache/build.properties
new file mode 100644
index 0000000..dbd4f60
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               plugin.properties,\
+               about.html
+src.includes = exsd/,\
+               .,\
+               build.properties
+output.. = bin/
diff --git a/plugins/org.eclipse.wst.common.frameworks/schema/OperationExtension.exsd b/plugins/org.eclipse.wst.internet.cache/exsd/cacheresource.exsd
similarity index 64%
rename from plugins/org.eclipse.wst.common.frameworks/schema/OperationExtension.exsd
rename to plugins/org.eclipse.wst.internet.cache/exsd/cacheresource.exsd
index 5fafe57..bacb272 100644
--- a/plugins/org.eclipse.wst.common.frameworks/schema/OperationExtension.exsd
+++ b/plugins/org.eclipse.wst.internet.cache/exsd/cacheresource.exsd
@@ -1,119 +1,121 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.wst.common.frameworks">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.wst.common.frameworks" id="OperationExtension" name="Operation Extension"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="operationExtension"/>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  a fully qualified identifier of the target extension point

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional identifier of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  an optional name of the extension instance

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="operationExtension">

-      <complexType>

-         <sequence>

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;

-All rights reserved. This program and the accompanying materials are made 

-available under the terms of the Eclipse Public License v1.0 which accompanies 

-this distribution, and is available at &lt;a

-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;

-      </documentation>

-   </annotation>

-

-</schema>

+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.internet.cache">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.eclipse.wst.internet.cache" id="cacheresource" name="Cache Resource"/>
+      </appInfo>
+      <documentation>
+         The cache resource extension point allows clients to specify resources that may be cached that require licenses to be accepted prior to caching.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <complexType>
+         <sequence>
+            <element ref="cacheresource" minOccurs="1" maxOccurs="unbounded"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  a fully qualified identifier of the target extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  an optional identifier of the extension instance
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  an optional name of the extension instance
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="cacheresource">
+      <complexType>
+         <attribute name="url" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The URL of the resource to cache.
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="license" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The license of the resource to cache. The license is specified as a URL that resolves to a file that contains the license.
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         1.0
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         The following is an example of a cache resource contribution:
+&lt;pre&gt;
+   &lt;extension
+         point=&quot;org.eclipse.wst.internet.cache.cacheresource&quot;&gt;
+      &lt;cacheresource
+            license=&quot;http://www.eclipse.org/license.html&quot;
+            url=&quot;http://www.eclipse.org&quot;/&gt;
+   &lt;/extension&gt;
+&lt;/pre&gt;
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiInfo"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="copyright"/>
+      </appInfo>
+      <documentation>
+         Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br&gt;
+All rights reserved. This program and the accompanying materials are made 
+available under the terms of the Eclipse Public License v1.0 which accompanies 
+this distribution, and is available at &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/plugins/org.eclipse.wst.common.modulecore/build.properties b/plugins/org.eclipse.wst.internet.cache/plugin.properties
similarity index 69%
rename from plugins/org.eclipse.wst.common.modulecore/build.properties
rename to plugins/org.eclipse.wst.internet.cache/plugin.properties
index e225d3f..5df72b9 100644
--- a/plugins/org.eclipse.wst.common.modulecore/build.properties
+++ b/plugins/org.eclipse.wst.internet.cache/plugin.properties
@@ -8,12 +8,10 @@
 # Contributors:
 #     IBM Corporation - initial API and implementation
 ###############################################################################
-source.. = modulecore-src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               .,\
-               META-INF/,\
-               plugin.properties,\
-               about.html,\
-               schema/
-src.includes = component.xml
+
+_PLUGIN_PROVIDER                       = Eclipse.org
+_PLUGIN_NAME                           = Cache URI Resolver Plug-in
+
+cacheResource                          = Cache Resource
+_UI_CACHE_PREFERENCE_PAGE_TITLE        = Cache
+
diff --git a/plugins/org.eclipse.wst.internet.cache/plugin.xml b/plugins/org.eclipse.wst.internet.cache/plugin.xml
new file mode 100644
index 0000000..09c05eb
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/plugin.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+
+   <extension-point name="%cacheResource" id="cacheresource" schema="exsd/cacheresource.exsd"/>
+
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            name="%_UI_CACHE_PREFERENCE_PAGE_TITLE"
+            class="org.eclipse.wst.internet.cache.internal.preferences.CachePreferencePage"
+            id="org.eclipse.wst.internet.cache.internal.preferences.CachePreferencePage"
+            category = "org.eclipse.internet">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="org.eclipse.wst.internet.cache.internal.preferences.PreferenceInitializer">
+      </initializer>
+   </extension>
+   
+   <extension point="org.eclipse.wst.common.uriresolver.resolverExtensions">
+      <resolverExtension
+            stage="physical"
+            priority="low"
+            class="org.eclipse.wst.internet.cache.internal.CacheURIResolverExtension">
+      </resolverExtension>
+   </extension>
+</plugin>
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/Cache.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/Cache.java
new file mode 100644
index 0000000..1951319
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/Cache.java
@@ -0,0 +1,521 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Random;
+import java.util.Set;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Platform;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * The cache holds references to remote resources. The cache can store resources,
+ * retrieve resources, and delete resources.
+ *
+ */
+public class Cache 
+{
+  /**
+   * String instances.
+   */
+  private static final String URI = "uri";
+  private static final String LOCATION ="location";
+  private static final String ENTRY = "entry";
+  private static final String CACHE = "cache";
+  private static final String LAST_MODIFIED = "lastModified";
+  private static final String EXPIRATION_TIME = "expirationTime";
+  private static final String FILE_PROTOCOL = "file:///";
+  private static final String CACHE_FILE = "cache.xml";
+  private static final String CACHE_EXTENSION = ".cache";
+  private static final String CACHE_PREFIX = "wtpcache";
+  private static final String CACHE_SUFFIX = null;
+  /**
+   * The default timeout for a cache entry is 1 day.
+   */
+  private static final long TIMEOUT = 86400000;
+	
+  /**
+   * The one and only instance of the cache.
+   */
+  private static Cache cacheInstance = null;
+  
+  /**
+   * The cache is stored in a hashtable.
+   */
+  private Hashtable cache;
+  
+  /**
+   * A set of uncached resources. The cache was not able to cache resources
+   * in this list. This list allows quickly skipping over these resources in
+   * future requests. 
+   */
+  private Set uncached;
+  
+  /**
+   * The location of the cache
+   */
+  private File cacheLocation = null;
+  
+  /**
+   * Private constructor.
+   */
+  protected Cache(IPath cacheLocation)
+  {
+	  this.cacheLocation = cacheLocation.toFile();//Platform.getPluginStateLocation(CachePlugin.getDefault()).toFile();
+    cache = new Hashtable();
+    uncached = new HashSet();
+  }
+  
+  /**
+   * Get the one and only instance of the cache.
+   * 
+   * @return The one and only instance of the cache.
+   */
+  public static Cache getInstance()
+  {
+//	  if(cacheInstance == null)
+//	  {
+//		  cacheInstance = new Cache(cacheLocation);
+//		  cacheInstance.open(cacheLocation);
+//	  }
+	  return cacheInstance;
+  }
+  
+  /**
+   * Return the local resource for the specified uri. If there is no resource
+   * the cache will attempt to download and cache the resource before returning.
+   * If a remote resource cannot be cached this method will return null.
+   * 
+   * @param uri The URI for which a resource is requested.
+   * @return The local resource for the specified URI or null if a remote resource cannot be cached.
+   */
+  public String getResource(String uri)
+  {
+	  if(uri == null) return null;
+	  CacheEntry result = (CacheEntry)cache.get(uri);
+	  
+	  // If no result is in the cache and the URI is of an allowed type
+	  // retrieve it and store it in the cache.
+	  if(result == null)
+	  {
+      
+        if(!uncached.contains(uri))
+	    {
+          result = cacheResource(uri); 
+        }
+	  }
+	  // Retreive a fresh copy of the result if it has timed out.
+	  else if(result.hasExpired())
+	  {
+		result = refreshCacheEntry(result);
+	  }
+	  if(result == null || result.getLocalFile() == null)
+	  {
+		return null;
+	  }
+	  return FILE_PROTOCOL + cacheLocation.toString() + "/" + result.getLocalFile();
+  }
+  
+  /**
+   * Get the list of uncached resources.
+   * 
+   * @return The list of uncached resources.
+   */
+  protected String[] getUncachedURIs()
+  {
+    return (String[])uncached.toArray(new String[uncached.size()]);
+  }
+  
+  /**
+   * Clear the list of uncached resources.
+   */
+  protected void clearUncachedURIs()
+  {
+    uncached.clear();
+  }
+  
+  /**
+   * Add an uncached resource to the list.
+   */
+  protected void addUncachedURI(String uri)
+  {
+    uncached.add(uri);
+  }
+  
+  /**
+   * Cache the specified resource. This method creates a local version of the
+   * remote resource and adds the resource reference to the cache. If the resource
+   * cannot be accessed it is not added and null is returned.
+   * 
+   * @param uri The remote URI to cache.
+   * @return A new CacheEntry representing the cached resource or null if the remote
+   *         resource could not be retrieved.
+   */
+  protected CacheEntry cacheResource(String uri)
+  {
+	  CacheEntry cacheEntry = null;
+	  URLConnection conn = null;
+	  InputStream is = null;
+	  OutputStream os = null;
+	  try
+	  {
+		  URL url = new URL(uri);
+		  conn = url.openConnection();
+		  conn.connect();
+		  // Determine if this resource can be cached.
+		  if(conn.getUseCaches())
+		  {
+		    is = conn.getInputStream();//url.openStream();
+		  
+		    Random rand = new Random();
+			String fileName = rand.nextInt() + CACHE_EXTENSION;
+		    File file = new File(cacheLocation, fileName);
+		    // If the file already exists we need to change the file name.
+		    while(!file.createNewFile())
+		    {
+			  fileName = rand.nextInt() + CACHE_EXTENSION;
+			  file = new File(cacheLocation,fileName);
+		    }
+		    os = new FileOutputStream(file);
+		    byte[] bytes = new byte[1024];
+		    int bytelength;
+		    while((bytelength = is.read(bytes)) != -1)
+		    {
+			  os.write(bytes, 0, bytelength);
+		    }
+			long lastModified = conn.getLastModified();
+		    long expiration = conn.getExpiration();
+			if(expiration == 0)
+			{
+			  expiration = System.currentTimeMillis() + TIMEOUT;
+			}
+		    cacheEntry = new CacheEntry(uri, fileName, lastModified, expiration);
+		    cache.put(uri,cacheEntry);
+		  }
+
+	  }
+	  catch(Throwable t)
+	  {
+		  // Put the entry in the uncached list so the resolution work will not be performed again.
+      // TODO: Add in a timeout for the non-located uris.
+      uncached.add(uri);
+	  }
+	  finally
+	  {
+		  if(is != null)
+		  {
+			  try
+			  {
+			    is.close();
+			  }
+			  catch(IOException e)
+			  {
+			    // Do nothing if the stream cannot be closed.
+			  }
+		  }
+		  if(os != null)
+		  {
+			  try
+			  {
+			    os.close();
+			  }
+			  catch(IOException e)
+			  {
+				// Do nothing if the stream cannot be closed. 
+			  }
+		  }
+	  }
+	  return cacheEntry;
+  }
+  
+  /**
+   * Refresh the cache entry if necessary. The cache entry will be refreshed
+   * if the remote resource is accessible and the last modified time of the
+   * remote resource is greater than the last modified time of the cached
+   * resource.
+   * 
+   * @param cacheEntry The cache entry to refresh.
+   * @return The refreshed cache entry.
+   */
+  protected CacheEntry refreshCacheEntry(CacheEntry cacheEntry)
+  {
+	  URLConnection conn = null;
+	  InputStream is = null;
+	  OutputStream os = null;
+	  try
+	  {
+		  URL url = new URL(cacheEntry.getURI());
+		  conn = url.openConnection();
+		  conn.connect();
+		  
+		  long lastModified = conn.getLastModified();
+	      if(lastModified > cacheEntry.getLastModified())
+		  {
+			long expiration = conn.getExpiration();
+		    if(expiration == 0)
+			{
+			  expiration = System.currentTimeMillis() + TIMEOUT;
+			}
+			
+		    is = conn.getInputStream();
+			
+			String localFile = cacheEntry.getLocalFile();
+  
+		    File tempFile = File.createTempFile(CACHE_PREFIX, CACHE_SUFFIX);
+			tempFile.deleteOnExit();
+
+		    os = new FileOutputStream(tempFile);
+		    byte[] bytes = new byte[1024];
+		    int bytelength;
+		    while((bytelength = is.read(bytes)) != -1)
+		    {
+			  os.write(bytes, 0, bytelength);
+		    }
+			is.close();
+			os.close();
+			deleteFile(cacheEntry.getURI());
+			File f = new File(cacheLocation, localFile);
+			tempFile.renameTo(f);
+			cacheEntry.setExpiration(expiration);
+			cacheEntry.setLastModified(lastModified);
+		  }
+		  // The cache entry hasn't changed. Just update the expiration time.
+	      else
+		  {
+			long expiration = conn.getExpiration();
+			if(expiration == 0)
+			{
+			  expiration = System.currentTimeMillis() + TIMEOUT;
+			}
+			cacheEntry.setExpiration(expiration);
+		  }
+
+	  }
+	  catch(Exception e)
+	  {
+      // Do nothing.
+	  }
+	  finally
+	  {
+		  if(is != null)
+		  {
+			  try
+			  {
+			    is.close();
+			  }
+			  catch(IOException e)
+			  {
+			    // Do nothing if the stream cannot be closed.
+			  }
+		  }
+		  if(os != null)
+		  {
+			  try
+			  {
+			    os.close();
+			  }
+			  catch(IOException e)
+			  {
+				// Do nothing if the stream cannot be closed. 
+			  }
+		  }
+	  }
+	  return cacheEntry;
+  }
+  
+  /**
+   * Get an array of the cached URIs.
+   * 
+   * @return An array of the cached URIs.
+   */
+  public String[] getCachedURIs()
+  {
+	Set keyset = cache.keySet();
+	return (String[])keyset.toArray(new String[keyset.size()]);
+  }
+  
+  /**
+   * Close the cache. Closing the cache involves serializing the data to an XML file
+   * in the plugin state location.
+   */
+  protected void close()
+  {
+	  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+      try {
+        DocumentBuilder builder = factory.newDocumentBuilder();
+        Document cachedoc = builder.newDocument();
+		Element rootelem = cachedoc.createElement(CACHE);
+		cachedoc.appendChild(rootelem);
+		
+	  Enumeration uris = cache.keys();
+	  while(uris.hasMoreElements())
+	  {
+		  String key = (String)uris.nextElement();
+		  CacheEntry cacheEntry = (CacheEntry)cache.get(key);
+		  if(cacheEntry != null)
+		  {
+			  Element entry = cachedoc.createElement(ENTRY);
+			  entry.setAttribute(URI, key);
+			  entry.setAttribute(LOCATION, cacheEntry.getLocalFile());
+			  entry.setAttribute(EXPIRATION_TIME, String.valueOf(cacheEntry.getExpirationTime()));
+			  entry.setAttribute(LAST_MODIFIED, String.valueOf(cacheEntry.getLastModified()));
+			  rootelem.appendChild(entry);
+		  }
+	  }
+	  
+	  // Write the cache entry.
+	  TransformerFactory tFactory  = TransformerFactory.newInstance();
+      Transformer transformer = tFactory.newTransformer();
+      Source input = new DOMSource(cachedoc);
+	  IPath stateLocation = Platform.getPluginStateLocation(CachePlugin.getDefault());
+      Result output = new StreamResult(stateLocation.toString() + "/" + CACHE_FILE);
+      transformer.transform(input, output);
+
+      }catch(Exception e)
+	  {
+		  System.out.println("Unable to store internet cache.");
+	  }
+	  cacheInstance = null;
+  }
+  
+  /**
+   * Open the cache. Opening the cache involves parsing the cache XML file in
+   * the plugin state location if it can be read.
+   */
+  protected static void open(IPath cacheLocation)
+  {
+    cacheInstance = new Cache(cacheLocation);
+	  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+      try {
+		  
+		IPath stateLocation = cacheLocation;
+        DocumentBuilder builder = factory.newDocumentBuilder();
+        Document cachedoc = builder.parse(stateLocation.toString() + "/" + CACHE_FILE);
+		Element rootelem = cachedoc.getDocumentElement();
+		NodeList entries = rootelem.getChildNodes();
+		int numEntries = entries.getLength();
+		for(int i = 0; i < numEntries; i++)
+		{
+			Node entry = entries.item(i);
+			if(entry instanceof Element)
+			{
+				Element e = (Element)entry;
+				if(e.getNodeName().equals(ENTRY))
+				{
+					String uri = e.getAttribute(URI);
+					String location = e.getAttribute(LOCATION);
+					String lm = e.getAttribute(LAST_MODIFIED);
+					String et = e.getAttribute(EXPIRATION_TIME);
+					long lastModified = -1;
+					long expirationTime = -1;
+					try
+					{
+						lastModified = Long.parseLong(lm);
+					}
+					catch(NumberFormatException nfe)
+					{
+					}
+					try
+					{
+						expirationTime = Long.parseLong(et);
+					}
+					catch(NumberFormatException nfe)
+					{
+					}
+					if(uri != null && location != null)
+					{
+					  cacheInstance.cache.put(uri, new CacheEntry(uri, location, lastModified, expirationTime));
+					}
+				}
+			}
+		}
+      }
+	  catch(FileNotFoundException e)
+	  {
+		// If the file doesn't exist in the correct location there is nothing to load. Do nothing.
+	  }
+	  catch(Exception e)
+	  {
+		  System.out.println("Unable to load cache.");
+	  }
+  }
+  
+  /**
+   * Clear all of the entries from the cache. This method also deletes the cache files.
+   */
+  public void clear()
+  {
+	Enumeration keys = cache.keys();
+	while(keys.hasMoreElements())
+	{
+	  String key = (String)keys.nextElement();
+	  
+	  deleteFile(key);
+	}
+	cache.clear();
+  }
+  
+  /**
+   * Delete the cache entry specified by the given URI.
+   * @param uri The URI entry to remove from the catalog.
+   */
+  public void deleteEntry(String uri)
+  {
+	  if(uri == null) return;
+	  
+	  deleteFile(uri);
+	  cache.remove(uri);
+  }
+  
+  /**
+   * Delete the file specified by the URI.
+   * 
+   * @param uri The URI of the file to delete.
+   */
+  protected void deleteFile(String uri)
+  {
+	  CacheEntry cacheEntry = (CacheEntry)cache.get(uri);
+	  if(cacheEntry != null)
+	  {
+		String location = cacheLocation.toString() + "/" + cacheEntry.getLocalFile();
+	    File file = new File(location);
+	    if(!file.delete())
+	    {
+	      System.out.println("Unable to delete file " + location + " from cache.");
+	    } 
+	  }
+  }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheEntry.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheEntry.java
new file mode 100644
index 0000000..817ec06
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheEntry.java
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal;
+
+/**
+ * A cache entry contains a URI, a local file, and a timeout.
+ */
+public class CacheEntry 
+{
+  private String uri;
+  private String localFile;
+  private long lastModified;
+  private long expirationTime;
+  
+  /**
+   * Create a new cache entry.
+   * 
+   * @param uri The remote URI of the cache entry.
+   * @param localFile The local file that contains the cached entry.
+   * @param lastModifie The time this resource was last modified.
+   * @param expirationTime The time in miliseconds that this cache entry will
+   *                       expire.
+   */
+  public CacheEntry(String uri, String localFile, long lastModified, long expirationTime)
+  {
+	this.uri = uri;
+	this.localFile = localFile;
+	this.lastModified = lastModified;
+	this.expirationTime = expirationTime;
+  }
+  
+  /**
+   * The cache entry is expired if its expiration time is less then the
+   * current system time and not equal to -1.
+   * 
+   * @return True if this cached entry has expired, false otherwise.
+   */
+  public boolean hasExpired()
+  {
+	 if(expirationTime != -1 && System.currentTimeMillis() > expirationTime)
+	 {
+	   return true;
+	 }
+	 return false;
+  }
+  
+  /**
+   * Set the time in miliseconds that this cache entry will expire.
+   * 
+   * @param timeout The time in miliseconds that this cache entry will expire.
+   *                -1 indicates that this entry will not expire.
+   */
+  public void setExpiration(long expirationTime)
+  {
+	this.expirationTime = expirationTime;
+  }
+  
+  /**
+   * Get the time at which this cache entry will expire.
+   * 
+   * @return The time at which this cache entry will expire.
+   */
+  public long getExpirationTime()
+  {
+	return expirationTime;
+  }
+  
+  /**
+   * Get the remote URI for this cache entry.
+   * 
+   * @return The remote URI for this cache entry.
+   */
+  public String getURI()
+  {
+	return uri;
+  }
+  
+  /**
+   * Get the local file for this cache entry.
+   * 
+   * @return The local file for this cache entry.
+   */
+  public String getLocalFile()
+  {
+	return localFile;
+  }
+  
+  /**
+   * Get the last time this cache entry was modified.
+   * 
+   * @return The last time this cache entry was modified.
+   */
+  public long getLastModified()
+  {
+	return lastModified;
+  }
+  
+  /**
+   * Set the last time this cache entry was modified.
+   */
+  public void setLastModified(long lastModified)
+  {
+	this.lastModified = lastModified;
+  }
+}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheJob.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheJob.java
new file mode 100644
index 0000000..8108abc
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheJob.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+
+/**
+ * A cache job runs once an hour to cache any prespecified resources which
+ * should be cached and any resources for which an attempt was previously 
+ * made to cache them but they were unable to be cached.
+ */
+public class CacheJob extends Job
+{
+  private static final String _UI_CACHE_MONITOR_NAME = "_UI_CACHE_MONITOR_NAME";
+  private static final String _UI_CACHE_MONITOR_CACHING = "_UI_CACHE_MONITOR_CACHING";
+  private String[] specifiedURIsToCache = null;
+  private static final long SCHEDULE_TIME = 3600000;
+
+  /**
+   * Constructor.
+   */
+  public CacheJob()
+  {
+    super(CachePlugin.getResourceString(_UI_CACHE_MONITOR_NAME));
+    //specifiedURIsToCache = ToCacheRegistryReader.getInstance().getURIsToCache();
+  }
+
+  /**
+   * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
+   */
+  protected IStatus run(IProgressMonitor monitor)
+  {
+    Cache cache = Cache.getInstance();
+    String[] uncachedURIs = cache.getUncachedURIs();
+    int numUncachedURIs = uncachedURIs.length;
+    // Special case for the first time the job is run which will attemp to 
+    // cache specified resources.
+    if(specifiedURIsToCache != null)
+    {
+      int numSpecifiedURIs = specifiedURIsToCache.length;
+      String[] temp = new String[numUncachedURIs + numSpecifiedURIs];
+      System.arraycopy(specifiedURIsToCache, 0, temp, 0, numSpecifiedURIs);
+      System.arraycopy(uncachedURIs, 0, temp, numSpecifiedURIs, numUncachedURIs);
+      uncachedURIs = temp;
+      numUncachedURIs = uncachedURIs.length;
+      specifiedURIsToCache = null;
+    }
+
+    cache.clearUncachedURIs();
+    monitor.beginTask(CachePlugin.getResourceString(_UI_CACHE_MONITOR_NAME), numUncachedURIs);
+    try
+    {
+      for(int i = 0; i < numUncachedURIs; i++)
+      {
+        if (monitor.isCanceled())
+        {
+          for(int j = i; j < numUncachedURIs; j++)
+          {
+            cache.addUncachedURI(uncachedURIs[j]);
+          }
+          return Status.CANCEL_STATUS;
+        }
+        String uri = uncachedURIs[i];
+        monitor.subTask(CachePlugin.getResourceString(_UI_CACHE_MONITOR_CACHING, uri));
+        cache.getResource(uri);
+        monitor.worked(1);
+        monitor.subTask("");
+      }
+      monitor.done();
+      return Status.OK_STATUS;
+    } 
+    finally
+    {
+      schedule(SCHEDULE_TIME); // schedule the next time the job should run
+    }
+  }
+
+}
+
+
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java
new file mode 100644
index 0000000..9001763
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePlugin.java
@@ -0,0 +1,241 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal;
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Preferences;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.wst.internet.cache.internal.preferences.PreferenceConstants;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+public class CachePlugin extends AbstractUIPlugin 
+{
+  /**
+   * The ID of this plugin.
+   */
+  public static final String PLUGIN_ID = "org.eclipse.wst.internet.cache";
+
+  /**
+   * The shared instance.
+   */
+  private static CachePlugin plugin;
+
+  /**
+   * The cache job caches resources that were not able to be downloaded when requested.
+   */
+  private CacheJob job = null;
+
+  /**
+   * The constructor.
+   */
+  public CachePlugin() 
+  {
+	super();
+	plugin = this;
+  }
+
+  /**
+   * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+   */
+  public void start(BundleContext context) throws Exception 
+  {
+	super.start(context);
+	ToCacheRegistryReader.getInstance().readRegistry();
+	Cache.open(Platform.getPluginStateLocation(this));
+	if (getPluginPreferences().contains(PreferenceConstants.CACHE_ENABLED)) 
+	{
+	  setCacheEnabled(getPluginPreferences().getBoolean(PreferenceConstants.CACHE_ENABLED));
+	} 
+	else 
+	{
+	  // The cache is disabled by default.
+	  setCacheEnabled(false);
+	}
+	
+	// Restore license preferences
+	Preferences prefs = getPluginPreferences();
+	LicenseRegistry registry = LicenseRegistry.getInstance();
+	String[] licenses = registry.getLicenses();
+	int numLicenses = licenses.length;
+	for(int i = 0; i < numLicenses; i++)
+	{
+	  int state = prefs.getInt(licenses[i]);
+	  if(state == LicenseRegistry.LICENSE_AGREE.intValue())
+	  {
+		registry.agreeLicense(licenses[i]);
+	  }
+	  else if(state == LicenseRegistry.LICENSE_DISAGREE.intValue())
+	  {
+		registry.disagreeLicense(licenses[i]);
+	  }
+	}
+  }
+
+  /**
+   * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+   */
+  public void stop(BundleContext context) throws Exception 
+  {
+	// Save the license state information.
+	Preferences prefs = getPluginPreferences();
+	LicenseRegistry registry = LicenseRegistry.getInstance();
+	String[] licenses = registry.getLicenses();
+	int numLicenses = licenses.length;
+	for(int i = 0; i < numLicenses; i++)
+	{
+	  Integer state = registry.getLicenseState(licenses[i]);
+      // For states that have been disagreed to this session store
+	  // them as disagree.
+	  if(state == LicenseRegistry.LICENSE_DISAGREE_THIS_SESSION)
+	  {
+		state = LicenseRegistry.LICENSE_DISAGREE;
+	  }
+	  prefs.setValue(licenses[i], state.intValue());
+	}
+	
+	Cache.getInstance().close();
+	stopJob();
+	super.stop(context);
+	plugin = null;
+  }
+
+  /**
+   * Returns the shared instance.
+   * 
+   * @return The shared instance.
+   */
+  public static CachePlugin getDefault() 
+  {
+	return plugin;
+  }
+
+  /**
+   * Returns the string from the plugin's resource bundle, or 'key' if not found.
+   * 
+   * @param key The key for which the string is requested.
+   * @return The string from the plugin's resource bundle, or 'key' if not found.
+   */
+  public static String getResourceString(String key) 
+  {
+	ResourceBundle bundle = ResourceBundle
+			.getBundle("org.eclipse.wst.internet.cache.internal.CachePluginResources");
+	try 
+	{
+	  return (bundle != null) ? bundle.getString(key) : key;
+	} 
+	catch (MissingResourceException e) 
+	{
+	  return key;
+	}
+  }
+
+  /**
+   * Returns the string from the plugin's resource bundle using the specified
+   * object, or 'key' if not found.
+   * 
+   * @param key The key for which the string is requested.
+   * @param s1 The object to insert into the string.
+   * @return The formatted string.
+   */
+  public static String getResourceString(String key, Object s1) 
+  {
+	return MessageFormat.format(getResourceString(key), new Object[] { s1 });
+  }
+
+  /**
+   * Set whether or not the cache is enabled.
+   * 
+   * @param enabled If true the cache is enabled, if false it is not enabled.
+   */
+  public void setCacheEnabled(boolean enabled) 
+  {
+	getPluginPreferences().setValue(PreferenceConstants.CACHE_ENABLED, enabled);
+	if (enabled) 
+	{
+	  startJob();
+	} 
+	else 
+	{
+	  stopJob();
+	}
+  }
+
+  /**
+   * Returns true if the cache is enabled, false otherwise.
+   * 
+   * @return True if the cache is enabled, false otherwise.
+   */
+  public boolean isCacheEnabled() 
+  {
+	if (getPluginPreferences().contains(PreferenceConstants.CACHE_ENABLED))
+	  return getPluginPreferences().getBoolean(PreferenceConstants.CACHE_ENABLED);
+	return true;
+  }
+  
+  /**
+   * Set whether or not the user should be prompted for licenses to which they 
+   * have previously disagreed.
+   * 
+   * @param prompt If true the the user should be prompted, if false the user should not be prompted.
+   */
+  public void setPromptDisagreedLicenses(boolean prompt) 
+  {
+	getPluginPreferences().setValue(PreferenceConstants.PROMPT_DISAGREED_LICENSES, prompt);
+  }
+
+  /**
+   * Returns true if the the user should be prompted for licenses to which they
+   * have previously disagreed, false otherwise.
+   * 
+   * @return True if the user should be prompted, false otherwise.
+   */
+  public boolean shouldPrompt() 
+  {
+	if (getPluginPreferences().contains(PreferenceConstants.PROMPT_DISAGREED_LICENSES))
+	  return getPluginPreferences().getBoolean(PreferenceConstants.PROMPT_DISAGREED_LICENSES);
+	return true;
+  }
+
+  /**
+   * Start the cache job. The cache job caches resources that were not able to be previously
+   * downloaded.
+   */
+  private void startJob() 
+  {
+	if (job == null) 
+	{
+	  job = new CacheJob();
+	  job.setPriority(CacheJob.DECORATE);
+	  job.schedule(); // start as soon as possible
+	}
+  }
+
+  /**
+   * Stop the cache job. The cache job caches resources that were not able to be previously
+   * downloaded.
+   */
+  private void stopJob() 
+  {
+	if (job != null) 
+	{
+	  job.cancel();
+	}
+	job = null;
+  }
+}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties
new file mode 100644
index 0000000..05729d2
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CachePluginResources.properties
@@ -0,0 +1,41 @@
+###############################################################################
+# Copyright (c) 2005 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+
+# Cache preference page strings.
+_UI_CONFIRM_CLEAR_CACHE_DIALOG_TITLE             = Remove All?
+_UI_CONFIRM_CLEAR_CACHE_DIALOG_MESSAGE           = Remove all cache entries?
+_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_TITLE      = Remove Entries?
+_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE    = Remove all selected cache entries?
+_UI_BUTTON_CLEAR_CACHE                           = Remove &All
+_UI_BUTTON_DELETE_ENTRY                          = &Remove
+_UI_PREF_CACHE_ENTRIES_TITLE                     = &Cache entries:
+_UI_PREF_CACHE_CACHE_OPTION                      = &Disable caching
+_UI_PREF_CACHE_ABOUT                             = Manage the cache of remote resources, such as those downloaded from the internet.
+_UI_PREF_PROMPT_FOR_DISAGREED_LICENSES           = &Prompt me for agreement for licenses for whose terms I have already disagreed.
+
+# Cache monitor strings.
+_UI_CACHE_MONITOR_NAME                           = Caching Remote Resources
+_UI_CACHE_MONITOR_CACHING                        = Caching {0}
+
+# Cache license dialog
+_UI_CACHE_DIALOG_LICENSE_STATEMENT1              = A request has been made to cache the resource:
+_UI_CACHE_DIALOG_LICENSE_STATEMENT2              = In order to cache the resource you must agree to the license below:
+_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL  = In order to cache the resource you must agree to the license which has been opened in your browser.
+_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER   = The license cannot be displayed in this dialog. In order to cache the resource you must agree to the license located at {0}.
+_UI_CACHE_DIALOG_AGREE_BUTTON                    = I Agree
+_UI_CACHE_DIALOG_DISAGREE_BUTTON                 = I Disagree
+_UI_CACHE_DIALOG_TITLE                           = License Agreement
+
+# Cache logging messages
+_LOG_INFO_WTP_NO_USER_INTERACTION                = {0} is set. Licenses dialogs will not be displayed.
+
+# WTP test no user interaction system property
+WTP_NO_USER_INTERACTION_SYSTEM_PROP              = wtp.autotest.noninteractive
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheURIResolverExtension.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheURIResolverExtension.java
new file mode 100644
index 0000000..f6518f2
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/CacheURIResolverExtension.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
+import org.eclipse.wst.common.uriresolver.internal.util.URIHelper;
+
+/**
+ * A cache URI resolver. This resolver will cache remote resources and return
+ * the local copy if they can be cached. If a resource cannot be cached the
+ * resource returns null.
+ */
+public class CacheURIResolverExtension implements URIResolverExtension 
+{
+	/**
+	 * @see org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension#resolve(org.eclipse.core.resources.IProject, java.lang.String, java.lang.String, java.lang.String)
+	 */
+	public String resolve(IFile file, String baseLocation, String publicId, String systemId)
+	{ 
+      if(CachePlugin.getDefault().isCacheEnabled())
+      {
+		  String resource = null;
+		  if(systemId != null)
+		  {
+		    resource = URIHelper.normalize(systemId, baseLocation, null);
+		  } 
+		  
+		  if(resource != null && (resource.startsWith("http:") || resource.startsWith("ftp:")))
+		  {
+		    // Handle resources prespecified to cache.
+		    ToCacheResource toCacheResource = ToCacheRegistryReader.getInstance().getResourceToCache(resource);
+		    if(toCacheResource == null || LicenseRegistry.getInstance().hasLicenseBeenAccepted(resource, toCacheResource.getLicense()))
+		    { 	
+		      return Cache.getInstance().getResource(resource);
+		    }
+		  }
+      }
+	  return null;
+	}
+}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java
new file mode 100644
index 0000000..a26a254
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseAcceptanceDialog.java
@@ -0,0 +1,258 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.internet.cache.internal;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Hashtable;
+
+import org.eclipse.jface.dialogs.IconAndMessageDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * A dialog that prompts the user to accept a license agreement.
+ */
+public class LicenseAcceptanceDialog extends IconAndMessageDialog 
+{
+  /**
+   * Externalized string keys.
+   */
+  private static final String _UI_CACHE_DIALOG_LICENSE_STATEMENT1 = "_UI_CACHE_DIALOG_LICENSE_STATEMENT1";
+  private static final String _UI_CACHE_DIALOG_LICENSE_STATEMENT2 = "_UI_CACHE_DIALOG_LICENSE_STATEMENT2";
+  private static final String _UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL = "_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL";
+  private static final String _UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER = "_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER";
+  private static final String _UI_CACHE_DIALOG_AGREE_BUTTON = "_UI_CACHE_DIALOG_AGREE_BUTTON";
+  private static final String _UI_CACHE_DIALOG_DISAGREE_BUTTON = "_UI_CACHE_DIALOG_DISAGREE_BUTTON";
+  private static final String _UI_CACHE_DIALOG_TITLE = "_UI_CACHE_DIALOG_TITLE";
+
+  /**
+   * Holds all the dialogs that are currently displayed keyed by the license URL.
+   */
+  private static Hashtable dialogsInUse = new Hashtable();
+  
+  /**
+   * The URL of the resource.
+   */
+  private String url;
+
+  /**
+   * The URL of the license.
+   */
+  private String licenseURL;
+  
+  /**
+   * Constructor.
+   * 
+   * @param parent The parent of this dialog.
+   * @param url The license URL.
+   */
+  protected LicenseAcceptanceDialog(Shell parent, String url, String licenseURL) 
+  {
+    super(parent);
+	this.url = url;
+	this.licenseURL = licenseURL;
+  }
+  
+  /**
+   * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
+   */
+  protected void configureShell(Shell shell) 
+  {
+    super.configureShell(shell);
+    shell.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_TITLE));
+    shell.setImage(null);
+  }
+
+  /**
+   * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
+   */
+  protected Control createButtonBar(Composite parent) 
+  {
+	Composite buttonBar = new Composite(parent, SWT.NONE);
+	GridLayout layout = new GridLayout();
+	layout.numColumns = 0;
+	layout.makeColumnsEqualWidth = true;
+	buttonBar.setLayout(layout);
+	GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
+	buttonBar.setLayoutData(gd);
+	
+	// Create the agree button.
+	createButton(buttonBar, LicenseAcceptanceDialog.OK, 
+			CachePlugin.getResourceString(_UI_CACHE_DIALOG_AGREE_BUTTON), false);
+
+	// Create the disagree button.
+	createButton(buttonBar, LicenseAcceptanceDialog.CANCEL, 
+			CachePlugin.getResourceString(_UI_CACHE_DIALOG_DISAGREE_BUTTON), false);
+	
+	return buttonBar;
+  }
+
+  /**
+   * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
+   */
+  protected Control createContents(Composite parent) 
+  {
+	Composite composite = new Composite(parent, SWT.NONE);
+	GridLayout layout = new GridLayout();
+	composite.setLayout(layout);
+	GridData gd = new GridData(SWT.FILL);
+	gd.widthHint = 500;
+	composite.setLayoutData(gd);
+
+	// Display a statement about the license.
+	Label licenseText1 = new Label(composite, SWT.NONE);
+	licenseText1.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_LICENSE_STATEMENT1));
+	Label urlText = new Label(composite, SWT.WRAP);
+	gd = new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1);
+	urlText.setLayoutData(gd);
+	urlText.setText(url);
+	new Label(composite, SWT.NONE); // Spacing label.
+	Label licenseText2 = new Label(composite, SWT.WRAP);
+	gd = new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1);
+	licenseText2.setLayoutData(gd);
+	
+	// Display the license in a browser.
+	try
+	{
+	  Browser browser = new Browser(composite, SWT.BORDER);
+	  gd = new GridData(GridData.FILL_BOTH);
+	  gd.heightHint = 400;
+	  browser.setUrl(licenseURL);
+	  browser.setLayoutData(gd);
+	  licenseText2.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_LICENSE_STATEMENT2));
+	}
+	catch(Throwable e)
+	{
+	  // The browser throws an exception on platforms that do not support it. 
+	  // In this case we need to create an external browser.
+	  try
+	  {
+	    CachePlugin.getDefault().getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(licenseURL));
+	    licenseText2.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_INTERNAL));
+	  }
+	  catch(Exception ex)
+	  {
+		// In this case the license cannot be display. Inform the user of this and give them the license location.
+		licenseText2.setText(CachePlugin.getResourceString(_UI_CACHE_DIALOG_LICENSE_STATEMENT2_NO_BROWSER, licenseURL));
+	  }
+	}
+
+	createButtonBar(composite);
+		
+	return composite;
+  }
+
+  /**
+   * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
+   */
+  protected Image getImage() 
+  {
+	return getInfoImage();
+  }
+
+  /**
+   * Prompt the user to accept the specified license. This method creates the
+   * dialog and returns the result.
+   * 
+   * @param parent The parent of this dialog.
+   * @param url The URL of the resource for which the license must be accepted.
+   * @param licenseURL The license URL.
+   * @return True if the license is accepted, false otherwise.
+   */
+  public static boolean promptForLicense(Shell parent, String url, String licenseURL) throws IOException
+  {
+	boolean agreedToLicense = false;
+	boolean newDialog = true;
+	LicenseAcceptanceDialog dialog = null;
+	// If the dialog is already displayed for this license use it instead of 
+	// displaying another dialog.
+	if(dialogsInUse.containsKey(licenseURL))
+	{
+	  newDialog = false;
+	  dialog = (LicenseAcceptanceDialog)dialogsInUse.get(licenseURL);
+	}
+	else
+	{
+	  //BufferedReader bufreader = null;
+	  InputStream is = null;
+//	  StringBuffer source = new StringBuffer();
+	  try
+	  {
+	    URL urlObj = new URL(licenseURL);
+	    is = urlObj.openStream();
+//        if (urlObj != null)
+//        {
+//          bufreader = new BufferedReader(new InputStreamReader(urlObj.openStream()));
+//
+//          if (bufreader != null)
+//          {
+//            while (bufreader.ready())
+//            {
+//              source.append(bufreader.readLine());
+//            }
+//          }
+//        } 
+	    dialog = new LicenseAcceptanceDialog(parent, url, licenseURL);
+	    dialogsInUse.put(licenseURL, dialog);
+	    dialog.setBlockOnOpen(true);
+	  }
+	  catch(Exception e)
+	  {
+		throw new IOException("The license cannot be opened.");
+	  }
+	  finally
+	  {
+//		if(bufreader != null)
+//		{
+//		  bufreader.close();
+//		}
+		if(is != null)
+		{
+		  try
+		  {
+			is.close();
+		  }
+		  catch(IOException e)
+		  {
+		    // Do nothing.
+		  }
+		}
+	  }
+	}
+	if(dialog != null)
+	{
+	  dialog.open();
+	  
+	  if (dialog.getReturnCode() == LicenseAcceptanceDialog.OK) 
+	  {
+		agreedToLicense = true;
+      }
+		
+	  if(newDialog)
+	  {
+       dialogsInUse.remove(licenseURL);
+	  }
+	}
+	
+	
+	 
+	return agreedToLicense;
+  }
+}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java
new file mode 100644
index 0000000..6a66bc5
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/LicenseRegistry.java
@@ -0,0 +1,252 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.internet.cache.internal;
+
+import java.util.Hashtable;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * The license registry holds all of the registered licenses and whether or not they
+ * have been accepted.
+ */
+public class LicenseRegistry 
+{
+  protected static Integer LICENSE_UNSPECIFIED = new Integer(0); // This needs to be 0 for the plugin prefs.
+  protected static Integer LICENSE_AGREE = new Integer(1);
+  protected static Integer LICENSE_DISAGREE = new Integer(2);
+  // Signifies a license that has been disagreed to this session.
+  protected static Integer LICENSE_DISAGREE_THIS_SESSION = new Integer(3);
+  
+  protected final static String _LOG_INFO_WTP_NO_USER_INTERACTION = "_LOG_INFO_WTP_NO_USER_INTERACTION";
+  
+  protected final static String WTP_NO_USER_INTERACTION_SYSTEM_PROP = CachePlugin.getResourceString("WTP_NO_USER_INTERACTION_SYSTEM_PROP");
+  
+  /**
+   * There is only one instance of the license registry.
+   */
+  protected static LicenseRegistry instance = null;
+  
+  /**
+   * If set to true, the do not prompt flag will prevent user prompting. Used for automated testing.
+   */
+  private boolean DO_NOT_PROMPT = false;
+  
+  /**
+   * The licenses hashtable contains licenses and whether or not they've been accepted.
+   */
+  protected Hashtable licenses;
+  
+  protected LicenseRegistry()
+  {
+	licenses = new Hashtable();
+	
+	// If the wtp quiet system property is set the DO_NOT_PROMPT flag is set to true.
+	// This is used for automated testing.
+	if(System.getProperty(WTP_NO_USER_INTERACTION_SYSTEM_PROP, "false").equals("true"))
+	{
+	  CachePlugin.getDefault().getLog().log(new Status(IStatus.INFO, CachePlugin.PLUGIN_ID, IStatus.OK, CachePlugin.getResourceString(_LOG_INFO_WTP_NO_USER_INTERACTION, WTP_NO_USER_INTERACTION_SYSTEM_PROP), null));
+	  DO_NOT_PROMPT = true;
+	}
+  }
+  
+  /**
+   * Get the one and only instance of the license registry.
+   * 
+   * @return The one and only instance of the license registry.
+   */
+  public static LicenseRegistry getInstance()
+  {
+	if(instance == null)
+	{
+	  instance = new LicenseRegistry();
+	}
+	return instance;
+  }
+  
+  /**
+   * Add the specified license to the license registry. A license can only be added to the
+   * registry once.
+   * 
+   * @param url The URL of the license to add to the registry.
+   */
+  public void addLicense(String url)
+  {
+	if(url != null && !licenses.containsKey(url))
+	{
+	  licenses.put(url, LICENSE_UNSPECIFIED);
+	}
+  }
+  
+  /**
+   * Agree to the specified license. The license is agreed to only if it has already
+   * been registered with the registry.
+   * 
+   * @param url The URL of the license to accept.
+   */
+  protected void agreeLicense(String url)
+  {
+	if(licenses.containsKey(url))
+	{
+	  licenses.put(url, LICENSE_AGREE);
+	}
+  }
+  
+  /**
+   * Disagree to the specified license. The license is disagreed to only if it has already
+   * been registered with the registry.
+   * 
+   * @param url The URL of the license to accept.
+   */
+  protected void disagreeLicense(String url)
+  {
+	if(licenses.containsKey(url))
+	{
+	  licenses.put(url, LICENSE_DISAGREE);
+	}
+  }
+  
+  /**
+   * Disagree to the specified license for this session. The license is disagreed to only if it has already
+   * been registered with the registry. 
+   * 
+   * @param url The URL of the license to accept.
+   */
+  private void disagreeLicenseThisSession(String url)
+  {
+	if(licenses.containsKey(url))
+	{
+	  licenses.put(url, LICENSE_DISAGREE_THIS_SESSION);
+	}
+  }
+  
+  /**
+   * Determine if the license has been accepted. This method will return true if the license
+   * has been accepted or is not registered with the registry and false if it has not been accepted. 
+   * 
+   * @param url The URL of the resource for which we are checking the license.
+   * @param licenseURL The URL of the license that should be checked to see if it has been accepted.
+   * @return True if the license has been accepted or is not registered with the registry, false otherwise.
+   */
+  public boolean hasLicenseBeenAccepted(String url, String licenseURL)
+  {
+	if(DO_NOT_PROMPT)
+	{
+	  return true;
+	}
+	
+	if(licenses.containsKey(licenseURL))
+	{
+	  Integer agreed = (Integer)licenses.get(licenseURL);
+	  if(agreed == LICENSE_AGREE)
+	  {
+		return true;
+	  }
+	  else if(agreed == LICENSE_DISAGREE)
+	  {
+		if(!CachePlugin.getDefault().shouldPrompt())
+		  return false;
+		licenses.put(licenseURL, LICENSE_DISAGREE_THIS_SESSION);
+	  }
+	  // The license has already been disagreed to this session. Do not prompt.
+	  else if(agreed == LICENSE_DISAGREE_THIS_SESSION)
+	  {
+		return false;
+	  }
+		  
+	  
+	  // Prompt the user to accept the license.
+	  int licenseAcceptance = promptToAcceptLicense(url, licenseURL);
+	  if(licenseAcceptance == Accepted.ACCEPTED)
+	  {
+		agreeLicense(licenseURL);
+		return true;
+	  }
+	  else if(licenseAcceptance == Accepted.NOT_ACCEPTED)
+	  {
+	    disagreeLicenseThisSession(licenseURL);
+	    return false;
+	  }
+	  return false;
+	}
+	
+	// The license is not registred with the registry.
+	return true;
+  }
+  
+  /**
+   * Prompt the user to accept the license. This method creates a LicenseAcceptanceDialog.
+   * 
+   * @param url The URL of the resource for which the license needs to be accepted.
+   * @param licenseURL The URL of the license to be accepted. 
+   * @return 0 if accepted, 1 if not accepted, 2 if not able to accept.
+   */
+  protected int promptToAcceptLicense(final String url, final String licenseURL) 
+  {
+	final Accepted accepted = new Accepted();
+	  Display.getDefault().syncExec(new Runnable() {
+			public void run() {
+				try
+				{
+				  if(LicenseAcceptanceDialog.promptForLicense(null, url, licenseURL))
+				  {
+					accepted.accepted = Accepted.ACCEPTED;
+				  }
+				  else
+				  {
+					accepted.accepted = Accepted.NOT_ACCEPTED;
+				  }
+				}
+				catch(Exception e)
+				{
+				  accepted.accepted = Accepted.NOT_DETERMINED;
+				}
+			}
+		});
+	return accepted.accepted;
+  }
+  
+  /**
+   * Get an array containing all the licenses in the registry.
+   * 
+   * @return As array containing all the licenses in the registry. 
+   */
+  protected String[] getLicenses()
+  {
+	return (String[])licenses.keySet().toArray(new String[licenses.keySet().size()]);
+  }
+  
+  /**
+   * Get the state of the license.
+   * 
+   * @param url The URL of the license.
+   * @return The state of the license.
+   */
+  protected Integer getLicenseState(String url)
+  {
+	return (Integer)licenses.get(url);
+  }
+  
+  
+  /**
+   * A class to hold acceptance information for the prompt method.
+   */
+  private class Accepted
+  {
+	public static final int ACCEPTED = 0;
+	public static final int NOT_ACCEPTED = 1;
+	public static final int NOT_DETERMINED = 2;
+	public int accepted = NOT_ACCEPTED;
+  }
+
+}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheRegistryReader.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheRegistryReader.java
new file mode 100644
index 0000000..9673376
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheRegistryReader.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal;
+
+import java.util.Hashtable;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+
+/**
+ * The ToCacheRegistryReaders reads Eclipse extensions which specify
+ * resources to cache. An extension point looks like the following.
+ * 
+ *  <extension point="org.eclipse.wst.internet.cache.cacheresource">
+ *    <cacheresource uri="URI_TO_CACHE" license="URI_OF_LICENSE"/>
+ *  </extension> 
+ *
+ */
+public class ToCacheRegistryReader
+{
+  protected static final String PLUGIN_ID = "org.eclipse.wst.internet.cache";
+  protected static final String EXTENSION_POINT_ID = "cacheresource";
+  protected static final String ATT_URL = "url";
+  protected static final String ATT_LICENSE = "license";
+ 
+  private static ToCacheRegistryReader registryReader = null;
+  
+  private Hashtable resourcesToCache = new Hashtable();
+
+  /**
+   * Get the one and only instance of this registry reader.
+   * 
+   * @return The one and only instance of this registry reader.
+   */
+  public static ToCacheRegistryReader getInstance()
+  {
+    if(registryReader == null)
+    {
+      registryReader = new ToCacheRegistryReader();
+    }
+    return registryReader;
+  }
+  /**
+   * Read from plugin registry and handle the configuration elements that match
+   * the spedified elements.
+   */
+  public void readRegistry()
+  {
+    IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
+    IExtensionPoint point = pluginRegistry.getExtensionPoint(PLUGIN_ID, EXTENSION_POINT_ID);
+    if (point != null)
+    {
+      IConfigurationElement[] elements = point.getConfigurationElements();
+      for (int i = 0; i < elements.length; i++)
+      {
+        ToCacheResource toCacheResource = readElement(elements[i]);
+        if(toCacheResource != null)
+        {
+          resourcesToCache.put(toCacheResource.getURL(), toCacheResource);
+          LicenseRegistry.getInstance().addLicense(toCacheResource.getLicense());
+        }
+      }
+    }
+  }
+
+  /**
+   * Parse and deal with the extension points.
+   * 
+   * @param element The extension point element.
+   */
+  protected ToCacheResource readElement(IConfigurationElement element)
+  {
+	
+    if(element.getName().equals(EXTENSION_POINT_ID))
+    {
+      String url = element.getAttribute(ATT_URL);
+      if(url != null)
+      {
+    	String license = element.getAttribute(ATT_LICENSE);
+    	return new ToCacheResource(url, license);
+      }
+    }
+    return null;
+  }
+  
+  /**
+   * Get the list of URIs that have been specified for caching.
+   * 
+   * @return The list of URIs that have been specified for caching.
+   */
+  public String[] getURIsToCache()
+  {
+    return (String[])resourcesToCache.keySet().toArray(new String[resourcesToCache.size()]);
+  }
+  
+  /**
+   * Get the resource to cache if one has been specified.
+   * 
+   * @param url The URL of the resource to cache.
+   * @return A ToCacheResource object representing the URL or null if none has been specified.
+   */
+  public ToCacheResource getResourceToCache(String url)
+  {
+	return (ToCacheResource)resourcesToCache.get(url);
+  }
+}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheResource.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheResource.java
new file mode 100644
index 0000000..3f6778b
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/ToCacheResource.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.internet.cache.internal;
+
+/**
+ * A resource that is specified to be cached. The resource has a URL and an optional
+ * license.
+ */
+public class ToCacheResource 
+{
+  private String url;
+  private String license;
+  
+  /**
+   * Constructor.
+   * 
+   * @param url The URL of the resource to be cached.
+   * @param license The URL of the optional license for this resource.
+   */
+  public ToCacheResource(String url, String license)
+  {
+	this.url = url;
+	this.license = license;
+  }
+  
+  /**
+   * Get the URL of the resource to be cached.
+   * 
+   * @return The URL of the resource to be cached.
+   */
+  public String getURL()
+  {
+	return url;
+  }
+  
+  /**
+   * Get the license URL of the resource to be cached.
+   * 
+   * @return The license URL of the resource to be cached.
+   */
+  public String getLicense()
+  {
+	return license;
+  }
+}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java
new file mode 100644
index 0000000..5b8bd6c
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/CachePreferencePage.java
@@ -0,0 +1,323 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal.preferences;
+
+import java.util.Arrays;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.List;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.internet.cache.internal.Cache;
+import org.eclipse.wst.internet.cache.internal.CachePlugin;
+
+/**
+ * This class represents a preference page that is contributed to the
+ * Preferences dialog. This page contains options for the cache. The cache can
+ * be disabled, the list of entries in the cache can be viewed, and individual
+ * entries or the entire cache can be deleted.
+ */
+
+public class CachePreferencePage extends PreferencePage implements
+    IWorkbenchPreferencePage
+{
+  private static final String _UI_CONFIRM_CLEAR_CACHE_DIALOG_TITLE = "_UI_CONFIRM_CLEAR_CACHE_DIALOG_TITLE";
+
+  private static final String _UI_CONFIRM_CLEAR_CACHE_DIALOG_MESSAGE = "_UI_CONFIRM_CLEAR_CACHE_DIALOG_MESSAGE";
+
+  private static final String _UI_BUTTON_CLEAR_CACHE = "_UI_BUTTON_CLEAR_CACHE";
+
+  private static final String _UI_BUTTON_DELETE_ENTRY = "_UI_BUTTON_DELETE_ENTRY";
+
+  private static final String _UI_PREF_CACHE_ENTRIES_TITLE = "_UI_PREF_CACHE_ENTRIES_TITLE";
+
+  private static final String _UI_PREF_CACHE_CACHE_OPTION = "_UI_PREF_CACHE_CACHE_OPTION";
+
+  private static final String _UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_TITLE = "_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_TITLE";
+
+  private static final String _UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE = "_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE";
+  
+  private static final String _UI_PREF_CACHE_ABOUT = "_UI_PREF_CACHE_ABOUT";
+  
+  private static final String _UI_PREF_PROMPT_FOR_DISAGREED_LICENSES = "_UI_PREF_PROMPT_FOR_DISAGREED_LICENSES";
+
+  protected Button clearButton;
+
+  protected Button deleteButton;
+
+  protected Button enabledButton;
+  
+  protected Button disagreedLicensesButton;
+
+  protected List entries;
+
+  protected Composite composite = null;
+
+  /**
+   * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
+   */
+  public void dispose()
+  {
+    if (composite != null)
+    {
+      composite.dispose();
+    }
+    super.dispose();
+  }
+
+  /**
+   * Constructor.
+   */
+  public CachePreferencePage()
+  {
+    setPreferenceStore(CachePlugin.getDefault().getPreferenceStore());
+  }
+
+  /**
+   * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+   */
+  public void init(IWorkbench workbench)
+  {
+  }
+
+  /**
+   * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+   */
+  protected Control createContents(Composite parent)
+  {
+    noDefaultAndApplyButton();
+
+    composite = new Composite(parent, SWT.NULL);
+    GridLayout layout = new GridLayout();
+    layout.numColumns = 2;
+    layout.horizontalSpacing = convertHorizontalDLUsToPixels(4);
+    layout.verticalSpacing = convertVerticalDLUsToPixels(3);
+    layout.marginWidth = 0;
+    layout.marginHeight = 0;
+    composite.setLayout(layout);
+    GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);
+    composite.setLayoutData(gd);
+    
+    Label aboutLabel = new Label(composite, SWT.WRAP);
+    aboutLabel.setText(CachePlugin.getResourceString(_UI_PREF_CACHE_ABOUT));
+    GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+    gridData.horizontalSpan = 2;
+    aboutLabel.setLayoutData(gridData);
+    new Label(composite, SWT.None);
+    try
+    {
+      // Created the disable cache option.
+      enabledButton = new Button(composite, SWT.CHECK | SWT.LEFT);
+      gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+      gridData.horizontalSpan = 2;
+      enabledButton.setLayoutData(gridData);
+      enabledButton.setText(CachePlugin
+          .getResourceString(_UI_PREF_CACHE_CACHE_OPTION));
+      enabledButton.setSelection(!CachePlugin.getDefault().getPreferenceStore()
+          .getBoolean(PreferenceConstants.CACHE_ENABLED));
+      enabledButton.addSelectionListener(new SelectionListener()
+      {
+
+        public void widgetDefaultSelected(SelectionEvent e)
+        {
+          widgetSelected(e);
+
+        }
+
+        public void widgetSelected(SelectionEvent e)
+        {
+          boolean disabled = enabledButton.getSelection();
+          CachePlugin.getDefault().setCacheEnabled(!disabled);
+        }
+
+      });
+      
+      disagreedLicensesButton = new Button(composite, SWT.CHECK | SWT.LEFT);
+      gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+      gridData.horizontalSpan = 2;
+      disagreedLicensesButton.setLayoutData(gridData);
+      disagreedLicensesButton.setText(CachePlugin
+          .getResourceString(_UI_PREF_PROMPT_FOR_DISAGREED_LICENSES));
+      disagreedLicensesButton.setSelection(CachePlugin.getDefault().getPreferenceStore()
+          .getBoolean(PreferenceConstants.PROMPT_DISAGREED_LICENSES));
+      disagreedLicensesButton.addSelectionListener(new SelectionListener()
+      {
+
+        public void widgetDefaultSelected(SelectionEvent e)
+        {
+          widgetSelected(e);
+
+        }
+
+        public void widgetSelected(SelectionEvent e)
+        {
+          boolean prompt = disagreedLicensesButton.getSelection();
+          CachePlugin.getDefault().setPromptDisagreedLicenses(prompt);
+        }
+
+      });
+
+      // Create the entities group.
+      Label entriesLabel = new Label(composite, SWT.WRAP);
+      entriesLabel.setText(CachePlugin.getResourceString(_UI_PREF_CACHE_ENTRIES_TITLE));
+      gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+      gridData.horizontalSpan = 2;
+      entriesLabel.setLayoutData(gridData);
+
+      entries = new List(composite, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
+      PlatformUI.getWorkbench().getHelpSystem().setHelp(entries,
+          ContextIds.PREF_ENTRIES);
+      String[] cacheEntries = Cache.getInstance().getCachedURIs();
+      Arrays.sort(cacheEntries);
+      entries.setItems(cacheEntries);
+      gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL
+          | GridData.VERTICAL_ALIGN_FILL);
+      gridData.grabExcessHorizontalSpace = true;
+      gridData.grabExcessVerticalSpace = true;
+      entries.setLayoutData(gridData);
+      entries.addSelectionListener(new SelectionAdapter()
+      {
+        public void widgetSelected(SelectionEvent event)
+        {
+          setPreferenceWidgets();
+        }
+      });
+
+      Composite buttonComposite = new Composite(composite, SWT.NULL);
+      GridLayout gridLayout = new GridLayout();
+      gridLayout.horizontalSpacing = 0;
+      gridLayout.verticalSpacing = convertVerticalDLUsToPixels(3);
+      gridLayout.marginWidth = 0;
+      gridLayout.marginHeight = 0;
+      gridLayout.numColumns = 1;
+      buttonComposite.setLayout(gridLayout);
+      gridData = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_FILL | SWT.TOP);
+      buttonComposite.setLayoutData(gridData);
+      // Create the Delete button
+      deleteButton = new Button(buttonComposite, SWT.PUSH);
+      deleteButton.setText(CachePlugin
+          .getResourceString(_UI_BUTTON_DELETE_ENTRY));
+      gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
+      gridData.grabExcessHorizontalSpace = true;
+      deleteButton.setLayoutData(gridData);
+      deleteButton.addSelectionListener(new SelectionAdapter()
+      {
+        public void widgetSelected(SelectionEvent event)
+        {
+          if (MessageDialog
+              .openConfirm(
+                  Display.getDefault().getActiveShell(),
+                  CachePlugin.getResourceString(_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_TITLE),
+                  CachePlugin.getResourceString(_UI_CONFIRM_DELETE_CACHE_ENTRY_DIALOG_MESSAGE)))
+          {
+            String[] selectedEntries = entries.getSelection();
+            int numSelectedEntries = selectedEntries.length;
+
+            Cache cache = Cache.getInstance();
+            for (int i = 0; i < numSelectedEntries; i++)
+            {
+              cache.deleteEntry(selectedEntries[i]);
+            }
+            String[] cacheEntries = cache.getCachedURIs();
+            Arrays.sort(cacheEntries);
+            entries.setItems(cacheEntries);
+            setPreferenceWidgets();
+          }
+        }
+      });
+
+      // Create the Clear Cache button
+      clearButton = new Button(buttonComposite, SWT.PUSH);
+      clearButton.setText(CachePlugin.getResourceString(_UI_BUTTON_CLEAR_CACHE));
+      gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
+      gridData.grabExcessHorizontalSpace = true;
+      clearButton.setLayoutData(gridData);
+      clearButton.addSelectionListener(new SelectionAdapter()
+      {
+        public void widgetSelected(SelectionEvent event)
+        {
+          if (MessageDialog.openConfirm(Display.getDefault().getActiveShell(),
+              CachePlugin.getResourceString(_UI_CONFIRM_CLEAR_CACHE_DIALOG_TITLE),
+              CachePlugin.getResourceString(_UI_CONFIRM_CLEAR_CACHE_DIALOG_MESSAGE)))
+          {
+            Cache cache = Cache.getInstance();
+            cache.clear();
+            String[] cacheEntries = cache.getCachedURIs();
+            Arrays.sort(cacheEntries);
+            entries.setItems(cacheEntries);
+            setPreferenceWidgets();
+          }
+        }
+      });
+
+    } catch (Throwable e)
+    {
+      //TODO: Log error
+    }
+    setPreferenceWidgets();
+
+    return composite;
+  }
+
+  /**
+   * Set the preference page widgets. There are a few rules. 1. If disabled, all
+   * of the widgets are diabled except for the disabled check box. 2. If
+   * enabled, all widgets are enabled except a. The delete button is enabled
+   * only if there is a selection in the list. b. The clear button is enabled
+   * only if there are items in the list.
+   */
+  public void setPreferenceWidgets()
+  {
+    if (composite != null && composite.getEnabled())
+    {
+      if (entries.getSelectionCount() > 0)
+      {
+        deleteButton.setEnabled(true);
+      } 
+      else
+      {
+        deleteButton.setEnabled(false);
+      }
+      if (entries.getItemCount() > 0)
+      {
+        clearButton.setEnabled(true);
+      } 
+      else
+      {
+        clearButton.setEnabled(false);
+      }
+      
+    }
+  }
+
+  /*
+   * @see PreferencePage#createControl(Composite)
+   */
+  public void createControl(Composite parent)
+  {
+    super.createControl(parent);
+    PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), ContextIds.PREF); //$NON-NLS-1$
+  }
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/ContextIds.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/ContextIds.java
new file mode 100644
index 0000000..259cafb
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/ContextIds.java
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.internet.cache.internal.preferences;
+
+import org.eclipse.wst.internet.cache.internal.CachePlugin;
+
+/**
+ * Constant ids for context help.
+ */
+public interface ContextIds {
+	public static final String PREF = CachePlugin.PLUGIN_ID + ".cpr0000";
+	public static final String PREF_ENTRIES = CachePlugin.PLUGIN_ID + ".cpr0002";
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java
new file mode 100644
index 0000000..a51c4ae
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceConstants.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal.preferences;
+
+/**
+ * Constant definitions for plug-in preferences
+ */
+public class PreferenceConstants 
+{
+  public static final String CACHE_ENABLED = "cacheEnabled";
+  
+  public static final String PROMPT_DISAGREED_LICENSES = "promptDisagreedLicenses";
+	
+}
diff --git a/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java
new file mode 100644
index 0000000..a7b4af9
--- /dev/null
+++ b/plugins/org.eclipse.wst.internet.cache/src/org/eclipse/wst/internet/cache/internal/preferences/PreferenceInitializer.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.internet.cache.internal.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+
+import org.eclipse.wst.internet.cache.internal.CachePlugin;
+
+/**
+ * Class used to initialize default preference values.
+ */
+public class PreferenceInitializer extends AbstractPreferenceInitializer 
+{
+  /**
+   * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+   */
+  public void initializeDefaultPreferences() 
+  {
+	IPreferenceStore store = CachePlugin.getDefault().getPreferenceStore();
+    store.setDefault(PreferenceConstants.CACHE_ENABLED, true);
+    store.setDefault(PreferenceConstants.PROMPT_DISAGREED_LICENSES, false);
+  }
+}