[341549]  Fix containment modeling for entityGroups
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/plugin.xml b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/plugin.xml
index 3b82522..f6bf1b2 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/plugin.xml
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/plugin.xml
@@ -17,7 +17,10 @@
             uri="http://org.eclipse.jsf/mergetest1"/>     
       <standardMetaDataFile
             location="/testfiles/metadata/FileIncludeExternalModel.xml"
-            uri="http://org.eclipse.jsf/mergetest2"/>               
+            uri="http://org.eclipse.jsf/mergetest2"/>            
+      <standardMetaDataFile
+            location="/testfiles/metadata/FileIncludeExternalModel2.xml"
+            uri="http://org.eclipse.jsf/mergetest3"/>                  
       <standardMetaDataFile
             location="/testfiles/metadata/doesntexist.xml"
             uri=" http://org.eclipse.jsf/missingFile "/>
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelImplTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelImplTests.java
index 4273b74..66025da 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelImplTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/ModelImplTests.java
@@ -62,6 +62,9 @@
 		//EntityGroups
 		assertNotNull(model.getEntityGroups());
 		assertEquals(2, model.getEntityGroups().size());
+		
+		//test containment
+		assertEquals(model, model.getEntityGroups().get(0).getModel());
 	}
 
 	public void testFindIncludeGroup() {
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/updated/MergeTests.java b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/updated/MergeTests.java
index 61c8e26..1fbb427 100644
--- a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/updated/MergeTests.java
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/src/org/eclipse/jst/jsf/common/metadata/tests/updated/MergeTests.java
@@ -177,6 +177,33 @@
 		assertNotNull(entity);
 		assertEquals(0, entity.getChildEntities().size());
 		assertEquals(2, entity.getTraits().size());
+		
+		//do it again with another model to ensure that entity group from external model is still intact
+		uri =  "http://org.eclipse.jsf/mergetest3";
+		startTime(uri);
+		model = query.findTagLibraryModel(uri);
+		endTime();
+		assertNotNull(model);
+		
+		dumpMDTree(model, 0);
+		
+		//check model traits
+		assertEquals(1, model.getTraits().size());
+		trait = query.findTrait(model, "A1");
+		assertNotNull(trait);
+		assertEquals("A1FromEG1", TraitValueHelper.getValueAsString(trait));
+		
+		//check model entities
+		assertEquals(1, model.getChildEntities().size());
+		entity = query.findTagEntity(model, "a");
+		assertNotNull(entity);
+		assertEquals(0, entity.getChildEntities().size());
+		assertEquals(2, entity.getTraits().size());
+		
+		model = query.getQueryHelper().getModel("http://org.eclipse.jsf/mergetest1");
+		assertNotNull(model);
+		assertEquals(2, model.getEntityGroups().size());
+		
 	}
 
 	public void testLoadJSFCore(){
diff --git a/jsf/tests/org.eclipse.jst.jsf.metadata.tests/testfiles/metadata/FileIncludeExternalModel2.xml b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/testfiles/metadata/FileIncludeExternalModel2.xml
new file mode 100644
index 0000000..f5442db
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.metadata.tests/testfiles/metadata/FileIncludeExternalModel2.xml
@@ -0,0 +1,9 @@
+<metadatamodel 
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" 
+	xmlns:mdt="http://org.eclipse.jst.jsf.common.metadata/metadataTraitTypes.ecore"  
+	id="http://org.eclipse.jsf/mergetest3">
+	
+	<include-entity-group id="eg1" uri="http://org.eclipse.jsf/mergetest1"/>
+  	
+</metadatamodel>