setNsURI(eNS_URI);
// Obtain other dependent packages
CommonsPackage theCommonsPackage = (CommonsPackage)EPackage.Registry.INSTANCE.getEPackage(CommonsPackage.eNS_URI);
ClassifiersPackage theClassifiersPackage = (ClassifiersPackage)EPackage.Registry.INSTANCE.getEPackage(ClassifiersPackage.eNS_URI);
ModifiersPackage theModifiersPackage = (ModifiersPackage)EPackage.Registry.INSTANCE.getEPackage(ModifiersPackage.eNS_URI);
ReferencesPackage theReferencesPackage = (ReferencesPackage)EPackage.Registry.INSTANCE.getEPackage(ReferencesPackage.eNS_URI);
TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
importEClass.getESuperTypes().add(theCommonsPackage.getNamespaceAwareElement());
importingElementEClass.getESuperTypes().add(theCommonsPackage.getCommentable());
staticImportEClass.getESuperTypes().add(this.getImport());
classifierImportEClass.getESuperTypes().add(this.getImport());
packageImportEClass.getESuperTypes().add(this.getImport());
staticClassifierImportEClass.getESuperTypes().add(this.getStaticImport());
staticMemberImportEClass.getESuperTypes().add(this.getStaticImport());
typeImportEClass.getESuperTypes().add(this.getImport());
// Initialize classes and features; add operations and parameters
initEClass(importEClass, Import.class, "Import", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
EOperation op = addEOperation(importEClass, theClassifiersPackage.getConcreteClassifier(), "getImportedClassifier", 0, 1, IS_UNIQUE, IS_ORDERED);
addEParameter(op, ecorePackage.getEString(), "name", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(importEClass, theClassifiersPackage.getConcreteClassifier(), "getImportedClassifiers", 0, -1, IS_UNIQUE, IS_ORDERED);
addEOperation(importEClass, theCommonsPackage.getNamedElement(), "getImportedMembers", 0, -1, IS_UNIQUE, IS_ORDERED);
initEClass(importingElementEClass, ImportingElement.class, "ImportingElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getImportingElement_Imports(), this.getImport(), null, "imports", null, 0, -1, ImportingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(importingElementEClass, theClassifiersPackage.getConcreteClassifier(), "getDefaultImports", 0, -1, IS_UNIQUE, IS_ORDERED);
initEClass(staticImportEClass, StaticImport.class, "StaticImport", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getStaticImport_Static(), theModifiersPackage.getStatic(), null, "static", null, 1, 1, StaticImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(classifierImportEClass, ClassifierImport.class, "ClassifierImport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getClassifierImport_Classifier(), theClassifiersPackage.getConcreteClassifier(), null, "classifier", null, 1, 1, ClassifierImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(packageImportEClass, PackageImport.class, "PackageImport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);