private static EntityContainer ConvertToEntityContainer(
            System.Data.Entity.Core.SchemaObjectModel.EntityContainer element,
            DbProviderManifest providerManifest,
            Converter.ConversionCache convertedItemCache,
            Dictionary <SchemaElement, GlobalItem> newGlobalItems)
        {
            EntityContainer entityContainer = new EntityContainer(element.Name, Converter.GetDataSpace(providerManifest));

            newGlobalItems.Add((SchemaElement)element, (GlobalItem)entityContainer);
            foreach (EntityContainerEntitySet entitySet in element.EntitySets)
            {
                entityContainer.AddEntitySetBase((EntitySetBase)Converter.ConvertToEntitySet(entitySet, providerManifest, convertedItemCache, newGlobalItems));
            }
            foreach (EntityContainerRelationshipSet relationshipSet in element.RelationshipSets)
            {
                entityContainer.AddEntitySetBase((EntitySetBase)Converter.ConvertToAssociationSet(relationshipSet, providerManifest, convertedItemCache, entityContainer, newGlobalItems));
            }
            foreach (System.Data.Entity.Core.SchemaObjectModel.Function functionImport in element.FunctionImports)
            {
                entityContainer.AddFunctionImport(Converter.ConvertToFunction(functionImport, providerManifest, convertedItemCache, entityContainer, newGlobalItems));
            }
            if (element.Documentation != null)
            {
                entityContainer.Documentation = Converter.ConvertToDocumentation(element.Documentation);
            }
            Converter.AddOtherContent((SchemaElement)element, (MetadataItem)entityContainer);
            return(entityContainer);
        }