/**
   * Initializes this {@link ModelPackage}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return an initialized instance of this class
   * @generated
   */
  public static IncludeModelPackage initialize() {

    if (isInitialized) {
      return (IncludeModelPackage) ModelResolver.getInstance().getModelPackage(NS_URI);
    }

    final IncludeModelPackage modelPackage = new IncludeModelPackage();

    ModelResolver.getInstance().registerModelPackage(modelPackage);

    // read the model from the ecore file, the EPackage is registered in the EPackage.Registry
    // see the ModelResolver getEPackageRegistry method
    ModelUtils.readEPackagesFromFile(modelPackage);

    isInitialized = true;

    IdentifiableModelPackage.initialize();

    // force the initialization of the EFactory proxy
    modelPackage.getEPackage();

    // register the relation between a Class and its EClassifier
    ModelResolver.getInstance()
        .registerClassModelMapping(Include1.class, modelPackage.getInclude1EClass(), modelPackage);
    ModelResolver.getInstance()
        .registerClassModelMapping(Include2.class, modelPackage.getInclude2EClass(), modelPackage);

    DaoRegistry.getInstance().registerDao(Include1.class, Include1Dao.class);
    DaoRegistry.getInstance().registerDao(Include2.class, Include2Dao.class);

    // and return ourselves
    return modelPackage;
  }
  /**
   * Initializes this {@link ModelPackage}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return an initialized instance of this class
   * @generated
   */
  public static AnytypeModelPackage initialize() {

    if (isInitialized) {
      return (AnytypeModelPackage) ModelResolver.getInstance().getModelPackage(NS_URI);
    }

    final AnytypeModelPackage modelPackage = new AnytypeModelPackage();

    ModelResolver.getInstance().registerModelPackage(modelPackage);

    // read the model from the ecore file, the EPackage is registered in the EPackage.Registry
    // see the ModelResolver getEPackageRegistry method
    ModelUtils.readEPackagesFromFile(modelPackage);

    isInitialized = true;

    IdentifiableModelPackage.initialize();

    // force the initialization of the EFactory proxy
    modelPackage.getEPackage();

    // register the relation between a Class and its EClassifier
    ModelResolver.getInstance()
        .registerClassModelMapping(A.class, modelPackage.getAEClass(), modelPackage);
    ModelResolver.getInstance()
        .registerClassModelMapping(B.class, modelPackage.getBEClass(), modelPackage);
    ModelResolver.getInstance()
        .registerClassModelMapping(C.class, modelPackage.getCEClass(), modelPackage);
    ModelResolver.getInstance()
        .registerClassModelMapping(TestAny.class, modelPackage.getTestAnyEClass(), modelPackage);

    DaoRegistry.getInstance().registerDao(A.class, ADao.class);
    DaoRegistry.getInstance().registerDao(B.class, BDao.class);
    DaoRegistry.getInstance().registerDao(C.class, CDao.class);
    DaoRegistry.getInstance().registerDao(TestAny.class, TestAnyDao.class);

    // and return ourselves
    return modelPackage;
  }
  /**
   * Initializes this {@link ModelPackage}.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   *
   * @return an initialized instance of this class
   * @generated
   */
  public static ListunionModelPackage initialize() {

    if (isInitialized) {
      return (ListunionModelPackage) ModelResolver.getInstance().getModelPackage(NS_URI);
    }

    final ListunionModelPackage modelPackage = new ListunionModelPackage();

    ModelResolver.getInstance().registerModelPackage(modelPackage);

    // read the model from the ecore file, the EPackage is registered in the EPackage.Registry
    // see the ModelResolver getEPackageRegistry method
    ModelUtils.readEPackagesFromFile(modelPackage);

    isInitialized = true;

    IdentifiableModelPackage.initialize();

    // force the initialization of the EFactory proxy
    modelPackage.getEPackage();

    // register the relation between a Class and its EClassifier
    ModelResolver.getInstance()
        .registerClassModelMapping(
            StatesByCountry.class, modelPackage.getStatesByCountryEClass(), modelPackage);

    ModelResolver.getInstance()
        .registerClassModelMapping(
            SimpleUnionTypeMember1.class,
            modelPackage.getSimpleUnionTypeMember1EEnum(),
            modelPackage);

    DaoRegistry.getInstance().registerDao(StatesByCountry.class, StatesByCountryDao.class);

    // and return ourselves
    return modelPackage;
  }