setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Obtain other dependent packages
CommonsPackage theCommonsPackage = (CommonsPackage)EPackage.Registry.INSTANCE.getEPackage(CommonsPackage.eNS_URI);
ExpressionsPackage theExpressionsPackage = (ExpressionsPackage)EPackage.Registry.INSTANCE.getEPackage(ExpressionsPackage.eNS_URI);
MembersPackage theMembersPackage = (MembersPackage)EPackage.Registry.INSTANCE.getEPackage(MembersPackage.eNS_URI);
ModifiersPackage theModifiersPackage = (ModifiersPackage)EPackage.Registry.INSTANCE.getEPackage(ModifiersPackage.eNS_URI);
ParametersPackage theParametersPackage = (ParametersPackage)EPackage.Registry.INSTANCE.getEPackage(ParametersPackage.eNS_URI);
VariablesPackage theVariablesPackage = (VariablesPackage)EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI);
ReferencesPackage theReferencesPackage = (ReferencesPackage)EPackage.Registry.INSTANCE.getEPackage(ReferencesPackage.eNS_URI);
AnnotationsPackage theAnnotationsPackage = (AnnotationsPackage)EPackage.Registry.INSTANCE.getEPackage(AnnotationsPackage.eNS_URI);
CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
TypesPackage theTypesPackage = (TypesPackage)EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
statementContainerEClass.getESuperTypes().add(theCommonsPackage.getCommentable());
statementListContainerEClass.getESuperTypes().add(theCommonsPackage.getCommentable());
conditionalEClass.getESuperTypes().add(theCommonsPackage.getCommentable());
forLoopInitializerEClass.getESuperTypes().add(theCommonsPackage.getCommentable());
statementEClass.getESuperTypes().add(theCommonsPackage.getCommentable());
switchCaseEClass.getESuperTypes().add(this.getStatementListContainer());
breakEClass.getESuperTypes().add(this.getJump());
blockEClass.getESuperTypes().add(theMembersPackage.getMember());
blockEClass.getESuperTypes().add(this.getStatement());
blockEClass.getESuperTypes().add(this.getStatementListContainer());
blockEClass.getESuperTypes().add(theModifiersPackage.getModifiable());
catchBlockEClass.getESuperTypes().add(this.getStatementListContainer());
conditionEClass.getESuperTypes().add(this.getStatement());
conditionEClass.getESuperTypes().add(this.getStatementContainer());
conditionEClass.getESuperTypes().add(this.getConditional());
continueEClass.getESuperTypes().add(this.getJump());
defaultSwitchCaseEClass.getESuperTypes().add(this.getSwitchCase());
doWhileLoopEClass.getESuperTypes().add(this.getWhileLoop());
emptyStatementEClass.getESuperTypes().add(this.getStatement());
expressionStatementEClass.getESuperTypes().add(this.getStatement());
forLoopEClass.getESuperTypes().add(this.getStatement());
forLoopEClass.getESuperTypes().add(this.getStatementContainer());
forLoopEClass.getESuperTypes().add(this.getConditional());
forEachLoopEClass.getESuperTypes().add(this.getStatement());
forEachLoopEClass.getESuperTypes().add(this.getStatementContainer());
jumpLabelEClass.getESuperTypes().add(this.getStatement());
jumpLabelEClass.getESuperTypes().add(this.getStatementContainer());
jumpLabelEClass.getESuperTypes().add(theCommonsPackage.getNamedElement());
localVariableStatementEClass.getESuperTypes().add(this.getStatement());
normalSwitchCaseEClass.getESuperTypes().add(this.getSwitchCase());
normalSwitchCaseEClass.getESuperTypes().add(this.getConditional());
returnEClass.getESuperTypes().add(this.getStatement());
switchEClass.getESuperTypes().add(this.getStatement());
synchronizedBlockEClass.getESuperTypes().add(this.getStatement());
synchronizedBlockEClass.getESuperTypes().add(this.getStatementListContainer());
throwEClass.getESuperTypes().add(this.getStatement());
tryBlockEClass.getESuperTypes().add(this.getStatement());
tryBlockEClass.getESuperTypes().add(this.getStatementListContainer());
whileLoopEClass.getESuperTypes().add(this.getStatement());
whileLoopEClass.getESuperTypes().add(this.getStatementContainer());
connectionStatementEClass.getESuperTypes().add(this.getStatement());
processingElementTypeDefinitionStatementEClass.getESuperTypes().add(this.getStatement());
processingElementTypeDefinitionStatementEClass.getESuperTypes().add(theAnnotationsPackage.getAnnotable());
domainTypeDefinitionStatementEClass.getESuperTypes().add(this.getStatement());
structuralTypeDefinitionStatementEClass.getESuperTypes().add(this.getStatement());
submitStatementEClass.getESuperTypes().add(this.getStatement());
registerStatementEClass.getESuperTypes().add(this.getStatement());
jumpEClass.getESuperTypes().add(this.getStatement());
// Initialize classes and features; add operations and parameters
initEClass(statementContainerEClass, StatementContainer.class, "StatementContainer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getStatementContainer_Statement(), this.getStatement(), null, "statement", null, 1, 1, StatementContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(statementListContainerEClass, StatementListContainer.class, "StatementListContainer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getStatementListContainer_Statements(), this.getStatement(), null, "statements", null, 0, -1, StatementListContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(conditionalEClass, Conditional.class, "Conditional", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getConditional_Condition(), theExpressionsPackage.getExpression(), null, "condition", null, 1, 1, Conditional.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(forLoopInitializerEClass, ForLoopInitializer.class, "ForLoopInitializer", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(statementEClass, Statement.class, "Statement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(switchCaseEClass, SwitchCase.class, "SwitchCase", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(breakEClass, Break.class, "Break", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(blockEClass, Block.class, "Block", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(catchBlockEClass, CatchBlock.class, "CatchBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getCatchBlock_Parameter(), theParametersPackage.getOrdinaryParameter(), null, "parameter", null, 1, 1, CatchBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(conditionEClass, Condition.class, "Condition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getCondition_ElseStatement(), this.getStatement(), null, "elseStatement", null, 0, 1, Condition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(continueEClass, Continue.class, "Continue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(defaultSwitchCaseEClass, DefaultSwitchCase.class, "DefaultSwitchCase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(doWhileLoopEClass, DoWhileLoop.class, "DoWhileLoop", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(emptyStatementEClass, EmptyStatement.class, "EmptyStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(expressionStatementEClass, ExpressionStatement.class, "ExpressionStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getExpressionStatement_Expression(), theExpressionsPackage.getExpression(), null, "expression", null, 1, 1, ExpressionStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(forLoopEClass, ForLoop.class, "ForLoop", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getForLoop_Init(), this.getForLoopInitializer(), null, "init", null, 0, 1, ForLoop.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getForLoop_Updates(), theExpressionsPackage.getExpression(), null, "updates", null, 0, -1, ForLoop.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(forEachLoopEClass, ForEachLoop.class, "ForEachLoop", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getForEachLoop_Next(), theParametersPackage.getOrdinaryParameter(), null, "next", null, 0, 1, ForEachLoop.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getForEachLoop_Collection(), theExpressionsPackage.getExpression(), null, "collection", null, 0, 1, ForEachLoop.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(jumpLabelEClass, JumpLabel.class, "JumpLabel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(localVariableStatementEClass, LocalVariableStatement.class, "LocalVariableStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getLocalVariableStatement_Variable(), theVariablesPackage.getLocalVariable(), null, "variable", null, 0, 1, LocalVariableStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(normalSwitchCaseEClass, NormalSwitchCase.class, "NormalSwitchCase", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(returnEClass, Return.class, "Return", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getReturn_ReturnValue(), theReferencesPackage.getReference(), null, "returnValue", null, 1, 1, Return.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(switchEClass, Switch.class, "Switch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSwitch_Cases(), this.getSwitchCase(), null, "cases", null, 0, -1, Switch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getSwitch_Variable(), theExpressionsPackage.getExpression(), null, "variable", null, 0, 1, Switch.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(synchronizedBlockEClass, SynchronizedBlock.class, "SynchronizedBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSynchronizedBlock_LockProvider(), theExpressionsPackage.getExpression(), null, "lockProvider", null, 0, 1, SynchronizedBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(throwEClass, Throw.class, "Throw", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThrow_Throwable(), theExpressionsPackage.getExpression(), null, "throwable", null, 1, 1, Throw.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(tryBlockEClass, TryBlock.class, "TryBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTryBlock_CatcheBlocks(), this.getCatchBlock(), null, "catcheBlocks", null, 0, -1, TryBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTryBlock_FinallyBlock(), this.getBlock(), null, "finallyBlock", null, 0, 1, TryBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(whileLoopEClass, WhileLoop.class, "WhileLoop", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getWhileLoop_Condition(), theExpressionsPackage.getExpression(), null, "condition", null, 1, 1, WhileLoop.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(connectionStatementEClass, ConnectionStatement.class, "ConnectionStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getConnectionStatement_Expression(), theExpressionsPackage.getConnectionExpression(), null, "expression", null, 1, 1, ConnectionStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getConnectionStatement_Source(), theReferencesPackage.getOutputReference(), null, "source", null, 1, 1, ConnectionStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getConnectionStatement_Target(), theReferencesPackage.getInputReference(), null, "target", null, 1, 1, ConnectionStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(processingElementTypeDefinitionStatementEClass, ProcessingElementTypeDefinitionStatement.class, "ProcessingElementTypeDefinitionStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessingElementTypeDefinitionStatement_TypeDefinition(), theCorePackage.getProcessingElementDefinition(), null, "typeDefinition", null, 1, 1, ProcessingElementTypeDefinitionStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);