[359983] Registering CMOF package for XMI interchange.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/resource/XMI2UMLResourceFactoryImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/resource/XMI2UMLResourceFactoryImpl.java
index fa79755..dc62abf 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/resource/XMI2UMLResourceFactoryImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/resource/XMI2UMLResourceFactoryImpl.java
@@ -7,7 +7,7 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 359983
  * 
  */
 package org.eclipse.uml2.uml.internal.resource;
@@ -16,10 +16,13 @@
 
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.util.ExtendedMetaData;
 import org.eclipse.emf.ecore.xmi.XMLResource;
 
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.resource.CMOF2UMLResource;
 import org.eclipse.uml2.uml.resource.CMOF2UMLResourceHandler;
 import org.eclipse.uml2.uml.resource.XMI2UMLExtendedMetaData;
 import org.eclipse.uml2.uml.resource.XMI2UMLResource;
@@ -43,8 +46,13 @@
 	public Resource createResource(URI uri) {
 		XMI2UMLResource resource = (XMI2UMLResource) super.createResource(uri);
 
-		ExtendedMetaData extendedMetaData = new XMI2UMLExtendedMetaData(
+		EPackage.Registry ePackageRegistry = new EPackageRegistryImpl(
 			EPackage.Registry.INSTANCE);
+		ePackageRegistry.put(CMOF2UMLResource.CMOF_METAMODEL_NS_URI,
+			UMLPackage.eINSTANCE);
+
+		ExtendedMetaData extendedMetaData = new XMI2UMLExtendedMetaData(
+			ePackageRegistry);
 
 		Map<Object, Object> defaultSaveOptions = resource
 			.getDefaultSaveOptions();