MembersPackage theMembersPackage = (MembersPackage)EPackage.Registry.INSTANCE.getEPackage(MembersPackage.eNS_URI);
StatementsPackage theStatementsPackage = (StatementsPackage)EPackage.Registry.INSTANCE.getEPackage(StatementsPackage.eNS_URI);
ModifiersPackage theModifiersPackage = (ModifiersPackage)EPackage.Registry.INSTANCE.getEPackage(ModifiersPackage.eNS_URI);
CommonsPackage theCommonsPackage = (CommonsPackage)EPackage.Registry.INSTANCE.getEPackage(CommonsPackage.eNS_URI);
ReferencesPackage theReferencesPackage = (ReferencesPackage)EPackage.Registry.INSTANCE.getEPackage(ReferencesPackage.eNS_URI);
InstantiationsPackage theInstantiationsPackage = (InstantiationsPackage)EPackage.Registry.INSTANCE.getEPackage(InstantiationsPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
processingElementEClass.getESuperTypes().add(theTypesPackage.getDispelType());
processingElementEClass.getESuperTypes().add(theTypesPackage.getTypeReference());
concreteProcessingElementEClass.getESuperTypes().add(this.getProcessingElement());
concreteProcessingElementEClass.getESuperTypes().add(theMembersPackage.getMember());
concreteProcessingElementEClass.getESuperTypes().add(theMembersPackage.getMemberContainer());
concreteProcessingElementEClass.getESuperTypes().add(theStatementsPackage.getStatement());
concreteProcessingElementEClass.getESuperTypes().add(theModifiersPackage.getAnnotableAndModifiable());
processingElementDefinitionEClass.getESuperTypes().add(this.getConcreteProcessingElement());
processingElementDefinitionEClass.getESuperTypes().add(theCommonsPackage.getNamespaceAwareElement());
connectionEClass.getESuperTypes().add(theTypesPackage.getDispelType());
processingElementInstanceEClass.getESuperTypes().add(theCommonsPackage.getNamedElement());
processingElementInstanceEClass.getESuperTypes().add(theTypesPackage.getTypedElement());
processingElementInstanceEClass.getESuperTypes().add(theReferencesPackage.getReferenceableElement());
processingElementInstanceEClass.getESuperTypes().add(theCommonsPackage.getNamespaceAwareElement());
processingElementAnonymousConstructorEClass.getESuperTypes().add(this.getConcreteProcessingElement());
processingElementAnonymousConstructorEClass.getESuperTypes().add(theCommonsPackage.getNamespaceAwareElement());
processingElementMethodDefinitionEClass.getESuperTypes().add(this.getProcessingElementDefinition());
processingElementModifierEClass.getESuperTypes().add(this.getProcessingElementDefinition());
processingElementModifierEClass.getESuperTypes().add(theTypesPackage.getTypedElement());
processingElementAnonymousDefinitionEClass.getESuperTypes().add(theReferencesPackage.getDispelTypeReference());
processingElementAnonymousDefinitionEClass.getESuperTypes().add(theReferencesPackage.getReference());
// Initialize classes and features; add operations and parameters
initEClass(processingElementEClass, ProcessingElement.class, "ProcessingElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessingElement_ProcessingElementParameters(), theParametersPackage.getProcessingElementParameter(), null, "processingElementParameters", null, 1, -1, ProcessingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(concreteProcessingElementEClass, ConcreteProcessingElement.class, "ConcreteProcessingElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processingElementDefinitionEClass, ProcessingElementDefinition.class, "ProcessingElementDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
addEOperation(processingElementDefinitionEClass, this.getProcessingElementInstance(), "createInstance", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(connectionEClass, Connection.class, "Connection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processingElementInstanceEClass, ProcessingElementInstance.class, "ProcessingElementInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessingElementInstance_ProcessingElementParameters(), theParametersPackage.getProcessingElementParameter(), null, "processingElementParameters", null, 1, -1, ProcessingElementInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(connectionEnabledElementEClass, ConnectionEnabledElement.class, "ConnectionEnabledElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processingElementAnonymousConstructorEClass, ProcessingElementAnonymousConstructor.class, "ProcessingElementAnonymousConstructor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processingElementMethodDefinitionEClass, ProcessingElementMethodDefinition.class, "ProcessingElementMethodDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessingElementMethodDefinition_MethodCall(), theReferencesPackage.getMethodCall(), null, "methodCall", null, 0, 1, ProcessingElementMethodDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(processingElementModifierEClass, ProcessingElementModifier.class, "ProcessingElementModifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessingElementModifier_Parameters(), theInstantiationsPackage.getNewProcessingElementParameter(), null, "parameters", null, 0, -1, ProcessingElementModifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(processingElementModifierEClass, this.getProcessingElementInstance(), "createInstance", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(processingElementAnonymousDefinitionEClass, ProcessingElementAnonymousDefinition.class, "ProcessingElementAnonymousDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessingElementAnonymousDefinition_TypeConstructor(), this.getProcessingElementAnonymousConstructor(), null, "typeConstructor", null, 0, 1, ProcessingElementAnonymousDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);