public EdmEntityContainerImpl(
     final Edm edm,
     final CsdlEdmProvider provider,
     final FullQualifiedName containerFQN,
     final CsdlEntityContainer entityContainer) {
   super(edm, containerFQN.getName(), entityContainer);
   this.provider = provider;
   container = entityContainer;
   entityContainerName = containerFQN;
   parentContainerName = entityContainer.getExtendsContainerFQN();
 }
  protected void loadAllActionImports() {
    loadContainer();
    final List<CsdlActionImport> providerActionImports = container.getActionImports();
    final List<EdmActionImport> actionImportsLocal = new ArrayList<EdmActionImport>();

    if (providerActionImports != null) {
      for (CsdlActionImport actionImport : providerActionImports) {
        final EdmActionImportImpl impl = new EdmActionImportImpl(edm, this, actionImport);
        actionImportCache.put(actionImport.getName(), impl);
        actionImportsLocal.add(impl);
      }
      actionImports = actionImportsLocal;
    }
  }
  protected void loadAllFunctionImports() {
    loadContainer();
    final List<CsdlFunctionImport> providerFunctionImports = container.getFunctionImports();
    final ArrayList<EdmFunctionImport> functionImportsLocal = new ArrayList<EdmFunctionImport>();

    if (providerFunctionImports != null) {
      for (CsdlFunctionImport functionImport : providerFunctionImports) {
        EdmFunctionImportImpl impl = new EdmFunctionImportImpl(edm, this, functionImport);
        functionImportCache.put(impl.getName(), impl);
        functionImportsLocal.add(impl);
      }
      functionImports = functionImportsLocal;
    }
  }
  protected void loadAllSingletons() {
    loadContainer();
    final List<CsdlSingleton> providerSingletons = container.getSingletons();
    final List<EdmSingleton> singletonsLocal = new ArrayList<EdmSingleton>();

    if (providerSingletons != null) {
      for (CsdlSingleton singleton : providerSingletons) {
        final EdmSingletonImpl impl = new EdmSingletonImpl(edm, this, singleton);
        singletonCache.put(singleton.getName(), impl);
        singletonsLocal.add(impl);
      }
      singletons = singletonsLocal;
    }
  }
  protected void loadAllEntitySets() {
    loadContainer();
    final List<CsdlEntitySet> providerEntitySets = container.getEntitySets();
    final List<EdmEntitySet> entitySetsLocal = new ArrayList<EdmEntitySet>();

    if (providerEntitySets != null) {
      for (CsdlEntitySet entitySet : providerEntitySets) {
        final EdmEntitySetImpl impl = new EdmEntitySetImpl(edm, this, entitySet);
        entitySetCache.put(impl.getName(), impl);
        entitySetsLocal.add(impl);
      }
      entitySets = entitySetsLocal;
    }
  }