public void XElementAnnotationTestComplexNamespaceOverlappingModel()
        {
            XElement expectedAnnotation =
                new XElement("{http://foo}Annotation",
                             new XElement("{http://foo}Child",
                                          new XElement("{http://foo1}GrandChild",
                                                       new XElement("{http://foo}GreatGrandChild",
                                                                    "1"
                                                                    )
                                                       )
                                          ),
                             new XElement("{http://foo1}Child",
                                          new XElement("{http://foo}GrandChild",
                                                       "1"
                                                       )
                                          )
                             );

            AnnotationInfo annotationInfo = new AnnotationInfo()
            {
                Namespace = "http://foo", Name = "Annotation"
            };

            List <ElementInfo> annotationPath = new List <ElementInfo>()
            {
                new ElementInfo()
                {
                    Name = "Container", Type = AnnotatableElementType.EntityContainer
                },
                new ElementInfo()
                {
                    Name = "SimpleFunction", Type = AnnotatableElementType.FunctionImport
                }
            };
            ElementLocation annotationLocation = new ElementLocation()
            {
                Namespace = "Default", ElementPath = annotationPath
            };

            this.AnnotationRoundTripCsdlCheck(XElementAnnotationModelBuilder.ComplexNamespaceOverlappingCsdl(), expectedAnnotation, annotationInfo, annotationLocation, XElementAnnotationModelBuilder.ComplexNamespaceOverlappingModel());
        }