From c67214cc176fab305671f3098ec7316df7327a96 Mon Sep 17 00:00:00 2001
From: Georgios Treska <s_treska@ira.uka.de>
Date: Fri, 9 Nov 2012 13:52:01 +0000
Subject: [PATCH] changes / import namespace bug fix

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@9077 9e42b895-fcda-4063-8a3b-11be15eb1bbd
---
 .../mydsl/ui/AbstractMyDslTestUiModule.java   |     7 +-
 .../AbstractMyDslTestProposalProvider.java    |    17 +-
 .../contentassist/antlr/MyDslTestParser.java  |    38 +-
 .../antlr/internal/InternalMyDslTest.g        |  1969 +-
 .../antlr/internal/InternalMyDslTest.tokens   |   104 +-
 .../internal/InternalMyDslTestLexer.java      |  1419 +-
 .../internal/InternalMyDslTestParser.java     | 17294 +++++++++-------
 .../mydsl/AbstractMyDslTestRuntimeModule.java |     8 +-
 .../org/xtext/example/mydsl/MyDslTest.xmi     |   301 +-
 .../MyDslTestParsetreeConstructor.java        |  1393 +-
 .../parser/antlr/internal/InternalMyDslTest.g |   394 +-
 .../antlr/internal/InternalMyDslTest.tokens   |   126 +-
 .../internal/InternalMyDslTestLexer.java      |  1501 +-
 .../internal/InternalMyDslTestParser.java     |  4237 ++--
 .../services/MyDslTestGrammarAccess.java      |   481 +-
 .../AbstractMyDslTestJavaValidator.java       |     2 +
 .../example/mydsl/GenerateMyDslTest.mwe2      |    16 +-
 .../org/xtext/example/mydsl/MyDslTest.xtext   |    45 +-
 .../example/mydsl/PrimitiveTypeConverter.java |    33 +
 19 files changed, 18159 insertions(+), 11226 deletions(-)
 create mode 100644 org.xtext.example.mydslTest/src/org/xtext/example/mydsl/PrimitiveTypeConverter.java

diff --git a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/AbstractMyDslTestUiModule.java b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/AbstractMyDslTestUiModule.java
index 24f35e75..b2d5922d 100644
--- a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/AbstractMyDslTestUiModule.java
+++ b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/AbstractMyDslTestUiModule.java
@@ -38,7 +38,12 @@ public abstract class AbstractMyDslTestUiModule extends DefaultUiModule {
 		binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class);
 	}
 
-	// contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
+	// contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+	public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+		return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class;
+	}
+
+	// contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
 	public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() {
 		return org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator.class;
 	}
diff --git a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslTestProposalProvider.java b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslTestProposalProvider.java
index 85e36c25..187ca081 100644
--- a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslTestProposalProvider.java
+++ b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/AbstractMyDslTestProposalProvider.java
@@ -20,13 +20,19 @@ public class AbstractMyDslTestProposalProvider extends TerminalsProposalProvider
 	public void completeRepository_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeRepository_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
 	public void completeRepository_Datatypes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
+	public void completeRepository_Components(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+	}
 	public void completeRepository_Interfaces(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
-	public void completeRepository_Components(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void completeImport_ImportedNamespace(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
 	}
 	public void completeInterface_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
@@ -201,6 +207,15 @@ public class AbstractMyDslTestProposalProvider extends TerminalsProposalProvider
 	public void complete_Repository(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
+	public void complete_Import(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_QualifiedNameWithWildCard(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
+	public void complete_QualifiedName(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+		// subclasses may override
+	}
 	public void complete_DataType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
diff --git a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslTestParser.java b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslTestParser.java
index c85b4ef8..6d93f449 100644
--- a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslTestParser.java
+++ b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/MyDslTestParser.java
@@ -37,18 +37,30 @@ public class MyDslTestParser extends AbstractContentAssistParser {
 			nameMappings = new HashMap<AbstractElement, String>() {
 				private static final long serialVersionUID = 1L;
 				{
-					put(grammarAccess.getRepositoryAccess().getAlternatives_3(), "rule__Repository__Alternatives_3");
 					put(grammarAccess.getDataTypeAccess().getAlternatives(), "rule__DataType__Alternatives");
 					put(grammarAccess.getRepositoryComponentAccess().getAlternatives(), "rule__RepositoryComponent__Alternatives");
 					put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives");
 					put(grammarAccess.getSignatureAccess().getAlternatives_0(), "rule__Signature__Alternatives_0");
 					put(grammarAccess.getPrimitiveTypeEnumAccess().getAlternatives(), "rule__PrimitiveTypeEnum__Alternatives");
 					put(grammarAccess.getRepositoryAccess().getGroup(), "rule__Repository__Group__0");
+					put(grammarAccess.getRepositoryAccess().getGroup_3(), "rule__Repository__Group_3__0");
+					put(grammarAccess.getRepositoryAccess().getGroup_3_3(), "rule__Repository__Group_3_3__0");
+					put(grammarAccess.getRepositoryAccess().getGroup_4(), "rule__Repository__Group_4__0");
+					put(grammarAccess.getRepositoryAccess().getGroup_4_3(), "rule__Repository__Group_4_3__0");
+					put(grammarAccess.getRepositoryAccess().getGroup_5(), "rule__Repository__Group_5__0");
+					put(grammarAccess.getRepositoryAccess().getGroup_5_3(), "rule__Repository__Group_5_3__0");
+					put(grammarAccess.getRepositoryAccess().getGroup_6(), "rule__Repository__Group_6__0");
+					put(grammarAccess.getRepositoryAccess().getGroup_6_3(), "rule__Repository__Group_6_3__0");
+					put(grammarAccess.getImportAccess().getGroup(), "rule__Import__Group__0");
+					put(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup(), "rule__QualifiedNameWithWildCard__Group__0");
+					put(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup_1(), "rule__QualifiedNameWithWildCard__Group_1__0");
+					put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
+					put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
 					put(grammarAccess.getInterfaceAccess().getGroup(), "rule__Interface__Group__0");
 					put(grammarAccess.getInterfaceAccess().getGroup_3(), "rule__Interface__Group_3__0");
 					put(grammarAccess.getInterfaceAccess().getGroup_3_3(), "rule__Interface__Group_3_3__0");
 					put(grammarAccess.getInterfaceAccess().getGroup_4(), "rule__Interface__Group_4__0");
-					put(grammarAccess.getInterfaceAccess().getGroup_4_3(), "rule__Interface__Group_4_3__0");
+					put(grammarAccess.getInterfaceAccess().getGroup_4_1(), "rule__Interface__Group_4_1__0");
 					put(grammarAccess.getRepositoryComponent_ImplAccess().getGroup(), "rule__RepositoryComponent_Impl__Group__0");
 					put(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3(), "rule__RepositoryComponent_Impl__Group_3__0");
 					put(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3_3(), "rule__RepositoryComponent_Impl__Group_3_3__0");
@@ -69,9 +81,7 @@ public class MyDslTestParser extends AbstractContentAssistParser {
 					put(grammarAccess.getSignatureAccess().getGroup_3_1(), "rule__Signature__Group_3_1__0");
 					put(grammarAccess.getParameterAccess().getGroup(), "rule__Parameter__Group__0");
 					put(grammarAccess.getProvidedRoleAccess().getGroup(), "rule__ProvidedRole__Group__0");
-					put(grammarAccess.getProvidedRoleAccess().getGroup_2(), "rule__ProvidedRole__Group_2__0");
 					put(grammarAccess.getRequiredRoleAccess().getGroup(), "rule__RequiredRole__Group__0");
-					put(grammarAccess.getRequiredRoleAccess().getGroup_2(), "rule__RequiredRole__Group_2__0");
 					put(grammarAccess.getBasicComponentAccess().getGroup(), "rule__BasicComponent__Group__0");
 					put(grammarAccess.getBasicComponentAccess().getGroup_2(), "rule__BasicComponent__Group_2__0");
 					put(grammarAccess.getBasicComponentAccess().getGroup_2_1(), "rule__BasicComponent__Group_2_1__0");
@@ -109,14 +119,20 @@ public class MyDslTestParser extends AbstractContentAssistParser {
 					put(grammarAccess.getProvidedDelegationConnectorAccess().getGroup(), "rule__ProvidedDelegationConnector__Group__0");
 					put(grammarAccess.getRequiredDelegationConnectorAccess().getGroup(), "rule__RequiredDelegationConnector__Group__0");
 					put(grammarAccess.getRepositoryAccess().getNameAssignment_1(), "rule__Repository__NameAssignment_1");
-					put(grammarAccess.getRepositoryAccess().getDatatypesAssignment_3_0(), "rule__Repository__DatatypesAssignment_3_0");
-					put(grammarAccess.getRepositoryAccess().getInterfacesAssignment_3_1(), "rule__Repository__InterfacesAssignment_3_1");
-					put(grammarAccess.getRepositoryAccess().getComponentsAssignment_3_2(), "rule__Repository__ComponentsAssignment_3_2");
+					put(grammarAccess.getRepositoryAccess().getImportsAssignment_3_2(), "rule__Repository__ImportsAssignment_3_2");
+					put(grammarAccess.getRepositoryAccess().getImportsAssignment_3_3_1(), "rule__Repository__ImportsAssignment_3_3_1");
+					put(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_2(), "rule__Repository__DatatypesAssignment_4_2");
+					put(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_3_1(), "rule__Repository__DatatypesAssignment_4_3_1");
+					put(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_2(), "rule__Repository__ComponentsAssignment_5_2");
+					put(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_3_1(), "rule__Repository__ComponentsAssignment_5_3_1");
+					put(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_2(), "rule__Repository__InterfacesAssignment_6_2");
+					put(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_3_1(), "rule__Repository__InterfacesAssignment_6_3_1");
+					put(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1(), "rule__Import__ImportedNamespaceAssignment_1");
 					put(grammarAccess.getInterfaceAccess().getNameAssignment_1(), "rule__Interface__NameAssignment_1");
 					put(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2(), "rule__Interface__ParentInterfacesAssignment_3_2");
 					put(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1(), "rule__Interface__ParentInterfacesAssignment_3_3_1");
-					put(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_2(), "rule__Interface__SignaturesAssignment_4_2");
-					put(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_3_1(), "rule__Interface__SignaturesAssignment_4_3_1");
+					put(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_0(), "rule__Interface__SignaturesAssignment_4_0");
+					put(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_1_1(), "rule__Interface__SignaturesAssignment_4_1_1");
 					put(grammarAccess.getRepositoryComponent_ImplAccess().getNameAssignment_1(), "rule__RepositoryComponent_Impl__NameAssignment_1");
 					put(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_2(), "rule__RepositoryComponent_Impl__RelationshipAssignment_3_2");
 					put(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_3_1(), "rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1");
@@ -141,8 +157,8 @@ public class MyDslTestParser extends AbstractContentAssistParser {
 					put(grammarAccess.getSignatureAccess().getParametersAssignment_3_1_1(), "rule__Signature__ParametersAssignment_3_1_1");
 					put(grammarAccess.getParameterAccess().getDataTypeAssignment_0(), "rule__Parameter__DataTypeAssignment_0");
 					put(grammarAccess.getParameterAccess().getNameAssignment_1(), "rule__Parameter__NameAssignment_1");
-					put(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_2_0(), "rule__ProvidedRole__InterfaceAssignment_2_0");
-					put(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_2_0(), "rule__RequiredRole__InterfaceAssignment_2_0");
+					put(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_1(), "rule__ProvidedRole__InterfaceAssignment_1");
+					put(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_1(), "rule__RequiredRole__InterfaceAssignment_1");
 					put(grammarAccess.getBasicComponentAccess().getNameAssignment_1(), "rule__BasicComponent__NameAssignment_1");
 					put(grammarAccess.getBasicComponentAccess().getProvidedRolesAssignment_2_0(), "rule__BasicComponent__ProvidedRolesAssignment_2_0");
 					put(grammarAccess.getBasicComponentAccess().getProvidedRolesAssignment_2_1_1(), "rule__BasicComponent__ProvidedRolesAssignment_2_1_1");
diff --git a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g
index 5218a73b..c0692bb6 100644
--- a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g
+++ b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g
@@ -84,6 +84,90 @@ finally {
 
 
 
+// Entry rule entryRuleImport
+entryRuleImport 
+:
+{ before(grammarAccess.getImportRule()); }
+	 ruleImport
+{ after(grammarAccess.getImportRule()); } 
+	 EOF 
+;
+
+// Rule Import
+ruleImport
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getImportAccess().getGroup()); }
+(rule__Import__Group__0)
+{ after(grammarAccess.getImportAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleQualifiedNameWithWildCard
+entryRuleQualifiedNameWithWildCard 
+:
+{ before(grammarAccess.getQualifiedNameWithWildCardRule()); }
+	 ruleQualifiedNameWithWildCard
+{ after(grammarAccess.getQualifiedNameWithWildCardRule()); } 
+	 EOF 
+;
+
+// Rule QualifiedNameWithWildCard
+ruleQualifiedNameWithWildCard
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup()); }
+(rule__QualifiedNameWithWildCard__Group__0)
+{ after(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName 
+:
+{ before(grammarAccess.getQualifiedNameRule()); }
+	 ruleQualifiedName
+{ after(grammarAccess.getQualifiedNameRule()); } 
+	 EOF 
+;
+
+// Rule QualifiedName
+ruleQualifiedName
+    @init {
+		int stackSize = keepStackSize();
+    }
+	:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getGroup()); }
+(rule__QualifiedName__Group__0)
+{ after(grammarAccess.getQualifiedNameAccess().getGroup()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
 // Entry rule entryRuleDataType
 entryRuleDataType 
 :
@@ -692,34 +776,6 @@ finally {
 
 
 
-rule__Repository__Alternatives_3
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getRepositoryAccess().getDatatypesAssignment_3_0()); }
-(rule__Repository__DatatypesAssignment_3_0)
-{ after(grammarAccess.getRepositoryAccess().getDatatypesAssignment_3_0()); }
-)
-
-    |(
-{ before(grammarAccess.getRepositoryAccess().getInterfacesAssignment_3_1()); }
-(rule__Repository__InterfacesAssignment_3_1)
-{ after(grammarAccess.getRepositoryAccess().getInterfacesAssignment_3_1()); }
-)
-
-    |(
-{ before(grammarAccess.getRepositoryAccess().getComponentsAssignment_3_2()); }
-(rule__Repository__ComponentsAssignment_3_2)
-{ after(grammarAccess.getRepositoryAccess().getComponentsAssignment_3_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 rule__DataType__Alternatives
     @init {
 		int stackSize = keepStackSize();
@@ -998,9 +1054,9 @@ rule__Repository__Group__3__Impl
     }
 :
 (
-{ before(grammarAccess.getRepositoryAccess().getAlternatives_3()); }
-(rule__Repository__Alternatives_3)*
-{ after(grammarAccess.getRepositoryAccess().getAlternatives_3()); }
+{ before(grammarAccess.getRepositoryAccess().getGroup_3()); }
+(rule__Repository__Group_3__0)?
+{ after(grammarAccess.getRepositoryAccess().getGroup_3()); }
 )
 
 ;
@@ -1015,6 +1071,7 @@ rule__Repository__Group__4
     }
 :
 	rule__Repository__Group__4__Impl
+	rule__Repository__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -1026,11 +1083,9 @@ rule__Repository__Group__4__Impl
     }
 :
 (
-{ before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4()); }
+{ before(grammarAccess.getRepositoryAccess().getGroup_4()); }
+(rule__Repository__Group_4__0)?
+{ after(grammarAccess.getRepositoryAccess().getGroup_4()); }
 )
 
 ;
@@ -1039,39 +1094,86 @@ finally {
 }
 
 
+rule__Repository__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group__5__Impl
+	rule__Repository__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
 
+rule__Repository__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getGroup_5()); }
+(rule__Repository__Group_5__0)?
+{ after(grammarAccess.getRepositoryAccess().getGroup_5()); }
+)
 
+;
+finally {
+	restoreStackSize(stackSize);
+}
 
 
+rule__Repository__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group__6__Impl
+	rule__Repository__Group__7
+;
+finally {
+	restoreStackSize(stackSize);
+}
 
+rule__Repository__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getGroup_6()); }
+(rule__Repository__Group_6__0)?
+{ after(grammarAccess.getRepositoryAccess().getGroup_6()); }
+)
 
+;
+finally {
+	restoreStackSize(stackSize);
+}
 
 
-
-
-rule__Interface__Group__0
+rule__Repository__Group__7
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group__0__Impl
-	rule__Interface__Group__1
+	rule__Repository__Group__7__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group__0__Impl
+rule__Repository__Group__7__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); }
+{ before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7()); }
 
-	'Interface' 
+	'}' 
 
-{ after(grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); }
+{ after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7()); }
 )
 
 ;
@@ -1080,27 +1182,45 @@ finally {
 }
 
 
-rule__Interface__Group__1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Repository__Group_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group__1__Impl
-	rule__Interface__Group__2
+	rule__Repository__Group_3__0__Impl
+	rule__Repository__Group_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group__1__Impl
+rule__Repository__Group_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getNameAssignment_1()); }
-(rule__Interface__NameAssignment_1)
-{ after(grammarAccess.getInterfaceAccess().getNameAssignment_1()); }
+{ before(grammarAccess.getRepositoryAccess().getImportsKeyword_3_0()); }
+
+	'imports' 
+
+{ after(grammarAccess.getRepositoryAccess().getImportsKeyword_3_0()); }
 )
 
 ;
@@ -1109,29 +1229,29 @@ finally {
 }
 
 
-rule__Interface__Group__2
+rule__Repository__Group_3__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group__2__Impl
-	rule__Interface__Group__3
+	rule__Repository__Group_3__1__Impl
+	rule__Repository__Group_3__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group__2__Impl
+rule__Repository__Group_3__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); }
+{ before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_3_1()); }
 
 	'{' 
 
-{ after(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); }
+{ after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_3_1()); }
 )
 
 ;
@@ -1140,27 +1260,27 @@ finally {
 }
 
 
-rule__Interface__Group__3
+rule__Repository__Group_3__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group__3__Impl
-	rule__Interface__Group__4
+	rule__Repository__Group_3__2__Impl
+	rule__Repository__Group_3__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group__3__Impl
+rule__Repository__Group_3__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getGroup_3()); }
-(rule__Interface__Group_3__0)?
-{ after(grammarAccess.getInterfaceAccess().getGroup_3()); }
+{ before(grammarAccess.getRepositoryAccess().getImportsAssignment_3_2()); }
+(rule__Repository__ImportsAssignment_3_2)
+{ after(grammarAccess.getRepositoryAccess().getImportsAssignment_3_2()); }
 )
 
 ;
@@ -1169,27 +1289,27 @@ finally {
 }
 
 
-rule__Interface__Group__4
+rule__Repository__Group_3__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group__4__Impl
-	rule__Interface__Group__5
+	rule__Repository__Group_3__3__Impl
+	rule__Repository__Group_3__4
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group__4__Impl
+rule__Repository__Group_3__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getGroup_4()); }
-(rule__Interface__Group_4__0)?
-{ after(grammarAccess.getInterfaceAccess().getGroup_4()); }
+{ before(grammarAccess.getRepositoryAccess().getGroup_3_3()); }
+(rule__Repository__Group_3_3__0)*
+{ after(grammarAccess.getRepositoryAccess().getGroup_3_3()); }
 )
 
 ;
@@ -1198,28 +1318,28 @@ finally {
 }
 
 
-rule__Interface__Group__5
+rule__Repository__Group_3__4
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group__5__Impl
+	rule__Repository__Group_3__4__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group__5__Impl
+rule__Repository__Group_3__4__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5()); }
+{ before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_3_4()); }
 
 	'}' 
 
-{ after(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5()); }
+{ after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_3_4()); }
 )
 
 ;
@@ -1238,31 +1358,29 @@ finally {
 
 
 
-
-
-rule__Interface__Group_3__0
+rule__Repository__Group_3_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_3__0__Impl
-	rule__Interface__Group_3__1
+	rule__Repository__Group_3_3__0__Impl
+	rule__Repository__Group_3_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_3__0__Impl
+rule__Repository__Group_3_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0()); }
+{ before(grammarAccess.getRepositoryAccess().getCommaKeyword_3_3_0()); }
 
-	'parentInterfaces' 
+	',' 
 
-{ after(grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0()); }
+{ after(grammarAccess.getRepositoryAccess().getCommaKeyword_3_3_0()); }
 )
 
 ;
@@ -1271,29 +1389,26 @@ finally {
 }
 
 
-rule__Interface__Group_3__1
+rule__Repository__Group_3_3__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_3__1__Impl
-	rule__Interface__Group_3__2
+	rule__Repository__Group_3_3__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_3__1__Impl
+rule__Repository__Group_3_3__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1()); }
-
-	'(' 
-
-{ after(grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1()); }
+{ before(grammarAccess.getRepositoryAccess().getImportsAssignment_3_3_1()); }
+(rule__Repository__ImportsAssignment_3_3_1)
+{ after(grammarAccess.getRepositoryAccess().getImportsAssignment_3_3_1()); }
 )
 
 ;
@@ -1302,27 +1417,33 @@ finally {
 }
 
 
-rule__Interface__Group_3__2
+
+
+
+
+rule__Repository__Group_4__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_3__2__Impl
-	rule__Interface__Group_3__3
+	rule__Repository__Group_4__0__Impl
+	rule__Repository__Group_4__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_3__2__Impl
+rule__Repository__Group_4__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2()); }
-(rule__Interface__ParentInterfacesAssignment_3_2)
-{ after(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2()); }
+{ before(grammarAccess.getRepositoryAccess().getDatatypesKeyword_4_0()); }
+
+	'datatypes' 
+
+{ after(grammarAccess.getRepositoryAccess().getDatatypesKeyword_4_0()); }
 )
 
 ;
@@ -1331,27 +1452,29 @@ finally {
 }
 
 
-rule__Interface__Group_3__3
+rule__Repository__Group_4__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_3__3__Impl
-	rule__Interface__Group_3__4
+	rule__Repository__Group_4__1__Impl
+	rule__Repository__Group_4__2
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_3__3__Impl
+rule__Repository__Group_4__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getGroup_3_3()); }
-(rule__Interface__Group_3_3__0)*
-{ after(grammarAccess.getInterfaceAccess().getGroup_3_3()); }
+{ before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_4_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_4_1()); }
 )
 
 ;
@@ -1360,28 +1483,27 @@ finally {
 }
 
 
-rule__Interface__Group_3__4
+rule__Repository__Group_4__2
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_3__4__Impl
+	rule__Repository__Group_4__2__Impl
+	rule__Repository__Group_4__3
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_3__4__Impl
+rule__Repository__Group_4__2__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4()); }
-
-	')' 
-
-{ after(grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4()); }
+{ before(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_2()); }
+(rule__Repository__DatatypesAssignment_4_2)
+{ after(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_2()); }
 )
 
 ;
@@ -1390,39 +1512,27 @@ finally {
 }
 
 
-
-
-
-
-
-
-
-
-
-
-rule__Interface__Group_3_3__0
+rule__Repository__Group_4__3
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_3_3__0__Impl
-	rule__Interface__Group_3_3__1
+	rule__Repository__Group_4__3__Impl
+	rule__Repository__Group_4__4
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_3_3__0__Impl
+rule__Repository__Group_4__3__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0()); }
-
-	',' 
-
-{ after(grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0()); }
+{ before(grammarAccess.getRepositoryAccess().getGroup_4_3()); }
+(rule__Repository__Group_4_3__0)*
+{ after(grammarAccess.getRepositoryAccess().getGroup_4_3()); }
 )
 
 ;
@@ -1431,26 +1541,1171 @@ finally {
 }
 
 
-rule__Interface__Group_3_3__1
+rule__Repository__Group_4__4
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_3_3__1__Impl
+	rule__Repository__Group_4__4__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_3_3__1__Impl
+rule__Repository__Group_4__4__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1()); }
-(rule__Interface__ParentInterfacesAssignment_3_3_1)
-{ after(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1()); }
+{ before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Repository__Group_4_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_4_3__0__Impl
+	rule__Repository__Group_4_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_4_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getCommaKeyword_4_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getRepositoryAccess().getCommaKeyword_4_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_4_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_4_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_4_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_3_1()); }
+(rule__Repository__DatatypesAssignment_4_3_1)
+{ after(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Repository__Group_5__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_5__0__Impl
+	rule__Repository__Group_5__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_5__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getComponentsKeyword_5_0()); }
+
+	'components' 
+
+{ after(grammarAccess.getRepositoryAccess().getComponentsKeyword_5_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_5__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_5__1__Impl
+	rule__Repository__Group_5__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_5__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_5__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_5__2__Impl
+	rule__Repository__Group_5__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_5__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_2()); }
+(rule__Repository__ComponentsAssignment_5_2)
+{ after(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_5__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_5__3__Impl
+	rule__Repository__Group_5__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_5__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getGroup_5_3()); }
+(rule__Repository__Group_5_3__0)*
+{ after(grammarAccess.getRepositoryAccess().getGroup_5_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_5__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_5__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_5__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Repository__Group_5_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_5_3__0__Impl
+	rule__Repository__Group_5_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_5_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getSemicolonKeyword_5_3_0()); }
+
+	';' 
+
+{ after(grammarAccess.getRepositoryAccess().getSemicolonKeyword_5_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_5_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_5_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_5_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_3_1()); }
+(rule__Repository__ComponentsAssignment_5_3_1)
+{ after(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Repository__Group_6__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_6__0__Impl
+	rule__Repository__Group_6__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_6__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0()); }
+
+	'interfaces' 
+
+{ after(grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_6__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_6__1__Impl
+	rule__Repository__Group_6__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_6__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1()); }
+
+	'{' 
+
+{ after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_6__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_6__2__Impl
+	rule__Repository__Group_6__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_6__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_2()); }
+(rule__Repository__InterfacesAssignment_6_2)
+{ after(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_6__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_6__3__Impl
+	rule__Repository__Group_6__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_6__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getGroup_6_3()); }
+(rule__Repository__Group_6_3__0)*
+{ after(grammarAccess.getRepositoryAccess().getGroup_6_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_6__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_6__4__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_6__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4()); }
+
+	'}' 
+
+{ after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Repository__Group_6_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_6_3__0__Impl
+	rule__Repository__Group_6_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_6_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0()); }
+
+	',' 
+
+{ after(grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Repository__Group_6_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Repository__Group_6_3__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__Group_6_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_3_1()); }
+(rule__Repository__InterfacesAssignment_6_3_1)
+{ after(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Import__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Import__Group__0__Impl
+	rule__Import__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Import__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getImportAccess().getImportKeyword_0()); }
+
+	'import' 
+
+{ after(grammarAccess.getImportAccess().getImportKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Import__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Import__Group__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Import__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); }
+(rule__Import__ImportedNamespaceAssignment_1)
+{ after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QualifiedNameWithWildCard__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__QualifiedNameWithWildCard__Group__0__Impl
+	rule__QualifiedNameWithWildCard__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__QualifiedNameWithWildCard__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); }
+	ruleQualifiedName
+{ after(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__QualifiedNameWithWildCard__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__QualifiedNameWithWildCard__Group__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__QualifiedNameWithWildCard__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup_1()); }
+(rule__QualifiedNameWithWildCard__Group_1__0)?
+{ after(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QualifiedNameWithWildCard__Group_1__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__QualifiedNameWithWildCard__Group_1__0__Impl
+	rule__QualifiedNameWithWildCard__Group_1__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__QualifiedNameWithWildCard__Group_1__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); }
+
+	'.' 
+
+{ after(grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__QualifiedNameWithWildCard__Group_1__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__QualifiedNameWithWildCard__Group_1__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__QualifiedNameWithWildCard__Group_1__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); }
+
+	'*' 
+
+{ after(grammarAccess.getQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QualifiedName__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__QualifiedName__Group__0__Impl
+	rule__QualifiedName__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); }
+	RULE_ID
+{ after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__QualifiedName__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__QualifiedName__Group__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
+(rule__QualifiedName__Group_1__0)*
+{ after(grammarAccess.getQualifiedNameAccess().getGroup_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__QualifiedName__Group_1__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__QualifiedName__Group_1__0__Impl
+	rule__QualifiedName__Group_1__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group_1__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); }
+
+	'.' 
+
+{ after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__QualifiedName__Group_1__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__QualifiedName__Group_1__1__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__QualifiedName__Group_1__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); }
+	RULE_ID
+{ after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Interface__Group__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group__0__Impl
+	rule__Interface__Group__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); }
+
+	'Interface' 
+
+{ after(grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Interface__Group__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group__1__Impl
+	rule__Interface__Group__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getNameAssignment_1()); }
+(rule__Interface__NameAssignment_1)
+{ after(grammarAccess.getInterfaceAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Interface__Group__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group__2__Impl
+	rule__Interface__Group__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); }
+
+	'{' 
+
+{ after(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Interface__Group__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group__3__Impl
+	rule__Interface__Group__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getGroup_3()); }
+(rule__Interface__Group_3__0)?
+{ after(grammarAccess.getInterfaceAccess().getGroup_3()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Interface__Group__4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group__4__Impl
+	rule__Interface__Group__5
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group__4__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getGroup_4()); }
+(rule__Interface__Group_4__0)?
+{ after(grammarAccess.getInterfaceAccess().getGroup_4()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Interface__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group__5__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5()); }
+
+	'}' 
+
+{ after(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Interface__Group_3__0
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group_3__0__Impl
+	rule__Interface__Group_3__1
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group_3__0__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0()); }
+
+	'parentInterfaces' 
+
+{ after(grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Interface__Group_3__1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group_3__1__Impl
+	rule__Interface__Group_3__2
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group_3__1__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1()); }
+
+	'(' 
+
+{ after(grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Interface__Group_3__2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group_3__2__Impl
+	rule__Interface__Group_3__3
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group_3__2__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2()); }
+(rule__Interface__ParentInterfacesAssignment_3_2)
+{ after(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__Interface__Group_3__3
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__Interface__Group_3__3__Impl
+	rule__Interface__Group_3__4
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Interface__Group_3__3__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getInterfaceAccess().getGroup_3_3()); }
+(rule__Interface__Group_3_3__0)*
+{ after(grammarAccess.getInterfaceAccess().getGroup_3_3()); }
 )
 
 ;
@@ -1459,33 +2714,28 @@ finally {
 }
 
 
-
-
-
-
-rule__Interface__Group_4__0
+rule__Interface__Group_3__4
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_4__0__Impl
-	rule__Interface__Group_4__1
+	rule__Interface__Group_3__4__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_4__0__Impl
+rule__Interface__Group_3__4__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getSignaturesKeyword_4_0()); }
+{ before(grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4()); }
 
-	'signatures' 
+	')' 
 
-{ after(grammarAccess.getInterfaceAccess().getSignaturesKeyword_4_0()); }
+{ after(grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4()); }
 )
 
 ;
@@ -1494,29 +2744,39 @@ finally {
 }
 
 
-rule__Interface__Group_4__1
+
+
+
+
+
+
+
+
+
+
+rule__Interface__Group_3_3__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_4__1__Impl
-	rule__Interface__Group_4__2
+	rule__Interface__Group_3_3__0__Impl
+	rule__Interface__Group_3_3__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_4__1__Impl
+rule__Interface__Group_3_3__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_4_1()); }
+{ before(grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0()); }
 
-	'{' 
+	',' 
 
-{ after(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_4_1()); }
+{ after(grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0()); }
 )
 
 ;
@@ -1525,27 +2785,26 @@ finally {
 }
 
 
-rule__Interface__Group_4__2
+rule__Interface__Group_3_3__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_4__2__Impl
-	rule__Interface__Group_4__3
+	rule__Interface__Group_3_3__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_4__2__Impl
+rule__Interface__Group_3_3__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_2()); }
-(rule__Interface__SignaturesAssignment_4_2)
-{ after(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_2()); }
+{ before(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1()); }
+(rule__Interface__ParentInterfacesAssignment_3_3_1)
+{ after(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1()); }
 )
 
 ;
@@ -1554,27 +2813,31 @@ finally {
 }
 
 
-rule__Interface__Group_4__3
+
+
+
+
+rule__Interface__Group_4__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_4__3__Impl
-	rule__Interface__Group_4__4
+	rule__Interface__Group_4__0__Impl
+	rule__Interface__Group_4__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_4__3__Impl
+rule__Interface__Group_4__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getGroup_4_3()); }
-(rule__Interface__Group_4_3__0)*
-{ after(grammarAccess.getInterfaceAccess().getGroup_4_3()); }
+{ before(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_0()); }
+(rule__Interface__SignaturesAssignment_4_0)
+{ after(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_0()); }
 )
 
 ;
@@ -1583,28 +2846,26 @@ finally {
 }
 
 
-rule__Interface__Group_4__4
+rule__Interface__Group_4__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_4__4__Impl
+	rule__Interface__Group_4__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_4__4__Impl
+rule__Interface__Group_4__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_4_4()); }
-
-	'}' 
-
-{ after(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_4_4()); }
+{ before(grammarAccess.getInterfaceAccess().getGroup_4_1()); }
+(rule__Interface__Group_4_1__0)*
+{ after(grammarAccess.getInterfaceAccess().getGroup_4_1()); }
 )
 
 ;
@@ -1617,35 +2878,29 @@ finally {
 
 
 
-
-
-
-
-
-
-rule__Interface__Group_4_3__0
+rule__Interface__Group_4_1__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_4_3__0__Impl
-	rule__Interface__Group_4_3__1
+	rule__Interface__Group_4_1__0__Impl
+	rule__Interface__Group_4_1__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_4_3__0__Impl
+rule__Interface__Group_4_1__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getCommaKeyword_4_3_0()); }
+{ before(grammarAccess.getInterfaceAccess().getCommaKeyword_4_1_0()); }
 
 	',' 
 
-{ after(grammarAccess.getInterfaceAccess().getCommaKeyword_4_3_0()); }
+{ after(grammarAccess.getInterfaceAccess().getCommaKeyword_4_1_0()); }
 )
 
 ;
@@ -1654,26 +2909,26 @@ finally {
 }
 
 
-rule__Interface__Group_4_3__1
+rule__Interface__Group_4_1__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__Interface__Group_4_3__1__Impl
+	rule__Interface__Group_4_1__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__Group_4_3__1__Impl
+rule__Interface__Group_4_1__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_3_1()); }
-(rule__Interface__SignaturesAssignment_4_3_1)
-{ after(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_3_1()); }
+{ before(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_1_1()); }
+(rule__Interface__SignaturesAssignment_4_1_1)
+{ after(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_1_1()); }
 )
 
 ;
@@ -4187,11 +5442,11 @@ rule__ProvidedRole__Group__0__Impl
     }
 :
 (
-{ before(grammarAccess.getProvidedRoleAccess().getProvidedRoleAction_0()); }
-(
+{ before(grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0()); }
 
-)
-{ after(grammarAccess.getProvidedRoleAccess().getProvidedRoleAction_0()); }
+	'ProvidedRole' 
+
+{ after(grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0()); }
 )
 
 ;
@@ -4218,11 +5473,9 @@ rule__ProvidedRole__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_1()); }
-
-	'ProvidedRole' 
-
-{ after(grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_1()); }
+{ before(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_1()); }
+(rule__ProvidedRole__InterfaceAssignment_1)
+{ after(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_1()); }
 )
 
 ;
@@ -4248,74 +5501,11 @@ rule__ProvidedRole__Group__2__Impl
     }
 :
 (
-{ before(grammarAccess.getProvidedRoleAccess().getGroup_2()); }
-(rule__ProvidedRole__Group_2__0)*
-{ after(grammarAccess.getProvidedRoleAccess().getGroup_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__ProvidedRole__Group_2__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProvidedRole__Group_2__0__Impl
-	rule__ProvidedRole__Group_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProvidedRole__Group_2__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_2_0()); }
-(rule__ProvidedRole__InterfaceAssignment_2_0)
-{ after(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__ProvidedRole__Group_2__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__ProvidedRole__Group_2__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__ProvidedRole__Group_2__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getProvidedRoleAccess().getCommaKeyword_2_1()); }
+{ before(grammarAccess.getProvidedRoleAccess().getCommaKeyword_2()); }
 (
 	',' 
 )?
-{ after(grammarAccess.getProvidedRoleAccess().getCommaKeyword_2_1()); }
+{ after(grammarAccess.getProvidedRoleAccess().getCommaKeyword_2()); }
 )
 
 ;
@@ -4328,6 +5518,8 @@ finally {
 
 
 
+
+
 rule__RequiredRole__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -4346,11 +5538,11 @@ rule__RequiredRole__Group__0__Impl
     }
 :
 (
-{ before(grammarAccess.getRequiredRoleAccess().getRequiredRoleAction_0()); }
-(
+{ before(grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0()); }
 
-)
-{ after(grammarAccess.getRequiredRoleAccess().getRequiredRoleAction_0()); }
+	'RequiredRole' 
+
+{ after(grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0()); }
 )
 
 ;
@@ -4377,11 +5569,9 @@ rule__RequiredRole__Group__1__Impl
     }
 :
 (
-{ before(grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_1()); }
-
-	'RequiredRole' 
-
-{ after(grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_1()); }
+{ before(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_1()); }
+(rule__RequiredRole__InterfaceAssignment_1)
+{ after(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_1()); }
 )
 
 ;
@@ -4407,74 +5597,11 @@ rule__RequiredRole__Group__2__Impl
     }
 :
 (
-{ before(grammarAccess.getRequiredRoleAccess().getGroup_2()); }
-(rule__RequiredRole__Group_2__0)*
-{ after(grammarAccess.getRequiredRoleAccess().getGroup_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__RequiredRole__Group_2__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__RequiredRole__Group_2__0__Impl
-	rule__RequiredRole__Group_2__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__RequiredRole__Group_2__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_2_0()); }
-(rule__RequiredRole__InterfaceAssignment_2_0)
-{ after(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_2_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__RequiredRole__Group_2__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__RequiredRole__Group_2__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__RequiredRole__Group_2__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getRequiredRoleAccess().getCommaKeyword_2_1()); }
+{ before(grammarAccess.getRequiredRoleAccess().getCommaKeyword_2()); }
 (
 	',' 
 )?
-{ after(grammarAccess.getRequiredRoleAccess().getCommaKeyword_2_1()); }
+{ after(grammarAccess.getRequiredRoleAccess().getCommaKeyword_2()); }
 )
 
 ;
@@ -4487,6 +5614,8 @@ finally {
 
 
 
+
+
 rule__BasicComponent__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -9326,8 +10455,98 @@ rule__Repository__NameAssignment_1
     }
 :
 (
-{ before(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_1_0()); }
-	ruleEString{ after(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_1_0()); }
+{ before(grammarAccess.getRepositoryAccess().getNameQualifiedNameParserRuleCall_1_0()); }
+	ruleQualifiedName{ after(grammarAccess.getRepositoryAccess().getNameQualifiedNameParserRuleCall_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__ImportsAssignment_3_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_2_0()); }
+	ruleImport{ after(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__ImportsAssignment_3_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_3_1_0()); }
+	ruleImport{ after(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__DatatypesAssignment_4_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_2_0()); }
+	ruleDataType{ after(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__DatatypesAssignment_4_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_3_1_0()); }
+	ruleDataType{ after(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_3_1_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__ComponentsAssignment_5_2
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_2_0()); }
+	ruleRepositoryComponent{ after(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_2_0()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__Repository__ComponentsAssignment_5_3_1
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_3_1_0()); }
+	ruleRepositoryComponent{ after(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_3_1_0()); }
 )
 
 ;
@@ -9335,14 +10554,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Repository__DatatypesAssignment_3_0
+rule__Repository__InterfacesAssignment_6_2
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_3_0_0()); }
-	ruleDataType{ after(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_3_0_0()); }
+{ before(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); }
+	ruleInterface{ after(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); }
 )
 
 ;
@@ -9350,14 +10569,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Repository__InterfacesAssignment_3_1
+rule__Repository__InterfacesAssignment_6_3_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_3_1_0()); }
-	ruleInterface{ after(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_3_1_0()); }
+{ before(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); }
+	ruleInterface{ after(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); }
 )
 
 ;
@@ -9365,14 +10584,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Repository__ComponentsAssignment_3_2
+rule__Import__ImportedNamespaceAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_3_2_0()); }
-	ruleRepositoryComponent{ after(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_3_2_0()); }
+{ before(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); }
+	ruleQualifiedNameWithWildCard{ after(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); }
 )
 
 ;
@@ -9433,14 +10652,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__SignaturesAssignment_4_2
+rule__Interface__SignaturesAssignment_4_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_2_0()); }
-	ruleSignature{ after(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_2_0()); }
+{ before(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_0_0()); }
+	ruleSignature{ after(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_0_0()); }
 )
 
 ;
@@ -9448,14 +10667,14 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__Interface__SignaturesAssignment_4_3_1
+rule__Interface__SignaturesAssignment_4_1_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_3_1_0()); }
-	ruleSignature{ after(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_3_1_0()); }
+{ before(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_1_1_0()); }
+	ruleSignature{ after(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_1_1_0()); }
 )
 
 ;
@@ -9855,18 +11074,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__ProvidedRole__InterfaceAssignment_2_0
+rule__ProvidedRole__InterfaceAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); }
+{ before(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_1_0()); }
 (
-{ before(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceEStringParserRuleCall_2_0_0_1()); }
-	ruleEString{ after(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceEStringParserRuleCall_2_0_0_1()); }
+{ before(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceEStringParserRuleCall_1_0_1()); }
+	ruleEString{ after(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceEStringParserRuleCall_1_0_1()); }
 )
-{ after(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); }
+{ after(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_1_0()); }
 )
 
 ;
@@ -9874,18 +11093,18 @@ finally {
 	restoreStackSize(stackSize);
 }
 
-rule__RequiredRole__InterfaceAssignment_2_0
+rule__RequiredRole__InterfaceAssignment_1
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); }
+{ before(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_1_0()); }
 (
-{ before(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceEStringParserRuleCall_2_0_0_1()); }
-	ruleEString{ after(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceEStringParserRuleCall_2_0_0_1()); }
+{ before(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceEStringParserRuleCall_1_0_1()); }
+	ruleEString{ after(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceEStringParserRuleCall_1_0_1()); }
 )
-{ after(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); }
+{ after(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_1_0()); }
 )
 
 ;
diff --git a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.tokens b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.tokens
index b084c699..775fd6fc 100644
--- a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.tokens
+++ b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.tokens
@@ -1,5 +1,8 @@
+T__68=68
+T__69=69
 RULE_ID=5
 T__66=66
+T__67=67
 T__64=64
 T__29=29
 T__65=65
@@ -53,67 +56,78 @@ T__30=30
 T__31=31
 RULE_STRING=4
 T__32=32
+T__71=71
 T__33=33
+T__72=72
 T__34=34
 T__35=35
+T__70=70
 T__36=36
 T__37=37
 T__38=38
 T__39=39
 RULE_WS=9
-'requiredRole'=56
-'type'=38
+T__73=73
+'requiredRole'=63
+'type'=45
 'DOUBLE'=15
-'providedRoles'=30
-'outerProvidedRole'=63
-'requiringAssemblyContext'=59
-'BasicComponent'=44
-'innerType'=33
-'CompositeComponent'=45
-'InnerDeclaration'=40
-'CompositeDataType'=34
-'RequiredRole'=43
-'innerRequiredRole'=65
-'assembly'=46
-'encapsulatedComponent'=54
-'RequiredDelegationConnector'=64
+'providedRoles'=37
+'outerProvidedRole'=70
+'requiringAssemblyContext'=66
+';'=26
+'BasicComponent'=51
+'innerType'=40
+'CompositeComponent'=52
+'InnerDeclaration'=47
+'.'=29
+'imports'=22
+'import'=28
+'CompositeDataType'=41
+'components'=25
+'RequiredRole'=50
+'innerRequiredRole'=72
+'assembly'=53
+'encapsulatedComponent'=61
+'RequiredDelegationConnector'=71
 '{'=20
-'assemblyConnectors'=50
+'assemblyConnectors'=57
+'Interface'=31
 'void'=11
-'Interface'=22
-'parentInterfaces'=23
-'('=24
-'ref'=39
-'innerProvidedRole'=62
-','=26
-'SubSystem'=47
+'parentInterfaces'=32
+'('=33
+'ref'=46
+'innerProvidedRole'=69
+','=23
+'SubSystem'=54
 'BOOL'=14
 'INT'=12
-'ComposedStructureAssembly'=48
-'providedRole'=57
-'providingAssemblyContext'=58
-'relationship'=29
-'PrimitiveDataType'=37
-'assemblyContexts'=49
-'dataType'=41
-'requiredRoles'=31
+'ComposedStructureAssembly'=55
+'providedRole'=64
+'providingAssemblyContext'=65
+'relationship'=36
+'PrimitiveDataType'=44
+'assemblyContexts'=56
+'dataType'=48
+'requiredRoles'=38
 'Repository'=19
+'interfaces'=27
 'CHAR'=16
-')'=25
+')'=34
 'LONG'=18
-'outerRequiredRole'=66
-'parentTypes'=35
-'AssemblyContext'=53
-'innerDeclarations'=36
+'outerRequiredRole'=73
+'parentTypes'=42
+'AssemblyContext'=60
+'innerDeclarations'=43
 '}'=21
-'AssemblyConnector'=55
-'ProvidedRole'=42
-'ProvidedDelegationConnector'=60
-'CollectionDataType'=32
-'RepositoryComponent'=28
+'AssemblyConnector'=62
+'datatypes'=24
+'ProvidedRole'=49
+'ProvidedDelegationConnector'=67
+'CollectionDataType'=39
+'RepositoryComponent'=35
 'STRING'=13
-'signatures'=27
-'providedDelegationConnectors'=51
-'assemblyContext'=61
+'providedDelegationConnectors'=58
+'assemblyContext'=68
+'*'=30
 'BYTE'=17
-'requiredDelegationConnectors'=52
+'requiredDelegationConnectors'=59
diff --git a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTestLexer.java b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTestLexer.java
index 0932a942..a9086a1b 100644
--- a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTestLexer.java
+++ b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTestLexer.java
@@ -12,10 +12,13 @@ import java.util.ArrayList;
 
 @SuppressWarnings("all")
 public class InternalMyDslTestLexer extends Lexer {
+    public static final int T__68=68;
+    public static final int T__69=69;
     public static final int RULE_ID=5;
     public static final int T__66=66;
-    public static final int T__64=64;
+    public static final int T__67=67;
     public static final int T__29=29;
+    public static final int T__64=64;
     public static final int T__28=28;
     public static final int T__65=65;
     public static final int T__27=27;
@@ -26,8 +29,8 @@ public class InternalMyDslTestLexer extends Lexer {
     public static final int T__24=24;
     public static final int T__23=23;
     public static final int T__22=22;
-    public static final int T__21=21;
     public static final int RULE_ANY_OTHER=10;
+    public static final int T__21=21;
     public static final int T__20=20;
     public static final int T__61=61;
     public static final int EOF=-1;
@@ -69,13 +72,17 @@ public class InternalMyDslTestLexer extends Lexer {
     public static final int T__32=32;
     public static final int RULE_STRING=4;
     public static final int T__33=33;
+    public static final int T__71=71;
     public static final int T__34=34;
+    public static final int T__72=72;
     public static final int T__35=35;
     public static final int T__36=36;
+    public static final int T__70=70;
     public static final int T__37=37;
     public static final int T__38=38;
     public static final int T__39=39;
     public static final int RULE_WS=9;
+    public static final int T__73=73;
 
     // delegates
     // delegators
@@ -324,10 +331,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:22:7: ( 'Interface' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:22:9: 'Interface'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:22:7: ( 'imports' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:22:9: 'imports'
             {
-            match("Interface"); 
+            match("imports"); 
 
 
             }
@@ -345,11 +352,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:23:7: ( 'parentInterfaces' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:23:9: 'parentInterfaces'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:23:7: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:23:9: ','
             {
-            match("parentInterfaces"); 
-
+            match(','); 
 
             }
 
@@ -366,10 +372,11 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:24:7: ( '(' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:24:9: '('
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:24:7: ( 'datatypes' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:24:9: 'datatypes'
             {
-            match('('); 
+            match("datatypes"); 
+
 
             }
 
@@ -386,10 +393,11 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:25:7: ( ')' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:25:9: ')'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:25:7: ( 'components' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:25:9: 'components'
             {
-            match(')'); 
+            match("components"); 
+
 
             }
 
@@ -406,10 +414,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:26:7: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:26:9: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:26:7: ( ';' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:26:9: ';'
             {
-            match(','); 
+            match(';'); 
 
             }
 
@@ -426,10 +434,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:27:7: ( 'signatures' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:27:9: 'signatures'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:27:7: ( 'interfaces' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:27:9: 'interfaces'
             {
-            match("signatures"); 
+            match("interfaces"); 
 
 
             }
@@ -447,10 +455,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:28:7: ( 'RepositoryComponent' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:28:9: 'RepositoryComponent'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:28:7: ( 'import' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:28:9: 'import'
             {
-            match("RepositoryComponent"); 
+            match("import"); 
 
 
             }
@@ -468,11 +476,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:29:7: ( 'relationship' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:29:9: 'relationship'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:29:7: ( '.' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:29:9: '.'
             {
-            match("relationship"); 
-
+            match('.'); 
 
             }
 
@@ -489,11 +496,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:30:7: ( 'providedRoles' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:30:9: 'providedRoles'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:30:7: ( '*' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:30:9: '*'
             {
-            match("providedRoles"); 
-
+            match('*'); 
 
             }
 
@@ -510,10 +516,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:31:7: ( 'requiredRoles' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:31:9: 'requiredRoles'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:31:7: ( 'Interface' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:31:9: 'Interface'
             {
-            match("requiredRoles"); 
+            match("Interface"); 
 
 
             }
@@ -531,10 +537,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:32:7: ( 'CollectionDataType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:32:9: 'CollectionDataType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:32:7: ( 'parentInterfaces' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:32:9: 'parentInterfaces'
             {
-            match("CollectionDataType"); 
+            match("parentInterfaces"); 
 
 
             }
@@ -552,11 +558,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:33:7: ( 'innerType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:33:9: 'innerType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:33:7: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:33:9: '('
             {
-            match("innerType"); 
-
+            match('('); 
 
             }
 
@@ -573,11 +578,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:34:7: ( 'CompositeDataType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:34:9: 'CompositeDataType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:34:7: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:34:9: ')'
             {
-            match("CompositeDataType"); 
-
+            match(')'); 
 
             }
 
@@ -594,10 +598,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:35:7: ( 'parentTypes' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:35:9: 'parentTypes'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:35:7: ( 'RepositoryComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:35:9: 'RepositoryComponent'
             {
-            match("parentTypes"); 
+            match("RepositoryComponent"); 
 
 
             }
@@ -615,10 +619,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:36:7: ( 'innerDeclarations' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:36:9: 'innerDeclarations'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:36:7: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:36:9: 'relationship'
             {
-            match("innerDeclarations"); 
+            match("relationship"); 
 
 
             }
@@ -636,10 +640,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:37:7: ( 'PrimitiveDataType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:37:9: 'PrimitiveDataType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:37:7: ( 'providedRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:37:9: 'providedRoles'
             {
-            match("PrimitiveDataType"); 
+            match("providedRoles"); 
 
 
             }
@@ -657,10 +661,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:38:7: ( 'type' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:38:9: 'type'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:38:7: ( 'requiredRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:38:9: 'requiredRoles'
             {
-            match("type"); 
+            match("requiredRoles"); 
 
 
             }
@@ -678,10 +682,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:39:7: ( 'ref' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:39:9: 'ref'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:39:7: ( 'CollectionDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:39:9: 'CollectionDataType'
             {
-            match("ref"); 
+            match("CollectionDataType"); 
 
 
             }
@@ -699,10 +703,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:40:7: ( 'InnerDeclaration' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:40:9: 'InnerDeclaration'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:40:7: ( 'innerType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:40:9: 'innerType'
             {
-            match("InnerDeclaration"); 
+            match("innerType"); 
 
 
             }
@@ -720,10 +724,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:41:7: ( 'dataType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:41:9: 'dataType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:41:7: ( 'CompositeDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:41:9: 'CompositeDataType'
             {
-            match("dataType"); 
+            match("CompositeDataType"); 
 
 
             }
@@ -741,10 +745,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:42:7: ( 'ProvidedRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:42:9: 'ProvidedRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:42:7: ( 'parentTypes' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:42:9: 'parentTypes'
             {
-            match("ProvidedRole"); 
+            match("parentTypes"); 
 
 
             }
@@ -762,10 +766,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:43:7: ( 'RequiredRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:43:9: 'RequiredRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:43:7: ( 'innerDeclarations' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:43:9: 'innerDeclarations'
             {
-            match("RequiredRole"); 
+            match("innerDeclarations"); 
 
 
             }
@@ -783,10 +787,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:44:7: ( 'BasicComponent' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:44:9: 'BasicComponent'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:44:7: ( 'PrimitiveDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:44:9: 'PrimitiveDataType'
             {
-            match("BasicComponent"); 
+            match("PrimitiveDataType"); 
 
 
             }
@@ -804,10 +808,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:45:7: ( 'CompositeComponent' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:45:9: 'CompositeComponent'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:45:7: ( 'type' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:45:9: 'type'
             {
-            match("CompositeComponent"); 
+            match("type"); 
 
 
             }
@@ -825,10 +829,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:46:7: ( 'assembly' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:46:9: 'assembly'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:46:7: ( 'ref' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:46:9: 'ref'
             {
-            match("assembly"); 
+            match("ref"); 
 
 
             }
@@ -846,10 +850,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:47:7: ( 'SubSystem' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:47:9: 'SubSystem'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:47:7: ( 'InnerDeclaration' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:47:9: 'InnerDeclaration'
             {
-            match("SubSystem"); 
+            match("InnerDeclaration"); 
 
 
             }
@@ -867,10 +871,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:48:7: ( 'ComposedStructureAssembly' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:48:9: 'ComposedStructureAssembly'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:48:7: ( 'dataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:48:9: 'dataType'
             {
-            match("ComposedStructureAssembly"); 
+            match("dataType"); 
 
 
             }
@@ -888,10 +892,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:49:7: ( 'assemblyContexts' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:49:9: 'assemblyContexts'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:49:7: ( 'ProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:49:9: 'ProvidedRole'
             {
-            match("assemblyContexts"); 
+            match("ProvidedRole"); 
 
 
             }
@@ -909,10 +913,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:50:7: ( 'assemblyConnectors' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:50:9: 'assemblyConnectors'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:50:7: ( 'RequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:50:9: 'RequiredRole'
             {
-            match("assemblyConnectors"); 
+            match("RequiredRole"); 
 
 
             }
@@ -930,10 +934,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:51:7: ( 'providedDelegationConnectors' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:51:9: 'providedDelegationConnectors'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:51:7: ( 'BasicComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:51:9: 'BasicComponent'
             {
-            match("providedDelegationConnectors"); 
+            match("BasicComponent"); 
 
 
             }
@@ -951,10 +955,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:52:7: ( 'requiredDelegationConnectors' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:52:9: 'requiredDelegationConnectors'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:52:7: ( 'CompositeComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:52:9: 'CompositeComponent'
             {
-            match("requiredDelegationConnectors"); 
+            match("CompositeComponent"); 
 
 
             }
@@ -972,10 +976,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:53:7: ( 'AssemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:53:9: 'AssemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:53:7: ( 'assembly' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:53:9: 'assembly'
             {
-            match("AssemblyContext"); 
+            match("assembly"); 
 
 
             }
@@ -993,10 +997,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:54:7: ( 'encapsulatedComponent' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:54:9: 'encapsulatedComponent'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:54:7: ( 'SubSystem' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:54:9: 'SubSystem'
             {
-            match("encapsulatedComponent"); 
+            match("SubSystem"); 
 
 
             }
@@ -1014,10 +1018,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:55:7: ( 'AssemblyConnector' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:55:9: 'AssemblyConnector'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:55:7: ( 'ComposedStructureAssembly' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:55:9: 'ComposedStructureAssembly'
             {
-            match("AssemblyConnector"); 
+            match("ComposedStructureAssembly"); 
 
 
             }
@@ -1035,10 +1039,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:56:7: ( 'requiredRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:56:9: 'requiredRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:56:7: ( 'assemblyContexts' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:56:9: 'assemblyContexts'
             {
-            match("requiredRole"); 
+            match("assemblyContexts"); 
 
 
             }
@@ -1056,10 +1060,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:57:7: ( 'providedRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:57:9: 'providedRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:57:7: ( 'assemblyConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:57:9: 'assemblyConnectors'
             {
-            match("providedRole"); 
+            match("assemblyConnectors"); 
 
 
             }
@@ -1077,10 +1081,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:58:7: ( 'providingAssemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:58:9: 'providingAssemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:58:7: ( 'providedDelegationConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:58:9: 'providedDelegationConnectors'
             {
-            match("providingAssemblyContext"); 
+            match("providedDelegationConnectors"); 
 
 
             }
@@ -1098,10 +1102,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:59:7: ( 'requiringAssemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:59:9: 'requiringAssemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:59:7: ( 'requiredDelegationConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:59:9: 'requiredDelegationConnectors'
             {
-            match("requiringAssemblyContext"); 
+            match("requiredDelegationConnectors"); 
 
 
             }
@@ -1119,10 +1123,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:60:7: ( 'ProvidedDelegationConnector' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:60:9: 'ProvidedDelegationConnector'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:60:7: ( 'AssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:60:9: 'AssemblyContext'
             {
-            match("ProvidedDelegationConnector"); 
+            match("AssemblyContext"); 
 
 
             }
@@ -1140,10 +1144,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:61:7: ( 'assemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:61:9: 'assemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:61:7: ( 'encapsulatedComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:61:9: 'encapsulatedComponent'
             {
-            match("assemblyContext"); 
+            match("encapsulatedComponent"); 
 
 
             }
@@ -1161,10 +1165,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:62:7: ( 'innerProvidedRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:62:9: 'innerProvidedRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:62:7: ( 'AssemblyConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:62:9: 'AssemblyConnector'
             {
-            match("innerProvidedRole"); 
+            match("AssemblyConnector"); 
 
 
             }
@@ -1182,10 +1186,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:63:7: ( 'outerProvidedRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:63:9: 'outerProvidedRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:63:7: ( 'requiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:63:9: 'requiredRole'
             {
-            match("outerProvidedRole"); 
+            match("requiredRole"); 
 
 
             }
@@ -1203,10 +1207,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:64:7: ( 'RequiredDelegationConnector' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:64:9: 'RequiredDelegationConnector'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:64:7: ( 'providedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:64:9: 'providedRole'
             {
-            match("RequiredDelegationConnector"); 
+            match("providedRole"); 
 
 
             }
@@ -1224,10 +1228,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:65:7: ( 'innerRequiredRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:65:9: 'innerRequiredRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:65:7: ( 'providingAssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:65:9: 'providingAssemblyContext'
             {
-            match("innerRequiredRole"); 
+            match("providingAssemblyContext"); 
 
 
             }
@@ -1245,10 +1249,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:66:7: ( 'outerRequiredRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:66:9: 'outerRequiredRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:66:7: ( 'requiringAssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:66:9: 'requiringAssemblyContext'
             {
-            match("outerRequiredRole"); 
+            match("requiringAssemblyContext"); 
 
 
             }
@@ -1261,15 +1265,162 @@ public class InternalMyDslTestLexer extends Lexer {
     }
     // $ANTLR end "T__66"
 
+    // $ANTLR start "T__67"
+    public final void mT__67() throws RecognitionException {
+        try {
+            int _type = T__67;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:67:7: ( 'ProvidedDelegationConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:67:9: 'ProvidedDelegationConnector'
+            {
+            match("ProvidedDelegationConnector"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__67"
+
+    // $ANTLR start "T__68"
+    public final void mT__68() throws RecognitionException {
+        try {
+            int _type = T__68;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:68:7: ( 'assemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:68:9: 'assemblyContext'
+            {
+            match("assemblyContext"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__68"
+
+    // $ANTLR start "T__69"
+    public final void mT__69() throws RecognitionException {
+        try {
+            int _type = T__69;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:69:7: ( 'innerProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:69:9: 'innerProvidedRole'
+            {
+            match("innerProvidedRole"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__69"
+
+    // $ANTLR start "T__70"
+    public final void mT__70() throws RecognitionException {
+        try {
+            int _type = T__70;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:70:7: ( 'outerProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:70:9: 'outerProvidedRole'
+            {
+            match("outerProvidedRole"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__70"
+
+    // $ANTLR start "T__71"
+    public final void mT__71() throws RecognitionException {
+        try {
+            int _type = T__71;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:71:7: ( 'RequiredDelegationConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:71:9: 'RequiredDelegationConnector'
+            {
+            match("RequiredDelegationConnector"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__71"
+
+    // $ANTLR start "T__72"
+    public final void mT__72() throws RecognitionException {
+        try {
+            int _type = T__72;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:72:7: ( 'innerRequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:72:9: 'innerRequiredRole'
+            {
+            match("innerRequiredRole"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__72"
+
+    // $ANTLR start "T__73"
+    public final void mT__73() throws RecognitionException {
+        try {
+            int _type = T__73;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:73:7: ( 'outerRequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:73:9: 'outerRequiredRole'
+            {
+            match("outerRequiredRole"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__73"
+
     // $ANTLR start "RULE_ID"
     public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10655:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10655:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11874:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11874:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10655:11: ( '^' )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11874:11: ( '^' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -1278,7 +1429,7 @@ public class InternalMyDslTestLexer extends Lexer {
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10655:11: '^'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11874:11: '^'
                     {
                     match('^'); 
 
@@ -1296,7 +1447,7 @@ public class InternalMyDslTestLexer extends Lexer {
                 recover(mse);
                 throw mse;}
 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10655:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11874:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop2:
             do {
                 int alt2=2;
@@ -1345,10 +1496,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10657:10: ( ( '0' .. '9' )+ )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10657:12: ( '0' .. '9' )+
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11876:10: ( ( '0' .. '9' )+ )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11876:12: ( '0' .. '9' )+
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10657:12: ( '0' .. '9' )+
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11876:12: ( '0' .. '9' )+
             int cnt3=0;
             loop3:
             do {
@@ -1362,7 +1513,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                 switch (alt3) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10657:13: '0' .. '9'
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11876:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1394,10 +1545,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
@@ -1415,10 +1566,10 @@ public class InternalMyDslTestLexer extends Lexer {
             }
             switch (alt6) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop4:
                     do {
                         int alt4=3;
@@ -1434,7 +1585,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                         switch (alt4) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
                     	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -1450,7 +1601,7 @@ public class InternalMyDslTestLexer extends Lexer {
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1475,10 +1626,10 @@ public class InternalMyDslTestLexer extends Lexer {
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop5:
                     do {
                         int alt5=3;
@@ -1494,7 +1645,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                         switch (alt5) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
                     	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -1510,7 +1661,7 @@ public class InternalMyDslTestLexer extends Lexer {
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11878:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1553,12 +1704,12 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10661:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10661:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11880:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11880:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10661:24: ( options {greedy=false; } : . )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11880:24: ( options {greedy=false; } : . )*
             loop7:
             do {
                 int alt7=2;
@@ -1583,7 +1734,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                 switch (alt7) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10661:52: .
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11880:52: .
             	    {
             	    matchAny(); 
 
@@ -1613,12 +1764,12 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10663:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10663:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11882:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11882:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10663:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11882:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop8:
             do {
                 int alt8=2;
@@ -1631,7 +1782,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                 switch (alt8) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10663:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11882:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1651,7 +1802,7 @@ public class InternalMyDslTestLexer extends Lexer {
                 }
             } while (true);
 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10663:40: ( ( '\\r' )? '\\n' )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11882:40: ( ( '\\r' )? '\\n' )?
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -1660,9 +1811,9 @@ public class InternalMyDslTestLexer extends Lexer {
             }
             switch (alt10) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10663:41: ( '\\r' )? '\\n'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11882:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10663:41: ( '\\r' )?
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11882:41: ( '\\r' )?
                     int alt9=2;
                     int LA9_0 = input.LA(1);
 
@@ -1671,7 +1822,7 @@ public class InternalMyDslTestLexer extends Lexer {
                     }
                     switch (alt9) {
                         case 1 :
-                            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10663:41: '\\r'
+                            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11882:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1703,10 +1854,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10665:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10665:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11884:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11884:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10665:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11884:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt11=0;
             loop11:
             do {
@@ -1760,8 +1911,8 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10667:16: ( . )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10667:18: .
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11886:16: ( . )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11886:18: .
             {
             matchAny(); 
 
@@ -1776,8 +1927,8 @@ public class InternalMyDslTestLexer extends Lexer {
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=63;
+        // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt12=70;
         alt12 = dfa12.predict(input);
         switch (alt12) {
             case 1 :
@@ -2173,49 +2324,98 @@ public class InternalMyDslTestLexer extends Lexer {
                 }
                 break;
             case 57 :
-                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:346: RULE_ID
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:346: T__67
                 {
-                mRULE_ID(); 
+                mT__67(); 
 
                 }
                 break;
             case 58 :
-                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:354: RULE_INT
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:352: T__68
                 {
-                mRULE_INT(); 
+                mT__68(); 
 
                 }
                 break;
             case 59 :
-                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:363: RULE_STRING
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:358: T__69
                 {
-                mRULE_STRING(); 
+                mT__69(); 
 
                 }
                 break;
             case 60 :
-                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:375: RULE_ML_COMMENT
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:364: T__70
                 {
-                mRULE_ML_COMMENT(); 
+                mT__70(); 
 
                 }
                 break;
             case 61 :
-                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:391: RULE_SL_COMMENT
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:370: T__71
                 {
-                mRULE_SL_COMMENT(); 
+                mT__71(); 
 
                 }
                 break;
             case 62 :
-                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:407: RULE_WS
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:376: T__72
                 {
-                mRULE_WS(); 
+                mT__72(); 
 
                 }
                 break;
             case 63 :
-                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:415: RULE_ANY_OTHER
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:382: T__73
+                {
+                mT__73(); 
+
+                }
+                break;
+            case 64 :
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:388: RULE_ID
+                {
+                mRULE_ID(); 
+
+                }
+                break;
+            case 65 :
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:396: RULE_INT
+                {
+                mRULE_INT(); 
+
+                }
+                break;
+            case 66 :
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:405: RULE_STRING
+                {
+                mRULE_STRING(); 
+
+                }
+                break;
+            case 67 :
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:417: RULE_ML_COMMENT
+                {
+                mRULE_ML_COMMENT(); 
+
+                }
+                break;
+            case 68 :
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:433: RULE_SL_COMMENT
+                {
+                mRULE_SL_COMMENT(); 
+
+                }
+                break;
+            case 69 :
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:449: RULE_WS
+                {
+                mRULE_WS(); 
+
+                }
+                break;
+            case 70 :
+                // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1:457: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2229,228 +2429,235 @@ public class InternalMyDslTestLexer extends Lexer {
 
     protected DFA12 dfa12 = new DFA12(this);
     static final String DFA12_eotS =
-        "\1\uffff\10\42\2\uffff\1\42\3\uffff\12\42\1\40\2\uffff\3\40\2\uffff"+
-        "\1\42\1\uffff\14\42\2\uffff\2\42\3\uffff\12\42\5\uffff\1\42\1\145"+
-        "\23\42\1\171\11\42\1\u0083\1\uffff\4\42\1\u0088\1\u0089\2\42\1\u008c"+
-        "\2\42\1\u008f\7\42\1\uffff\3\42\1\u009a\5\42\1\uffff\4\42\2\uffff"+
-        "\2\42\1\uffff\2\42\1\uffff\12\42\1\uffff\7\42\1\u00bd\2\42\1\u00c0"+
-        "\27\42\1\uffff\2\42\1\uffff\60\42\1\u0112\1\u0114\4\42\1\u0119\1"+
-        "\42\1\u011b\21\42\1\u012e\6\42\1\uffff\1\42\1\uffff\4\42\1\uffff"+
-        "\1\42\1\uffff\5\42\1\u0141\7\42\1\u0149\4\42\1\uffff\22\42\1\uffff"+
-        "\3\42\1\u0163\3\42\1\uffff\26\42\1\u017f\2\42\1\uffff\1\u0183\2"+
-        "\42\1\u0186\1\u0188\6\42\1\u018f\17\42\1\uffff\2\42\1\u01a1\1\uffff"+
-        "\2\42\1\uffff\1\u01a4\1\uffff\6\42\1\uffff\11\42\1\u01b4\7\42\1"+
-        "\uffff\2\42\1\uffff\17\42\1\uffff\20\42\1\u01de\1\42\1\u01e0\4\42"+
-        "\1\u01e5\6\42\1\u01ec\11\42\1\u01f6\1\uffff\1\42\1\uffff\4\42\1"+
-        "\uffff\1\42\1\u01fd\4\42\1\uffff\4\42\1\u0206\1\u0207\1\u0208\1"+
-        "\u0209\1\42\1\uffff\1\42\1\u020c\1\42\1\u020e\1\u020f\1\u0210\1"+
-        "\uffff\1\u0211\7\42\4\uffff\1\42\1\u021a\1\uffff\1\42\4\uffff\1"+
-        "\42\1\u021d\6\42\1\uffff\2\42\1\uffff\16\42\1\u0234\7\42\1\uffff"+
-        "\12\42\1\u0246\1\42\1\u0248\1\42\1\u024a\2\42\1\uffff\1\42\1\uffff"+
-        "\1\42\1\uffff\4\42\1\u0253\2\42\1\u0256\1\uffff\1\u0257\1\u0258"+
-        "\3\uffff";
+        "\1\uffff\10\45\2\uffff\1\45\1\uffff\2\45\3\uffff\1\45\2\uffff\7"+
+        "\45\1\43\2\uffff\3\43\2\uffff\1\45\1\uffff\14\45\2\uffff\2\45\1"+
+        "\uffff\2\45\3\uffff\2\45\2\uffff\7\45\5\uffff\1\45\1\156\27\45\1"+
+        "\u0086\7\45\1\u008e\1\uffff\4\45\1\u0093\1\u0094\2\45\1\u0097\2"+
+        "\45\1\u009a\13\45\1\uffff\2\45\1\u00a9\4\45\1\uffff\4\45\2\uffff"+
+        "\2\45\1\uffff\2\45\1\uffff\16\45\1\uffff\6\45\1\u00ce\2\45\1\u00d1"+
+        "\4\45\1\u00d8\25\45\1\uffff\2\45\1\uffff\5\45\1\u00f8\1\uffff\37"+
+        "\45\1\uffff\6\45\1\u011f\12\45\1\u012e\4\45\1\u0133\1\45\1\u0135"+
+        "\10\45\1\u013f\3\45\1\u0143\1\uffff\16\45\1\uffff\4\45\1\uffff\1"+
+        "\45\1\uffff\5\45\1\u015d\2\45\1\u0160\1\uffff\3\45\1\uffff\1\u0164"+
+        "\30\45\1\uffff\2\45\1\uffff\3\45\1\uffff\1\45\1\u0183\26\45\1\u019c"+
+        "\5\45\1\uffff\1\u01a3\2\45\1\u01a6\1\u01a8\3\45\1\u01ac\17\45\1"+
+        "\uffff\5\45\1\u01c1\1\uffff\2\45\1\uffff\1\u01c4\1\uffff\3\45\1"+
+        "\uffff\11\45\1\u01d1\12\45\1\uffff\2\45\1\uffff\14\45\1\uffff\20"+
+        "\45\1\u01fb\1\45\1\u01fd\4\45\1\u0202\11\45\1\u020c\6\45\1\u0213"+
+        "\1\uffff\1\45\1\uffff\4\45\1\uffff\1\45\1\u021a\4\45\1\u021f\1\u0220"+
+        "\1\u0221\1\uffff\4\45\1\u0226\1\45\1\uffff\1\45\1\u0229\1\45\1\u022b"+
+        "\1\u022c\1\u022d\1\uffff\1\u022e\3\45\3\uffff\4\45\1\uffff\1\45"+
+        "\1\u0237\1\uffff\1\45\4\uffff\1\45\1\u023a\6\45\1\uffff\2\45\1\uffff"+
+        "\16\45\1\u0251\7\45\1\uffff\12\45\1\u0263\1\45\1\u0265\1\45\1\u0267"+
+        "\2\45\1\uffff\1\45\1\uffff\1\45\1\uffff\4\45\1\u0270\2\45\1\u0273"+
+        "\1\uffff\1\u0274\1\u0275\3\uffff";
     static final String DFA12_eofS =
-        "\u0259\uffff";
+        "\u0276\uffff";
     static final String DFA12_minS =
-        "\1\0\1\157\1\116\1\124\2\117\1\110\1\117\1\145\2\uffff\1\141\3"+
-        "\uffff\1\151\1\145\1\156\1\162\1\171\1\141\2\163\1\156\1\165\1\101"+
-        "\2\uffff\2\0\1\52\2\uffff\1\151\1\uffff\1\124\1\156\1\122\1\142"+
-        "\1\117\1\124\1\163\1\125\1\101\1\154\1\116\1\160\2\uffff\1\162\1"+
-        "\157\3\uffff\1\147\1\146\1\156\1\151\1\160\1\164\2\163\1\143\1\164"+
-        "\5\uffff\1\144\1\60\2\145\1\111\1\123\1\114\1\105\1\151\1\102\1"+
-        "\122\1\154\1\160\1\107\1\157\1\165\1\145\1\166\1\156\1\141\1\165"+
-        "\1\60\1\145\1\155\1\166\1\145\1\141\2\145\1\141\1\145\1\60\1\uffff"+
-        "\2\162\1\116\1\171\2\60\1\143\1\114\1\60\1\145\1\157\1\60\1\163"+
-        "\1\151\1\156\1\151\1\141\1\164\1\151\1\uffff\1\162\2\151\1\60\1"+
-        "\124\2\155\1\160\1\162\1\uffff\1\146\1\104\1\107\1\163\2\uffff\1"+
-        "\103\1\105\1\uffff\1\143\1\163\1\uffff\1\151\1\162\1\164\1\144\1"+
-        "\164\1\151\1\162\1\104\1\164\1\144\1\uffff\1\171\2\142\1\163\1\120"+
-        "\1\141\1\145\1\60\1\164\1\157\1\60\1\164\1\145\1\164\1\145\1\111"+
-        "\1\145\1\165\1\157\1\145\1\171\1\145\1\162\1\145\1\151\1\145\1\160"+
-        "\2\154\1\165\1\162\1\145\2\143\1\uffff\1\145\1\155\1\uffff\1\151"+
-        "\1\164\1\144\1\157\1\144\1\156\1\171\1\144\1\156\1\162\1\156\1\144"+
-        "\1\156\1\160\1\143\1\157\1\161\1\166\1\144\1\145\2\171\1\154\1\157"+
-        "\1\161\1\145\1\154\1\155\1\160\1\157\1\145\1\123\1\162\1\104\1\164"+
-        "\1\160\1\104\1\147\1\145\1\163\1\104\1\147\1\145\1\154\1\166\1\165"+
-        "\1\145\1\104\2\60\1\103\1\141\1\166\1\165\1\60\1\141\1\60\1\157"+
-        "\1\156\1\103\1\164\1\171\1\157\3\145\1\157\1\145\1\101\1\163\1\150"+
-        "\1\157\1\145\1\101\1\60\1\141\2\151\1\104\1\157\1\145\1\uffff\1"+
-        "\157\1\uffff\1\157\1\164\2\151\1\uffff\1\162\1\uffff\1\156\1\104"+
-        "\1\141\1\157\1\162\1\60\2\154\1\162\1\163\2\154\1\163\1\60\1\151"+
-        "\2\154\1\163\1\uffff\1\162\1\144\1\162\1\141\2\154\2\156\1\145\1"+
-        "\144\1\162\1\141\1\145\1\141\1\164\1\155\1\165\1\157\1\uffff\2\145"+
-        "\1\146\1\60\2\145\1\163\1\uffff\1\160\2\145\1\163\1\141\2\145\1"+
-        "\164\2\145\2\156\1\144\2\145\1\164\1\156\1\164\1\141\1\160\1\143"+
-        "\1\155\1\60\1\147\1\141\1\uffff\1\60\1\147\1\145\2\60\1\147\1\145"+
-        "\1\164\2\144\1\141\1\60\1\147\4\145\1\103\2\144\1\151\1\164\1\141"+
-        "\1\124\1\157\1\164\1\160\1\uffff\1\141\1\143\1\60\1\uffff\1\141"+
-        "\1\155\1\uffff\1\60\1\uffff\1\141\1\155\1\151\2\122\1\124\1\uffff"+
-        "\1\141\1\170\1\143\1\170\1\143\1\157\2\122\1\157\1\60\1\124\1\171"+
-        "\1\156\1\165\1\157\1\164\1\145\1\uffff\1\164\1\142\1\uffff\1\164"+
-        "\1\142\3\157\1\171\5\164\1\155\2\157\1\156\1\uffff\1\171\1\160\1"+
-        "\145\1\162\1\156\1\151\1\163\1\151\1\154\1\151\1\154\1\156\2\154"+
-        "\1\160\1\151\1\60\1\157\1\60\1\157\1\160\2\154\1\60\1\160\1\145"+
-        "\1\156\2\145\1\157\1\60\1\157\1\171\1\157\1\171\1\163\3\145\1\157"+
+        "\1\0\1\157\1\116\1\124\2\117\1\110\1\117\1\145\2\uffff\1\155\1"+
+        "\uffff\1\141\1\157\3\uffff\1\141\2\uffff\1\145\1\162\1\171\2\163"+
+        "\1\156\1\165\1\101\2\uffff\2\0\1\52\2\uffff\1\151\1\uffff\1\124"+
+        "\1\156\1\122\1\142\1\117\1\124\1\163\1\125\1\101\1\154\1\116\1\160"+
+        "\2\uffff\1\160\1\156\1\uffff\1\164\1\155\3\uffff\1\162\1\157\2\uffff"+
+        "\1\146\1\151\1\160\2\163\1\143\1\164\5\uffff\1\144\1\60\2\145\1"+
+        "\111\1\123\1\114\1\105\1\151\1\102\1\122\1\154\1\160\1\107\1\157"+
+        "\1\165\1\157\2\145\1\141\1\160\1\145\1\166\1\141\1\165\1\60\1\155"+
+        "\1\166\3\145\1\141\1\145\1\60\1\uffff\2\162\1\116\1\171\2\60\1\143"+
+        "\1\114\1\60\1\145\1\157\1\60\1\163\1\151\3\162\1\124\1\157\1\156"+
+        "\1\151\1\164\1\151\1\uffff\2\151\1\60\2\155\1\160\1\162\1\uffff"+
+        "\1\146\1\104\1\107\1\163\2\uffff\1\103\1\105\1\uffff\1\143\1\163"+
+        "\1\uffff\1\151\1\162\1\164\1\146\1\104\2\171\1\156\1\164\1\144\1"+
+        "\151\1\162\1\164\1\144\1\uffff\2\142\1\163\1\120\1\141\1\145\1\60"+
+        "\1\164\1\157\1\60\1\164\1\145\1\164\1\145\1\60\1\141\1\171\1\145"+
+        "\1\162\1\145\2\160\1\145\1\111\1\145\1\157\1\145\1\151\1\145\2\154"+
+        "\1\165\1\162\1\145\2\143\1\uffff\1\145\1\155\1\uffff\1\151\1\164"+
+        "\1\144\1\157\1\144\1\60\1\uffff\1\143\1\160\1\143\1\157\1\161\2"+
+        "\145\2\156\1\171\1\144\2\156\1\144\1\156\1\166\1\144\2\171\1\154"+
+        "\1\157\1\161\1\145\1\154\1\155\1\160\1\157\1\145\1\123\1\162\1\104"+
+        "\1\uffff\2\145\1\154\1\166\1\165\1\163\1\60\2\164\1\160\1\104\1"+
+        "\147\1\163\1\104\1\147\1\145\1\104\1\60\1\103\1\141\1\166\1\165"+
+        "\1\60\1\141\1\60\1\157\1\156\1\103\1\164\1\171\1\157\1\145\1\163"+
+        "\1\60\1\141\2\151\1\60\1\uffff\1\163\2\145\1\157\1\145\1\101\1\150"+
+        "\1\157\1\145\1\101\1\104\1\157\1\145\1\157\1\uffff\1\157\1\164\2"+
+        "\151\1\uffff\1\162\1\uffff\1\156\1\104\1\141\1\157\1\162\1\60\2"+
+        "\154\1\60\1\uffff\1\162\1\144\1\162\1\uffff\1\60\1\162\1\163\2\154"+
+        "\1\163\1\151\2\154\1\163\1\141\2\154\2\156\1\145\1\144\1\162\1\141"+
+        "\1\145\1\141\1\164\1\155\1\165\1\157\1\uffff\2\145\1\uffff\1\141"+
+        "\2\145\1\uffff\1\146\1\60\2\145\1\163\1\160\2\145\1\163\1\164\2"+
+        "\145\2\156\1\144\2\145\1\164\1\156\1\164\1\141\1\160\1\143\1\155"+
+        "\1\60\1\147\1\164\2\144\1\141\1\uffff\1\60\1\147\1\145\2\60\1\147"+
+        "\1\145\1\141\1\60\1\147\4\145\1\103\2\144\1\151\1\164\1\141\1\124"+
+        "\1\157\1\164\1\160\1\uffff\1\141\1\151\2\122\1\143\1\60\1\uffff"+
+        "\1\141\1\155\1\uffff\1\60\1\uffff\1\141\1\155\1\124\1\uffff\1\141"+
+        "\1\170\1\143\1\170\1\143\1\157\2\122\1\157\1\60\1\124\1\171\1\156"+
+        "\1\165\1\157\1\164\3\157\1\145\1\uffff\1\164\1\142\1\uffff\1\164"+
+        "\1\142\1\171\5\164\1\155\2\157\1\156\1\uffff\1\171\1\160\1\145\1"+
+        "\162\1\156\1\151\1\156\2\154\1\163\1\151\1\154\1\151\1\154\1\160"+
+        "\1\151\1\60\1\157\1\60\1\157\1\160\2\154\1\60\1\160\1\145\1\156"+
+        "\2\145\1\157\1\163\2\145\1\60\1\157\1\171\1\157\1\171\1\145\1\157"+
         "\1\60\1\uffff\1\162\1\uffff\1\162\1\157\2\145\1\uffff\1\145\1\60"+
-        "\1\164\1\101\2\156\1\uffff\1\156\1\103\1\156\1\103\4\60\1\156\1"+
-        "\uffff\1\163\1\60\1\156\3\60\1\uffff\1\60\1\163\1\164\2\103\1\157"+
-        "\1\103\1\157\4\uffff\1\103\1\60\1\uffff\1\145\4\uffff\1\163\1\60"+
-        "\2\157\1\156\1\157\1\156\1\157\1\uffff\1\156\1\145\1\uffff\2\156"+
-        "\1\164\1\156\1\164\1\156\1\164\1\155\2\156\1\145\1\156\1\145\1\156"+
-        "\1\60\1\142\2\145\1\170\1\145\1\170\1\145\1\uffff\1\154\2\143\1"+
-        "\164\1\143\1\164\1\143\1\171\2\164\1\60\1\164\1\60\1\164\1\60\2"+
-        "\157\1\uffff\1\157\1\uffff\1\157\1\uffff\4\162\1\60\2\163\1\60\1"+
-        "\uffff\2\60\3\uffff";
+        "\1\164\1\101\2\156\3\60\1\uffff\1\156\1\103\1\156\1\103\1\60\1\156"+
+        "\1\uffff\1\163\1\60\1\156\3\60\1\uffff\1\60\1\163\1\164\1\103\3"+
+        "\uffff\1\103\1\157\1\103\1\157\1\uffff\1\103\1\60\1\uffff\1\145"+
+        "\4\uffff\1\163\1\60\2\157\1\156\1\157\1\156\1\157\1\uffff\1\156"+
+        "\1\145\1\uffff\2\156\1\164\1\156\1\164\1\156\1\164\1\155\2\156\1"+
+        "\145\1\156\1\145\1\156\1\60\1\142\2\145\1\170\1\145\1\170\1\145"+
+        "\1\uffff\1\154\2\143\1\164\1\143\1\164\1\143\1\171\2\164\1\60\1"+
+        "\164\1\60\1\164\1\60\2\157\1\uffff\1\157\1\uffff\1\157\1\uffff\4"+
+        "\162\1\60\2\163\1\60\1\uffff\2\60\3\uffff";
     static final String DFA12_maxS =
         "\1\uffff\1\157\1\156\1\165\1\141\1\117\1\157\1\117\1\145\2\uffff"+
-        "\1\162\3\uffff\1\151\1\145\1\156\1\162\1\171\1\141\2\163\1\156\1"+
-        "\165\1\172\2\uffff\2\uffff\1\57\2\uffff\1\151\1\uffff\1\124\1\164"+
-        "\1\122\1\142\1\117\1\124\1\163\1\125\1\101\1\155\1\116\1\161\2\uffff"+
-        "\1\162\1\157\3\uffff\1\147\1\161\1\156\1\157\1\160\1\164\2\163\1"+
-        "\143\1\164\5\uffff\1\144\1\172\2\145\1\111\1\123\1\114\1\105\1\151"+
-        "\1\102\1\122\1\154\1\160\1\107\1\157\1\165\1\145\1\166\1\156\1\141"+
-        "\1\165\1\172\1\145\1\155\1\166\1\145\1\141\2\145\1\141\1\145\1\172"+
-        "\1\uffff\2\162\1\116\1\171\2\172\1\143\1\114\1\172\1\145\1\157\1"+
-        "\172\1\163\1\151\1\156\1\151\1\141\1\164\1\151\1\uffff\1\162\2\151"+
-        "\1\172\1\124\2\155\1\160\1\162\1\uffff\1\146\1\104\1\107\1\163\2"+
-        "\uffff\1\103\1\105\1\uffff\1\143\1\163\1\uffff\1\151\1\162\1\164"+
-        "\1\144\1\164\1\151\1\162\1\124\1\164\1\144\1\uffff\1\171\2\142\1"+
-        "\163\1\122\1\141\1\145\1\172\1\164\1\157\1\172\1\164\1\151\1\164"+
-        "\1\145\1\124\1\151\1\165\1\157\1\151\1\171\1\145\1\162\1\145\1\151"+
-        "\1\145\1\160\2\154\1\165\1\162\1\145\2\143\1\uffff\1\145\1\155\1"+
-        "\uffff\1\151\1\164\1\144\1\157\1\144\1\156\1\171\1\144\1\156\1\162"+
-        "\1\156\1\144\1\156\1\160\1\143\1\157\1\161\1\166\1\144\1\145\2\171"+
+        "\1\156\1\uffff\1\141\1\157\3\uffff\1\162\2\uffff\1\145\1\162\1\171"+
+        "\2\163\1\156\1\165\1\172\2\uffff\2\uffff\1\57\2\uffff\1\151\1\uffff"+
+        "\1\124\1\164\1\122\1\142\1\117\1\124\1\163\1\125\1\101\1\155\1\116"+
+        "\1\161\2\uffff\1\160\1\164\1\uffff\1\164\1\155\3\uffff\1\162\1\157"+
+        "\2\uffff\1\161\1\157\1\160\2\163\1\143\1\164\5\uffff\1\144\1\172"+
+        "\2\145\1\111\1\123\1\114\1\105\1\151\1\102\1\122\1\154\1\160\1\107"+
+        "\1\157\1\165\1\157\2\145\1\141\1\160\1\145\1\166\1\141\1\165\1\172"+
+        "\1\155\1\166\3\145\1\141\1\145\1\172\1\uffff\2\162\1\116\1\171\2"+
+        "\172\1\143\1\114\1\172\1\145\1\157\1\172\1\163\1\151\3\162\1\164"+
+        "\1\157\1\156\1\151\1\164\1\151\1\uffff\2\151\1\172\2\155\1\160\1"+
+        "\162\1\uffff\1\146\1\104\1\107\1\163\2\uffff\1\103\1\105\1\uffff"+
+        "\1\143\1\163\1\uffff\1\151\1\162\1\164\1\146\1\124\2\171\1\156\1"+
+        "\164\1\144\1\151\1\162\1\164\1\144\1\uffff\2\142\1\163\1\122\1\141"+
+        "\1\145\1\172\1\164\1\157\1\172\1\164\1\151\1\164\1\145\1\172\1\141"+
+        "\1\171\1\145\1\162\1\145\2\160\1\145\1\124\1\151\1\157\2\151\1\145"+
+        "\2\154\1\165\1\162\1\145\2\143\1\uffff\1\145\1\155\1\uffff\1\151"+
+        "\1\164\1\144\1\157\1\144\1\172\1\uffff\1\143\1\160\1\143\1\157\1"+
+        "\161\2\145\2\156\1\171\1\144\2\156\1\144\1\156\1\166\1\144\2\171"+
         "\1\154\1\157\1\161\1\145\1\154\1\155\1\160\1\157\1\145\1\123\1\162"+
-        "\1\122\1\164\1\160\1\122\1\147\1\145\1\163\1\122\1\147\1\145\1\154"+
-        "\1\166\1\165\1\145\1\122\2\172\1\103\1\141\1\166\1\165\1\172\1\141"+
-        "\1\172\1\157\1\156\1\104\1\164\1\171\1\157\3\145\1\157\1\145\1\101"+
-        "\1\163\1\150\1\157\1\145\1\101\1\172\1\141\2\151\1\104\1\157\1\145"+
-        "\1\uffff\1\157\1\uffff\1\157\1\164\2\151\1\uffff\1\162\1\uffff\1"+
-        "\156\1\104\1\141\1\157\1\162\1\172\2\154\1\162\1\163\2\154\1\163"+
-        "\1\172\1\151\2\154\1\163\1\uffff\1\162\1\144\1\162\1\141\2\154\2"+
-        "\156\1\145\1\144\1\162\1\141\1\145\1\141\1\164\1\155\1\165\1\157"+
-        "\1\uffff\2\145\1\146\1\172\2\145\1\163\1\uffff\1\160\2\145\1\163"+
-        "\1\141\2\145\1\164\2\145\2\164\1\144\2\145\1\164\1\156\1\164\1\141"+
-        "\1\160\1\143\1\155\1\172\1\147\1\141\1\uffff\1\172\1\147\1\145\2"+
-        "\172\1\147\1\145\1\164\2\144\1\141\1\172\1\147\4\145\1\103\2\144"+
-        "\1\151\1\164\1\141\1\124\1\157\1\164\1\160\1\uffff\1\141\1\143\1"+
-        "\172\1\uffff\1\141\1\155\1\uffff\1\172\1\uffff\1\141\1\155\1\151"+
-        "\2\122\1\124\1\uffff\1\141\1\170\1\143\1\170\1\143\1\157\2\122\1"+
-        "\157\1\172\1\124\1\171\1\156\1\165\1\157\1\164\1\145\1\uffff\1\164"+
-        "\1\142\1\uffff\1\164\1\142\3\157\1\171\5\164\1\155\2\157\1\156\1"+
-        "\uffff\1\171\1\160\1\145\1\162\1\156\1\151\1\163\1\151\1\154\1\151"+
-        "\1\154\1\156\2\154\1\160\1\151\1\172\1\157\1\172\1\157\1\160\2\154"+
-        "\1\172\1\160\1\145\1\156\2\145\1\157\1\172\1\157\1\171\1\157\1\171"+
-        "\1\163\3\145\1\157\1\172\1\uffff\1\162\1\uffff\1\162\1\157\2\145"+
-        "\1\uffff\1\145\1\172\1\164\1\101\2\156\1\uffff\1\156\1\103\1\156"+
-        "\1\103\4\172\1\156\1\uffff\1\163\1\172\1\156\3\172\1\uffff\1\172"+
-        "\1\163\1\164\2\103\1\157\1\103\1\157\4\uffff\1\103\1\172\1\uffff"+
-        "\1\145\4\uffff\1\163\1\172\2\157\1\156\1\157\1\156\1\157\1\uffff"+
-        "\1\156\1\145\1\uffff\2\156\1\164\1\156\1\164\1\156\1\164\1\155\2"+
-        "\156\1\145\1\156\1\145\1\156\1\172\1\142\2\145\1\170\1\145\1\170"+
-        "\1\145\1\uffff\1\154\2\143\1\164\1\143\1\164\1\143\1\171\2\164\1"+
-        "\172\1\164\1\172\1\164\1\172\2\157\1\uffff\1\157\1\uffff\1\157\1"+
-        "\uffff\4\162\1\172\2\163\1\172\1\uffff\2\172\3\uffff";
+        "\1\122\1\uffff\2\145\1\154\1\166\1\165\1\163\1\172\2\164\1\160\1"+
+        "\122\1\147\1\163\1\122\1\147\1\145\1\122\1\172\1\103\1\141\1\166"+
+        "\1\165\1\172\1\141\1\172\1\157\1\156\1\104\1\164\1\171\1\157\1\145"+
+        "\1\163\1\172\1\141\2\151\1\172\1\uffff\1\163\2\145\1\157\1\145\1"+
+        "\101\1\150\1\157\1\145\1\101\1\104\1\157\1\145\1\157\1\uffff\1\157"+
+        "\1\164\2\151\1\uffff\1\162\1\uffff\1\156\1\104\1\141\1\157\1\162"+
+        "\1\172\2\154\1\172\1\uffff\1\162\1\144\1\162\1\uffff\1\172\1\162"+
+        "\1\163\2\154\1\163\1\151\2\154\1\163\1\141\2\154\2\156\1\145\1\144"+
+        "\1\162\1\141\1\145\1\141\1\164\1\155\1\165\1\157\1\uffff\2\145\1"+
+        "\uffff\1\141\2\145\1\uffff\1\146\1\172\2\145\1\163\1\160\2\145\1"+
+        "\163\1\164\2\145\2\164\1\144\2\145\1\164\1\156\1\164\1\141\1\160"+
+        "\1\143\1\155\1\172\1\147\1\164\2\144\1\141\1\uffff\1\172\1\147\1"+
+        "\145\2\172\1\147\1\145\1\141\1\172\1\147\4\145\1\103\2\144\1\151"+
+        "\1\164\1\141\1\124\1\157\1\164\1\160\1\uffff\1\141\1\151\2\122\1"+
+        "\143\1\172\1\uffff\1\141\1\155\1\uffff\1\172\1\uffff\1\141\1\155"+
+        "\1\124\1\uffff\1\141\1\170\1\143\1\170\1\143\1\157\2\122\1\157\1"+
+        "\172\1\124\1\171\1\156\1\165\1\157\1\164\3\157\1\145\1\uffff\1\164"+
+        "\1\142\1\uffff\1\164\1\142\1\171\5\164\1\155\2\157\1\156\1\uffff"+
+        "\1\171\1\160\1\145\1\162\1\156\1\151\1\156\2\154\1\163\1\151\1\154"+
+        "\1\151\1\154\1\160\1\151\1\172\1\157\1\172\1\157\1\160\2\154\1\172"+
+        "\1\160\1\145\1\156\2\145\1\157\1\163\2\145\1\172\1\157\1\171\1\157"+
+        "\1\171\1\145\1\157\1\172\1\uffff\1\162\1\uffff\1\162\1\157\2\145"+
+        "\1\uffff\1\145\1\172\1\164\1\101\2\156\3\172\1\uffff\1\156\1\103"+
+        "\1\156\1\103\1\172\1\156\1\uffff\1\163\1\172\1\156\3\172\1\uffff"+
+        "\1\172\1\163\1\164\1\103\3\uffff\1\103\1\157\1\103\1\157\1\uffff"+
+        "\1\103\1\172\1\uffff\1\145\4\uffff\1\163\1\172\2\157\1\156\1\157"+
+        "\1\156\1\157\1\uffff\1\156\1\145\1\uffff\2\156\1\164\1\156\1\164"+
+        "\1\156\1\164\1\155\2\156\1\145\1\156\1\145\1\156\1\172\1\142\2\145"+
+        "\1\170\1\145\1\170\1\145\1\uffff\1\154\2\143\1\164\1\143\1\164\1"+
+        "\143\1\171\2\164\1\172\1\164\1\172\1\164\1\172\2\157\1\uffff\1\157"+
+        "\1\uffff\1\157\1\uffff\4\162\1\172\2\163\1\172\1\uffff\2\172\3\uffff";
     static final String DFA12_acceptS =
-        "\11\uffff\1\12\1\13\1\uffff\1\16\1\17\1\20\13\uffff\1\71\1\72\3"+
-        "\uffff\1\76\1\77\1\uffff\1\71\14\uffff\1\12\1\13\2\uffff\1\16\1"+
-        "\17\1\20\12\uffff\1\72\1\73\1\74\1\75\1\76\40\uffff\1\2\23\uffff"+
-        "\1\35\11\uffff\1\1\4\uffff\1\4\1\7\2\uffff\1\6\2\uffff\1\10\12\uffff"+
-        "\1\34\42\uffff\1\3\2\uffff\1\5\121\uffff\1\37\1\uffff\1\44\4\uffff"+
-        "\1\14\1\uffff\1\45\22\uffff\1\27\22\uffff\1\11\7\uffff\1\21\31\uffff"+
-        "\1\31\33\uffff\1\41\3\uffff\1\57\2\uffff\1\23\1\uffff\1\56\6\uffff"+
-        "\1\40\21\uffff\1\24\2\uffff\1\25\17\uffff\1\42\51\uffff\1\63\1\uffff"+
-        "\1\53\4\uffff\1\36\6\uffff\1\15\11\uffff\1\47\6\uffff\1\30\10\uffff"+
-        "\1\32\1\64\1\67\1\33\2\uffff\1\55\1\uffff\1\65\1\70\1\26\1\43\10"+
-        "\uffff\1\50\2\uffff\1\22\26\uffff\1\54\21\uffff\1\60\1\uffff\1\61"+
-        "\1\uffff\1\46\10\uffff\1\66\2\uffff\1\62\1\51\1\52";
+        "\11\uffff\1\12\1\13\1\uffff\1\15\2\uffff\1\20\1\23\1\24\1\uffff"+
+        "\1\27\1\30\10\uffff\1\100\1\101\3\uffff\1\105\1\106\1\uffff\1\100"+
+        "\14\uffff\1\12\1\13\2\uffff\1\15\2\uffff\1\20\1\23\1\24\2\uffff"+
+        "\1\27\1\30\7\uffff\1\101\1\102\1\103\1\104\1\105\42\uffff\1\2\27"+
+        "\uffff\1\44\7\uffff\1\1\4\uffff\1\4\1\7\2\uffff\1\6\2\uffff\1\10"+
+        "\16\uffff\1\43\44\uffff\1\3\2\uffff\1\5\6\uffff\1\22\37\uffff\1"+
+        "\14\46\uffff\1\46\16\uffff\1\53\4\uffff\1\25\1\uffff\1\54\11\uffff"+
+        "\1\36\3\uffff\1\16\31\uffff\1\11\2\uffff\1\21\3\uffff\1\17\36\uffff"+
+        "\1\40\30\uffff\1\50\6\uffff\1\66\2\uffff\1\32\1\uffff\1\65\3\uffff"+
+        "\1\47\24\uffff\1\33\2\uffff\1\34\14\uffff\1\51\51\uffff\1\72\1\uffff"+
+        "\1\62\4\uffff\1\45\11\uffff\1\26\6\uffff\1\56\6\uffff\1\37\4\uffff"+
+        "\1\41\1\73\1\76\4\uffff\1\42\2\uffff\1\64\1\uffff\1\74\1\77\1\35"+
+        "\1\52\10\uffff\1\57\2\uffff\1\31\26\uffff\1\63\21\uffff\1\67\1\uffff"+
+        "\1\70\1\uffff\1\55\10\uffff\1\75\2\uffff\1\71\1\60\1\61";
     static final String DFA12_specialS =
-        "\1\1\33\uffff\1\0\1\2\u023b\uffff}>";
+        "\1\1\36\uffff\1\0\1\2\u0255\uffff}>";
     static final String[] DFA12_transitionS = {
-            "\11\40\2\37\2\40\1\37\22\40\1\37\1\40\1\34\4\40\1\35\1\14\1"+
-            "\15\2\40\1\16\2\40\1\36\12\33\7\40\1\26\1\4\1\6\1\5\4\32\1\2"+
-            "\2\32\1\7\3\32\1\22\1\32\1\10\1\3\7\32\3\40\1\31\1\32\1\40\1"+
-            "\25\2\32\1\24\1\27\3\32\1\21\5\32\1\30\1\13\1\32\1\20\1\17\1"+
-            "\23\1\32\1\1\4\32\1\11\1\40\1\12\uff82\40",
-            "\1\41",
-            "\1\43\37\uffff\1\44",
-            "\1\45\40\uffff\1\46",
-            "\1\47\11\uffff\1\50\7\uffff\1\51",
-            "\1\52",
-            "\1\53\46\uffff\1\54",
+            "\11\43\2\42\2\43\1\42\22\43\1\42\1\43\1\37\4\43\1\40\1\23\1"+
+            "\24\1\21\1\43\1\14\1\43\1\20\1\41\12\36\1\43\1\17\5\43\1\31"+
+            "\1\4\1\6\1\5\4\35\1\2\2\35\1\7\3\35\1\26\1\35\1\10\1\3\7\35"+
+            "\3\43\1\34\1\35\1\43\1\30\1\35\1\16\1\15\1\32\3\35\1\13\5\35"+
+            "\1\33\1\22\1\35\1\25\1\35\1\27\1\35\1\1\4\35\1\11\1\43\1\12"+
+            "\uff82\43",
+            "\1\44",
+            "\1\46\37\uffff\1\47",
+            "\1\50\40\uffff\1\51",
+            "\1\52\11\uffff\1\53\7\uffff\1\54",
             "\1\55",
-            "\1\56",
+            "\1\56\46\uffff\1\57",
+            "\1\60",
+            "\1\61",
             "",
             "",
-            "\1\61\20\uffff\1\62",
+            "\1\64\1\65",
             "",
-            "",
-            "",
-            "\1\66",
             "\1\67",
             "\1\70",
-            "\1\71",
-            "\1\72",
-            "\1\73",
-            "\1\74",
-            "\1\75",
-            "\1\76",
-            "\1\77",
-            "\32\42\4\uffff\1\42\1\uffff\32\42",
             "",
             "",
-            "\0\101",
-            "\0\101",
-            "\1\102\4\uffff\1\103",
             "",
+            "\1\74\20\uffff\1\75",
             "",
-            "\1\105",
             "",
+            "\1\100",
+            "\1\101",
+            "\1\102",
+            "\1\103",
+            "\1\104",
+            "\1\105",
             "\1\106",
-            "\1\110\5\uffff\1\107",
-            "\1\111",
-            "\1\112",
-            "\1\113",
+            "\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
+            "",
+            "\0\110",
+            "\0\110",
+            "\1\111\4\uffff\1\112",
+            "",
+            "",
             "\1\114",
+            "",
             "\1\115",
-            "\1\116",
-            "\1\117",
-            "\1\120\1\121",
+            "\1\117\5\uffff\1\116",
+            "\1\120",
+            "\1\121",
             "\1\122",
-            "\1\123\1\124",
-            "",
-            "",
+            "\1\123",
+            "\1\124",
             "\1\125",
             "\1\126",
+            "\1\127\1\130",
+            "\1\131",
+            "\1\132\1\133",
             "",
             "",
+            "\1\134",
+            "\1\136\5\uffff\1\135",
             "",
-            "\1\127",
-            "\1\132\5\uffff\1\130\4\uffff\1\131",
-            "\1\133",
-            "\1\134\5\uffff\1\135",
-            "\1\136",
             "\1\137",
             "\1\140",
-            "\1\141",
-            "\1\142",
-            "\1\143",
             "",
             "",
             "",
+            "\1\141",
+            "\1\142",
             "",
             "",
-            "\1\144",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\146",
-            "\1\147",
+            "\1\145\5\uffff\1\143\4\uffff\1\144",
+            "\1\146\5\uffff\1\147",
             "\1\150",
             "\1\151",
             "\1\152",
             "\1\153",
             "\1\154",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\155",
-            "\1\156",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\157",
             "\1\160",
             "\1\161",
@@ -2461,7 +2668,7 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\166",
             "\1\167",
             "\1\170",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\171",
             "\1\172",
             "\1\173",
             "\1\174",
@@ -2471,109 +2678,106 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u0080",
             "\1\u0081",
             "\1\u0082",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
+            "\1\u0083",
             "\1\u0084",
             "\1\u0085",
-            "\1\u0086",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0087",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0088",
+            "\1\u0089",
             "\1\u008a",
             "\1\u008b",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u008c",
             "\1\u008d",
-            "\1\u008e",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
+            "\1\u008f",
             "\1\u0090",
             "\1\u0091",
             "\1\u0092",
-            "\1\u0093",
-            "\1\u0094",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0095",
             "\1\u0096",
-            "",
-            "\1\u0097",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0098",
             "\1\u0099",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u009b",
             "\1\u009c",
             "\1\u009d",
             "\1\u009e",
             "\1\u009f",
-            "",
-            "\1\u00a0",
-            "\1\u00a1",
+            "\1\u00a1\37\uffff\1\u00a0",
             "\1\u00a2",
             "\1\u00a3",
-            "",
-            "",
             "\1\u00a4",
             "\1\u00a5",
-            "",
             "\1\u00a6",
-            "\1\u00a7",
             "",
+            "\1\u00a7",
             "\1\u00a8",
-            "\1\u00a9",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u00aa",
             "\1\u00ab",
             "\1\u00ac",
             "\1\u00ad",
+            "",
             "\1\u00ae",
-            "\1\u00b0\13\uffff\1\u00b1\1\uffff\1\u00b2\1\uffff\1\u00af",
+            "\1\u00af",
+            "\1\u00b0",
+            "\1\u00b1",
+            "",
+            "",
+            "\1\u00b2",
             "\1\u00b3",
-            "\1\u00b4",
             "",
+            "\1\u00b4",
             "\1\u00b5",
+            "",
             "\1\u00b6",
             "\1\u00b7",
             "\1\u00b8",
-            "\1\u00b9\1\uffff\1\u00ba",
-            "\1\u00bb",
-            "\1\u00bc",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00b9",
+            "\1\u00bb\13\uffff\1\u00bc\1\uffff\1\u00bd\1\uffff\1\u00ba",
             "\1\u00be",
             "\1\u00bf",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00c0",
             "\1\u00c1",
-            "\1\u00c3\3\uffff\1\u00c2",
+            "\1\u00c2",
+            "\1\u00c3",
             "\1\u00c4",
             "\1\u00c5",
-            "\1\u00c6\12\uffff\1\u00c7",
-            "\1\u00c8\3\uffff\1\u00c9",
-            "\1\u00ca",
-            "\1\u00cb",
-            "\1\u00cc\3\uffff\1\u00cd",
-            "\1\u00ce",
+            "\1\u00c6",
+            "",
+            "\1\u00c7",
+            "\1\u00c8",
+            "\1\u00c9",
+            "\1\u00ca\1\uffff\1\u00cb",
+            "\1\u00cc",
+            "\1\u00cd",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u00cf",
             "\1\u00d0",
-            "\1\u00d1",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u00d2",
-            "\1\u00d3",
-            "\1\u00d4",
+            "\1\u00d4\3\uffff\1\u00d3",
             "\1\u00d5",
             "\1\u00d6",
-            "\1\u00d7",
-            "\1\u00d8",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\22\45\1\u00d7\7"+
+            "\45",
             "\1\u00d9",
             "\1\u00da",
             "\1\u00db",
-            "",
             "\1\u00dc",
             "\1\u00dd",
-            "",
             "\1\u00de",
             "\1\u00df",
             "\1\u00e0",
-            "\1\u00e1",
-            "\1\u00e2",
-            "\1\u00e3",
-            "\1\u00e4",
+            "\1\u00e1\12\uffff\1\u00e2",
+            "\1\u00e3\3\uffff\1\u00e4",
             "\1\u00e5",
-            "\1\u00e6",
-            "\1\u00e7",
+            "\1\u00e6\3\uffff\1\u00e7",
             "\1\u00e8",
             "\1\u00e9",
             "\1\u00ea",
@@ -2583,126 +2787,129 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u00ee",
             "\1\u00ef",
             "\1\u00f0",
+            "",
             "\1\u00f1",
             "\1\u00f2",
+            "",
             "\1\u00f3",
             "\1\u00f4",
             "\1\u00f5",
             "\1\u00f6",
             "\1\u00f7",
-            "\1\u00f8",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u00f9",
             "\1\u00fa",
             "\1\u00fb",
             "\1\u00fc",
             "\1\u00fd",
             "\1\u00fe",
-            "\1\u0100\15\uffff\1\u00ff",
+            "\1\u00ff",
+            "\1\u0100",
             "\1\u0101",
             "\1\u0102",
-            "\1\u0104\15\uffff\1\u0103",
+            "\1\u0103",
+            "\1\u0104",
             "\1\u0105",
             "\1\u0106",
             "\1\u0107",
-            "\1\u0109\15\uffff\1\u0108",
+            "\1\u0108",
+            "\1\u0109",
             "\1\u010a",
             "\1\u010b",
             "\1\u010c",
             "\1\u010d",
             "\1\u010e",
             "\1\u010f",
-            "\1\u0111\15\uffff\1\u0110",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\2\42\1\u0113\27\42\4\uffff\1\42\1\uffff\32"+
-            "\42",
+            "\1\u0110",
+            "\1\u0111",
+            "\1\u0112",
+            "\1\u0113",
+            "\1\u0114",
             "\1\u0115",
             "\1\u0116",
-            "\1\u0117",
-            "\1\u0118",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0118\15\uffff\1\u0117",
+            "",
+            "\1\u0119",
             "\1\u011a",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u011b",
             "\1\u011c",
             "\1\u011d",
-            "\1\u011f\1\u011e",
+            "\1\u011e",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0120",
             "\1\u0121",
             "\1\u0122",
-            "\1\u0123",
-            "\1\u0124",
+            "\1\u0124\15\uffff\1\u0123",
             "\1\u0125",
             "\1\u0126",
-            "\1\u0127",
-            "\1\u0128",
+            "\1\u0128\15\uffff\1\u0127",
             "\1\u0129",
             "\1\u012a",
-            "\1\u012b",
-            "\1\u012c",
-            "\1\u012d",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u012c\15\uffff\1\u012b",
+            "\12\45\7\uffff\2\45\1\u012d\27\45\4\uffff\1\45\1\uffff\32"+
+            "\45",
             "\1\u012f",
             "\1\u0130",
             "\1\u0131",
             "\1\u0132",
-            "\1\u0133",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0134",
-            "",
-            "\1\u0135",
-            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0136",
             "\1\u0137",
-            "\1\u0138",
-            "\1\u0139",
-            "",
+            "\1\u0139\1\u0138",
             "\1\u013a",
-            "",
             "\1\u013b",
             "\1\u013c",
             "\1\u013d",
             "\1\u013e",
-            "\1\u013f",
-            "\12\42\7\uffff\2\42\1\u0140\27\42\4\uffff\1\42\1\uffff\32"+
-            "\42",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0140",
+            "\1\u0141",
             "\1\u0142",
-            "\1\u0143",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u0144",
             "\1\u0145",
             "\1\u0146",
             "\1\u0147",
             "\1\u0148",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0149",
             "\1\u014a",
             "\1\u014b",
             "\1\u014c",
             "\1\u014d",
-            "",
             "\1\u014e",
             "\1\u014f",
             "\1\u0150",
             "\1\u0151",
+            "",
             "\1\u0152",
             "\1\u0153",
             "\1\u0154",
             "\1\u0155",
+            "",
             "\1\u0156",
+            "",
             "\1\u0157",
             "\1\u0158",
             "\1\u0159",
             "\1\u015a",
             "\1\u015b",
-            "\1\u015c",
-            "\1\u015d",
+            "\12\45\7\uffff\2\45\1\u015c\27\45\4\uffff\1\45\1\uffff\32"+
+            "\45",
             "\1\u015e",
             "\1\u015f",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
-            "\1\u0160",
             "\1\u0161",
             "\1\u0162",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u0164",
+            "\1\u0163",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0165",
             "\1\u0166",
-            "",
             "\1\u0167",
             "\1\u0168",
             "\1\u0169",
@@ -2713,8 +2920,10 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u016e",
             "\1\u016f",
             "\1\u0170",
-            "\1\u0172\5\uffff\1\u0171",
-            "\1\u0174\5\uffff\1\u0173",
+            "\1\u0171",
+            "\1\u0172",
+            "\1\u0173",
+            "\1\u0174",
             "\1\u0175",
             "\1\u0176",
             "\1\u0177",
@@ -2723,28 +2932,28 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u017a",
             "\1\u017b",
             "\1\u017c",
+            "",
             "\1\u017d",
             "\1\u017e",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "",
+            "\1\u017f",
             "\1\u0180",
             "\1\u0181",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u0182\7"+
-            "\42",
+            "\1\u0182",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0184",
             "\1\u0185",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u0187\7"+
-            "\42",
+            "\1\u0186",
+            "\1\u0187",
+            "\1\u0188",
             "\1\u0189",
             "\1\u018a",
             "\1\u018b",
             "\1\u018c",
             "\1\u018d",
-            "\1\u018e",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u0190",
-            "\1\u0191",
+            "\1\u018f\5\uffff\1\u018e",
+            "\1\u0191\5\uffff\1\u0190",
             "\1\u0192",
             "\1\u0193",
             "\1\u0194",
@@ -2755,28 +2964,24 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u0199",
             "\1\u019a",
             "\1\u019b",
-            "\1\u019c",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u019d",
             "\1\u019e",
-            "",
             "\1\u019f",
             "\1\u01a0",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\1\u01a2",
-            "\1\u01a3",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u01a1",
             "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\22\45\1\u01a2\7"+
+            "\45",
+            "\1\u01a4",
             "\1\u01a5",
-            "\1\u01a6",
-            "\1\u01a7",
-            "\1\u01a8",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\22\45\1\u01a7\7"+
+            "\45",
             "\1\u01a9",
             "\1\u01aa",
-            "",
             "\1\u01ab",
-            "\1\u01ac",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u01ad",
             "\1\u01ae",
             "\1\u01af",
@@ -2784,7 +2989,7 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u01b1",
             "\1\u01b2",
             "\1\u01b3",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u01b4",
             "\1\u01b5",
             "\1\u01b6",
             "\1\u01b7",
@@ -2795,28 +3000,30 @@ public class InternalMyDslTestLexer extends Lexer {
             "",
             "\1\u01bc",
             "\1\u01bd",
-            "",
             "\1\u01be",
             "\1\u01bf",
             "\1\u01c0",
-            "\1\u01c1",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u01c2",
             "\1\u01c3",
-            "\1\u01c4",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u01c5",
             "\1\u01c6",
             "\1\u01c7",
+            "",
             "\1\u01c8",
             "\1\u01c9",
             "\1\u01ca",
             "\1\u01cb",
             "\1\u01cc",
-            "",
             "\1\u01cd",
             "\1\u01ce",
             "\1\u01cf",
             "\1\u01d0",
-            "\1\u01d1",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u01d2",
             "\1\u01d3",
             "\1\u01d4",
@@ -2827,23 +3034,26 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u01d9",
             "\1\u01da",
             "\1\u01db",
+            "",
             "\1\u01dc",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u01dd\7"+
-            "\42",
+            "\1\u01dd",
+            "",
+            "\1\u01de",
             "\1\u01df",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u01e0",
             "\1\u01e1",
             "\1\u01e2",
             "\1\u01e3",
             "\1\u01e4",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u01e5",
             "\1\u01e6",
             "\1\u01e7",
             "\1\u01e8",
             "\1\u01e9",
+            "",
             "\1\u01ea",
             "\1\u01eb",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u01ec",
             "\1\u01ed",
             "\1\u01ee",
             "\1\u01ef",
@@ -2853,127 +3063,156 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u01f3",
             "\1\u01f4",
             "\1\u01f5",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
+            "\1\u01f6",
             "\1\u01f7",
-            "",
             "\1\u01f8",
             "\1\u01f9",
-            "\1\u01fa",
-            "\1\u01fb",
-            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\22\45\1\u01fa\7"+
+            "\45",
             "\1\u01fc",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u01fe",
             "\1\u01ff",
             "\1\u0200",
             "\1\u0201",
-            "",
-            "\1\u0202",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0203",
             "\1\u0204",
             "\1\u0205",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0206",
+            "\1\u0207",
+            "\1\u0208",
+            "\1\u0209",
             "\1\u020a",
-            "",
             "\1\u020b",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u020d",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u020e",
+            "\1\u020f",
+            "\1\u0210",
+            "\1\u0211",
             "\1\u0212",
-            "\1\u0213",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u0214",
+            "",
             "\1\u0215",
             "\1\u0216",
             "\1\u0217",
             "\1\u0218",
             "",
-            "",
-            "",
-            "",
             "\1\u0219",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u021b",
-            "",
-            "",
-            "",
-            "",
             "\1\u021c",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u021d",
             "\1\u021e",
-            "\1\u021f",
-            "\1\u0220",
-            "\1\u0221",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u0222",
             "\1\u0223",
-            "",
             "\1\u0224",
             "\1\u0225",
-            "",
-            "\1\u0226",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0227",
+            "",
             "\1\u0228",
-            "\1\u0229",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u022a",
-            "\1\u022b",
-            "\1\u022c",
-            "\1\u022d",
-            "\1\u022e",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u022f",
             "\1\u0230",
             "\1\u0231",
+            "",
+            "",
+            "",
             "\1\u0232",
             "\1\u0233",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0234",
             "\1\u0235",
+            "",
             "\1\u0236",
-            "\1\u0237",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u0238",
+            "",
+            "",
+            "",
+            "",
             "\1\u0239",
-            "\1\u023a",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u023b",
-            "",
             "\1\u023c",
             "\1\u023d",
             "\1\u023e",
             "\1\u023f",
             "\1\u0240",
+            "",
             "\1\u0241",
             "\1\u0242",
+            "",
             "\1\u0243",
             "\1\u0244",
             "\1\u0245",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0246",
             "\1\u0247",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0248",
             "\1\u0249",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u024a",
             "\1\u024b",
             "\1\u024c",
-            "",
             "\1\u024d",
-            "",
             "\1\u024e",
-            "",
             "\1\u024f",
             "\1\u0250",
-            "\1\u0251",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0252",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0253",
             "\1\u0254",
             "\1\u0255",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0256",
+            "\1\u0257",
+            "\1\u0258",
+            "",
+            "\1\u0259",
+            "\1\u025a",
+            "\1\u025b",
+            "\1\u025c",
+            "\1\u025d",
+            "\1\u025e",
+            "\1\u025f",
+            "\1\u0260",
+            "\1\u0261",
+            "\1\u0262",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0264",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0266",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0268",
+            "\1\u0269",
+            "",
+            "\1\u026a",
+            "",
+            "\1\u026b",
+            "",
+            "\1\u026c",
+            "\1\u026d",
+            "\1\u026e",
+            "\1\u026f",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0271",
+            "\1\u0272",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
             "",
             ""
@@ -3009,19 +3248,19 @@ public class InternalMyDslTestLexer extends Lexer {
             this.transition = DFA12_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
-                        int LA12_28 = input.LA(1);
+                        int LA12_31 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_28>='\u0000' && LA12_28<='\uFFFF')) ) {s = 65;}
+                        if ( ((LA12_31>='\u0000' && LA12_31<='\uFFFF')) ) {s = 72;}
 
-                        else s = 32;
+                        else s = 35;
 
                         if ( s>=0 ) return s;
                         break;
@@ -3049,59 +3288,65 @@ public class InternalMyDslTestLexer extends Lexer {
 
                         else if ( (LA12_0=='}') ) {s = 10;}
 
-                        else if ( (LA12_0=='p') ) {s = 11;}
+                        else if ( (LA12_0=='i') ) {s = 11;}
+
+                        else if ( (LA12_0==',') ) {s = 12;}
+
+                        else if ( (LA12_0=='d') ) {s = 13;}
+
+                        else if ( (LA12_0=='c') ) {s = 14;}
 
-                        else if ( (LA12_0=='(') ) {s = 12;}
+                        else if ( (LA12_0==';') ) {s = 15;}
 
-                        else if ( (LA12_0==')') ) {s = 13;}
+                        else if ( (LA12_0=='.') ) {s = 16;}
 
-                        else if ( (LA12_0==',') ) {s = 14;}
+                        else if ( (LA12_0=='*') ) {s = 17;}
 
-                        else if ( (LA12_0=='s') ) {s = 15;}
+                        else if ( (LA12_0=='p') ) {s = 18;}
 
-                        else if ( (LA12_0=='r') ) {s = 16;}
+                        else if ( (LA12_0=='(') ) {s = 19;}
 
-                        else if ( (LA12_0=='i') ) {s = 17;}
+                        else if ( (LA12_0==')') ) {s = 20;}
 
-                        else if ( (LA12_0=='P') ) {s = 18;}
+                        else if ( (LA12_0=='r') ) {s = 21;}
 
-                        else if ( (LA12_0=='t') ) {s = 19;}
+                        else if ( (LA12_0=='P') ) {s = 22;}
 
-                        else if ( (LA12_0=='d') ) {s = 20;}
+                        else if ( (LA12_0=='t') ) {s = 23;}
 
-                        else if ( (LA12_0=='a') ) {s = 21;}
+                        else if ( (LA12_0=='a') ) {s = 24;}
 
-                        else if ( (LA12_0=='A') ) {s = 22;}
+                        else if ( (LA12_0=='A') ) {s = 25;}
 
-                        else if ( (LA12_0=='e') ) {s = 23;}
+                        else if ( (LA12_0=='e') ) {s = 26;}
 
-                        else if ( (LA12_0=='o') ) {s = 24;}
+                        else if ( (LA12_0=='o') ) {s = 27;}
 
-                        else if ( (LA12_0=='^') ) {s = 25;}
+                        else if ( (LA12_0=='^') ) {s = 28;}
 
-                        else if ( ((LA12_0>='E' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||(LA12_0>='M' && LA12_0<='O')||LA12_0=='Q'||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='b' && LA12_0<='c')||(LA12_0>='f' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='n')||LA12_0=='q'||LA12_0=='u'||(LA12_0>='w' && LA12_0<='z')) ) {s = 26;}
+                        else if ( ((LA12_0>='E' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||(LA12_0>='M' && LA12_0<='O')||LA12_0=='Q'||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='f' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='n')||LA12_0=='q'||LA12_0=='s'||LA12_0=='u'||(LA12_0>='w' && LA12_0<='z')) ) {s = 29;}
 
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 27;}
+                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 30;}
 
-                        else if ( (LA12_0=='\"') ) {s = 28;}
+                        else if ( (LA12_0=='\"') ) {s = 31;}
 
-                        else if ( (LA12_0=='\'') ) {s = 29;}
+                        else if ( (LA12_0=='\'') ) {s = 32;}
 
-                        else if ( (LA12_0=='/') ) {s = 30;}
+                        else if ( (LA12_0=='/') ) {s = 33;}
 
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 31;}
+                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 34;}
 
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>='-' && LA12_0<='.')||(LA12_0>=':' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 32;}
+                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||LA12_0=='+'||LA12_0=='-'||LA12_0==':'||(LA12_0>='<' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 35;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA12_29 = input.LA(1);
+                        int LA12_32 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_29>='\u0000' && LA12_29<='\uFFFF')) ) {s = 65;}
+                        if ( ((LA12_32>='\u0000' && LA12_32<='\uFFFF')) ) {s = 72;}
 
-                        else s = 32;
+                        else s = 35;
 
                         if ( s>=0 ) return s;
                         break;
diff --git a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTestParser.java b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTestParser.java
index 24b75607..a7ec7754 100644
--- a/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTestParser.java
+++ b/org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTestParser.java
@@ -22,10 +22,13 @@ import java.util.ArrayList;
 @SuppressWarnings("all")
 public class InternalMyDslTestParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'void'", "'INT'", "'STRING'", "'BOOL'", "'DOUBLE'", "'CHAR'", "'BYTE'", "'LONG'", "'Repository'", "'{'", "'}'", "'Interface'", "'parentInterfaces'", "'('", "')'", "','", "'signatures'", "'RepositoryComponent'", "'relationship'", "'providedRoles'", "'requiredRoles'", "'CollectionDataType'", "'innerType'", "'CompositeDataType'", "'parentTypes'", "'innerDeclarations'", "'PrimitiveDataType'", "'type'", "'ref'", "'InnerDeclaration'", "'dataType'", "'ProvidedRole'", "'RequiredRole'", "'BasicComponent'", "'CompositeComponent'", "'assembly'", "'SubSystem'", "'ComposedStructureAssembly'", "'assemblyContexts'", "'assemblyConnectors'", "'providedDelegationConnectors'", "'requiredDelegationConnectors'", "'AssemblyContext'", "'encapsulatedComponent'", "'AssemblyConnector'", "'requiredRole'", "'providedRole'", "'providingAssemblyContext'", "'requiringAssemblyContext'", "'ProvidedDelegationConnector'", "'assemblyContext'", "'innerProvidedRole'", "'outerProvidedRole'", "'RequiredDelegationConnector'", "'innerRequiredRole'", "'outerRequiredRole'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'void'", "'INT'", "'STRING'", "'BOOL'", "'DOUBLE'", "'CHAR'", "'BYTE'", "'LONG'", "'Repository'", "'{'", "'}'", "'imports'", "','", "'datatypes'", "'components'", "';'", "'interfaces'", "'import'", "'.'", "'*'", "'Interface'", "'parentInterfaces'", "'('", "')'", "'RepositoryComponent'", "'relationship'", "'providedRoles'", "'requiredRoles'", "'CollectionDataType'", "'innerType'", "'CompositeDataType'", "'parentTypes'", "'innerDeclarations'", "'PrimitiveDataType'", "'type'", "'ref'", "'InnerDeclaration'", "'dataType'", "'ProvidedRole'", "'RequiredRole'", "'BasicComponent'", "'CompositeComponent'", "'assembly'", "'SubSystem'", "'ComposedStructureAssembly'", "'assemblyContexts'", "'assemblyConnectors'", "'providedDelegationConnectors'", "'requiredDelegationConnectors'", "'AssemblyContext'", "'encapsulatedComponent'", "'AssemblyConnector'", "'requiredRole'", "'providedRole'", "'providingAssemblyContext'", "'requiringAssemblyContext'", "'ProvidedDelegationConnector'", "'assemblyContext'", "'innerProvidedRole'", "'outerProvidedRole'", "'RequiredDelegationConnector'", "'innerRequiredRole'", "'outerRequiredRole'"
     };
+    public static final int T__68=68;
+    public static final int T__69=69;
     public static final int RULE_ID=5;
     public static final int T__66=66;
+    public static final int T__67=67;
     public static final int T__64=64;
     public static final int T__29=29;
     public static final int T__65=65;
@@ -80,14 +83,18 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
     public static final int T__31=31;
     public static final int RULE_STRING=4;
     public static final int T__32=32;
+    public static final int T__71=71;
     public static final int T__33=33;
+    public static final int T__72=72;
     public static final int T__34=34;
     public static final int T__35=35;
+    public static final int T__70=70;
     public static final int T__36=36;
     public static final int T__37=37;
     public static final int T__38=38;
     public static final int T__39=39;
     public static final int RULE_WS=9;
+    public static final int T__73=73;
 
     // delegates
     // delegators
@@ -203,21 +210,252 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
     // $ANTLR end "ruleRepository"
 
 
+    // $ANTLR start "entryRuleImport"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:88:1: entryRuleImport : ruleImport EOF ;
+    public final void entryRuleImport() throws RecognitionException {
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:89:1: ( ruleImport EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:90:1: ruleImport EOF
+            {
+             before(grammarAccess.getImportRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleImport_in_entryRuleImport121);
+            ruleImport();
+
+            state._fsp--;
+
+             after(grammarAccess.getImportRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImport128); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleImport"
+
+
+    // $ANTLR start "ruleImport"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:97:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
+    public final void ruleImport() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:101:2: ( ( ( rule__Import__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:102:1: ( ( rule__Import__Group__0 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:102:1: ( ( rule__Import__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:103:1: ( rule__Import__Group__0 )
+            {
+             before(grammarAccess.getImportAccess().getGroup()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:104:1: ( rule__Import__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:104:2: rule__Import__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Import__Group__0_in_ruleImport154);
+            rule__Import__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getImportAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleImport"
+
+
+    // $ANTLR start "entryRuleQualifiedNameWithWildCard"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:116:1: entryRuleQualifiedNameWithWildCard : ruleQualifiedNameWithWildCard EOF ;
+    public final void entryRuleQualifiedNameWithWildCard() throws RecognitionException {
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:117:1: ( ruleQualifiedNameWithWildCard EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:118:1: ruleQualifiedNameWithWildCard EOF
+            {
+             before(grammarAccess.getQualifiedNameWithWildCardRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedNameWithWildCard_in_entryRuleQualifiedNameWithWildCard181);
+            ruleQualifiedNameWithWildCard();
+
+            state._fsp--;
+
+             after(grammarAccess.getQualifiedNameWithWildCardRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedNameWithWildCard188); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleQualifiedNameWithWildCard"
+
+
+    // $ANTLR start "ruleQualifiedNameWithWildCard"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:125:1: ruleQualifiedNameWithWildCard : ( ( rule__QualifiedNameWithWildCard__Group__0 ) ) ;
+    public final void ruleQualifiedNameWithWildCard() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:129:2: ( ( ( rule__QualifiedNameWithWildCard__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:130:1: ( ( rule__QualifiedNameWithWildCard__Group__0 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:130:1: ( ( rule__QualifiedNameWithWildCard__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:131:1: ( rule__QualifiedNameWithWildCard__Group__0 )
+            {
+             before(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:132:1: ( rule__QualifiedNameWithWildCard__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:132:2: rule__QualifiedNameWithWildCard__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group__0_in_ruleQualifiedNameWithWildCard214);
+            rule__QualifiedNameWithWildCard__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleQualifiedNameWithWildCard"
+
+
+    // $ANTLR start "entryRuleQualifiedName"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:144:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
+    public final void entryRuleQualifiedName() throws RecognitionException {
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:145:1: ( ruleQualifiedName EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:146:1: ruleQualifiedName EOF
+            {
+             before(grammarAccess.getQualifiedNameRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName241);
+            ruleQualifiedName();
+
+            state._fsp--;
+
+             after(grammarAccess.getQualifiedNameRule()); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedName248); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+        }
+        return ;
+    }
+    // $ANTLR end "entryRuleQualifiedName"
+
+
+    // $ANTLR start "ruleQualifiedName"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:153:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
+    public final void ruleQualifiedName() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:157:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:158:1: ( ( rule__QualifiedName__Group__0 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:158:1: ( ( rule__QualifiedName__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:159:1: ( rule__QualifiedName__Group__0 )
+            {
+             before(grammarAccess.getQualifiedNameAccess().getGroup()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:160:1: ( rule__QualifiedName__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:160:2: rule__QualifiedName__Group__0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName274);
+            rule__QualifiedName__Group__0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getQualifiedNameAccess().getGroup()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "ruleQualifiedName"
+
+
     // $ANTLR start "entryRuleDataType"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:88:1: entryRuleDataType : ruleDataType EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:172:1: entryRuleDataType : ruleDataType EOF ;
     public final void entryRuleDataType() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:89:1: ( ruleDataType EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:90:1: ruleDataType EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:173:1: ( ruleDataType EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:174:1: ruleDataType EOF
             {
              before(grammarAccess.getDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleDataType_in_entryRuleDataType121);
+            pushFollow(FollowSets000.FOLLOW_ruleDataType_in_entryRuleDataType301);
             ruleDataType();
 
             state._fsp--;
 
              after(grammarAccess.getDataTypeRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataType128); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataType308); 
 
             }
 
@@ -234,23 +472,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleDataType"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:97:1: ruleDataType : ( ( rule__DataType__Alternatives ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:181:1: ruleDataType : ( ( rule__DataType__Alternatives ) ) ;
     public final void ruleDataType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:101:2: ( ( ( rule__DataType__Alternatives ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:102:1: ( ( rule__DataType__Alternatives ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:185:2: ( ( ( rule__DataType__Alternatives ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:186:1: ( ( rule__DataType__Alternatives ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:102:1: ( ( rule__DataType__Alternatives ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:103:1: ( rule__DataType__Alternatives )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:186:1: ( ( rule__DataType__Alternatives ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:187:1: ( rule__DataType__Alternatives )
             {
              before(grammarAccess.getDataTypeAccess().getAlternatives()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:104:1: ( rule__DataType__Alternatives )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:104:2: rule__DataType__Alternatives
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:188:1: ( rule__DataType__Alternatives )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:188:2: rule__DataType__Alternatives
             {
-            pushFollow(FollowSets000.FOLLOW_rule__DataType__Alternatives_in_ruleDataType154);
+            pushFollow(FollowSets000.FOLLOW_rule__DataType__Alternatives_in_ruleDataType334);
             rule__DataType__Alternatives();
 
             state._fsp--;
@@ -281,20 +519,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleRepositoryComponent"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:116:1: entryRuleRepositoryComponent : ruleRepositoryComponent EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:200:1: entryRuleRepositoryComponent : ruleRepositoryComponent EOF ;
     public final void entryRuleRepositoryComponent() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:117:1: ( ruleRepositoryComponent EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:118:1: ruleRepositoryComponent EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:201:1: ( ruleRepositoryComponent EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:202:1: ruleRepositoryComponent EOF
             {
              before(grammarAccess.getRepositoryComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent181);
+            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent361);
             ruleRepositoryComponent();
 
             state._fsp--;
 
              after(grammarAccess.getRepositoryComponentRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent188); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent368); 
 
             }
 
@@ -311,23 +549,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleRepositoryComponent"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:125:1: ruleRepositoryComponent : ( ( rule__RepositoryComponent__Alternatives ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:209:1: ruleRepositoryComponent : ( ( rule__RepositoryComponent__Alternatives ) ) ;
     public final void ruleRepositoryComponent() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:129:2: ( ( ( rule__RepositoryComponent__Alternatives ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:130:1: ( ( rule__RepositoryComponent__Alternatives ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:213:2: ( ( ( rule__RepositoryComponent__Alternatives ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:214:1: ( ( rule__RepositoryComponent__Alternatives ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:130:1: ( ( rule__RepositoryComponent__Alternatives ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:131:1: ( rule__RepositoryComponent__Alternatives )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:214:1: ( ( rule__RepositoryComponent__Alternatives ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:215:1: ( rule__RepositoryComponent__Alternatives )
             {
              before(grammarAccess.getRepositoryComponentAccess().getAlternatives()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:132:1: ( rule__RepositoryComponent__Alternatives )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:132:2: rule__RepositoryComponent__Alternatives
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:216:1: ( rule__RepositoryComponent__Alternatives )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:216:2: rule__RepositoryComponent__Alternatives
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent__Alternatives_in_ruleRepositoryComponent214);
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent__Alternatives_in_ruleRepositoryComponent394);
             rule__RepositoryComponent__Alternatives();
 
             state._fsp--;
@@ -358,20 +596,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleEString"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:144:1: entryRuleEString : ruleEString EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:228:1: entryRuleEString : ruleEString EOF ;
     public final void entryRuleEString() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:145:1: ( ruleEString EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:146:1: ruleEString EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:229:1: ( ruleEString EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:230:1: ruleEString EOF
             {
              before(grammarAccess.getEStringRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString241);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString421);
             ruleEString();
 
             state._fsp--;
 
              after(grammarAccess.getEStringRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString248); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString428); 
 
             }
 
@@ -388,23 +626,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleEString"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:153:1: ruleEString : ( ( rule__EString__Alternatives ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:237:1: ruleEString : ( ( rule__EString__Alternatives ) ) ;
     public final void ruleEString() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:157:2: ( ( ( rule__EString__Alternatives ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:158:1: ( ( rule__EString__Alternatives ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:241:2: ( ( ( rule__EString__Alternatives ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:242:1: ( ( rule__EString__Alternatives ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:158:1: ( ( rule__EString__Alternatives ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:159:1: ( rule__EString__Alternatives )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:242:1: ( ( rule__EString__Alternatives ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:243:1: ( rule__EString__Alternatives )
             {
              before(grammarAccess.getEStringAccess().getAlternatives()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:160:1: ( rule__EString__Alternatives )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:160:2: rule__EString__Alternatives
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:244:1: ( rule__EString__Alternatives )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:244:2: rule__EString__Alternatives
             {
-            pushFollow(FollowSets000.FOLLOW_rule__EString__Alternatives_in_ruleEString274);
+            pushFollow(FollowSets000.FOLLOW_rule__EString__Alternatives_in_ruleEString454);
             rule__EString__Alternatives();
 
             state._fsp--;
@@ -435,20 +673,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleInterface"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:172:1: entryRuleInterface : ruleInterface EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:256:1: entryRuleInterface : ruleInterface EOF ;
     public final void entryRuleInterface() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:173:1: ( ruleInterface EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:174:1: ruleInterface EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:257:1: ( ruleInterface EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:258:1: ruleInterface EOF
             {
              before(grammarAccess.getInterfaceRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInterface_in_entryRuleInterface301);
+            pushFollow(FollowSets000.FOLLOW_ruleInterface_in_entryRuleInterface481);
             ruleInterface();
 
             state._fsp--;
 
              after(grammarAccess.getInterfaceRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInterface308); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInterface488); 
 
             }
 
@@ -465,23 +703,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleInterface"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:181:1: ruleInterface : ( ( rule__Interface__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:265:1: ruleInterface : ( ( rule__Interface__Group__0 ) ) ;
     public final void ruleInterface() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:185:2: ( ( ( rule__Interface__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:186:1: ( ( rule__Interface__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:269:2: ( ( ( rule__Interface__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:270:1: ( ( rule__Interface__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:186:1: ( ( rule__Interface__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:187:1: ( rule__Interface__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:270:1: ( ( rule__Interface__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:271:1: ( rule__Interface__Group__0 )
             {
              before(grammarAccess.getInterfaceAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:188:1: ( rule__Interface__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:188:2: rule__Interface__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:272:1: ( rule__Interface__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:272:2: rule__Interface__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__0_in_ruleInterface334);
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__0_in_ruleInterface514);
             rule__Interface__Group__0();
 
             state._fsp--;
@@ -512,20 +750,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleRepositoryComponent_Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:200:1: entryRuleRepositoryComponent_Impl : ruleRepositoryComponent_Impl EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:284:1: entryRuleRepositoryComponent_Impl : ruleRepositoryComponent_Impl EOF ;
     public final void entryRuleRepositoryComponent_Impl() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:201:1: ( ruleRepositoryComponent_Impl EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:202:1: ruleRepositoryComponent_Impl EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:285:1: ( ruleRepositoryComponent_Impl EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:286:1: ruleRepositoryComponent_Impl EOF
             {
              before(grammarAccess.getRepositoryComponent_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl361);
+            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl541);
             ruleRepositoryComponent_Impl();
 
             state._fsp--;
 
              after(grammarAccess.getRepositoryComponent_ImplRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl368); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl548); 
 
             }
 
@@ -542,23 +780,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleRepositoryComponent_Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:209:1: ruleRepositoryComponent_Impl : ( ( rule__RepositoryComponent_Impl__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:293:1: ruleRepositoryComponent_Impl : ( ( rule__RepositoryComponent_Impl__Group__0 ) ) ;
     public final void ruleRepositoryComponent_Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:213:2: ( ( ( rule__RepositoryComponent_Impl__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:214:1: ( ( rule__RepositoryComponent_Impl__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:297:2: ( ( ( rule__RepositoryComponent_Impl__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:298:1: ( ( rule__RepositoryComponent_Impl__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:214:1: ( ( rule__RepositoryComponent_Impl__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:215:1: ( rule__RepositoryComponent_Impl__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:298:1: ( ( rule__RepositoryComponent_Impl__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:299:1: ( rule__RepositoryComponent_Impl__Group__0 )
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:216:1: ( rule__RepositoryComponent_Impl__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:216:2: rule__RepositoryComponent_Impl__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:300:1: ( rule__RepositoryComponent_Impl__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:300:2: rule__RepositoryComponent_Impl__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__0_in_ruleRepositoryComponent_Impl394);
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__0_in_ruleRepositoryComponent_Impl574);
             rule__RepositoryComponent_Impl__Group__0();
 
             state._fsp--;
@@ -589,20 +827,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleCollectionDataType"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:228:1: entryRuleCollectionDataType : ruleCollectionDataType EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:312:1: entryRuleCollectionDataType : ruleCollectionDataType EOF ;
     public final void entryRuleCollectionDataType() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:229:1: ( ruleCollectionDataType EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:230:1: ruleCollectionDataType EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:313:1: ( ruleCollectionDataType EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:314:1: ruleCollectionDataType EOF
             {
              before(grammarAccess.getCollectionDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType421);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType601);
             ruleCollectionDataType();
 
             state._fsp--;
 
              after(grammarAccess.getCollectionDataTypeRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionDataType428); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionDataType608); 
 
             }
 
@@ -619,23 +857,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleCollectionDataType"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:237:1: ruleCollectionDataType : ( ( rule__CollectionDataType__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:321:1: ruleCollectionDataType : ( ( rule__CollectionDataType__Group__0 ) ) ;
     public final void ruleCollectionDataType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:241:2: ( ( ( rule__CollectionDataType__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:242:1: ( ( rule__CollectionDataType__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:325:2: ( ( ( rule__CollectionDataType__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:326:1: ( ( rule__CollectionDataType__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:242:1: ( ( rule__CollectionDataType__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:243:1: ( rule__CollectionDataType__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:326:1: ( ( rule__CollectionDataType__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:327:1: ( rule__CollectionDataType__Group__0 )
             {
              before(grammarAccess.getCollectionDataTypeAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:244:1: ( rule__CollectionDataType__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:244:2: rule__CollectionDataType__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:328:1: ( rule__CollectionDataType__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:328:2: rule__CollectionDataType__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__0_in_ruleCollectionDataType454);
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__0_in_ruleCollectionDataType634);
             rule__CollectionDataType__Group__0();
 
             state._fsp--;
@@ -666,20 +904,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleCompositeDataType"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:256:1: entryRuleCompositeDataType : ruleCompositeDataType EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:340:1: entryRuleCompositeDataType : ruleCompositeDataType EOF ;
     public final void entryRuleCompositeDataType() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:257:1: ( ruleCompositeDataType EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:258:1: ruleCompositeDataType EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:341:1: ( ruleCompositeDataType EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:342:1: ruleCompositeDataType EOF
             {
              before(grammarAccess.getCompositeDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType481);
+            pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType661);
             ruleCompositeDataType();
 
             state._fsp--;
 
              after(grammarAccess.getCompositeDataTypeRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeDataType488); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeDataType668); 
 
             }
 
@@ -696,23 +934,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleCompositeDataType"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:265:1: ruleCompositeDataType : ( ( rule__CompositeDataType__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:349:1: ruleCompositeDataType : ( ( rule__CompositeDataType__Group__0 ) ) ;
     public final void ruleCompositeDataType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:269:2: ( ( ( rule__CompositeDataType__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:270:1: ( ( rule__CompositeDataType__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:353:2: ( ( ( rule__CompositeDataType__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:354:1: ( ( rule__CompositeDataType__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:270:1: ( ( rule__CompositeDataType__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:271:1: ( rule__CompositeDataType__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:354:1: ( ( rule__CompositeDataType__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:355:1: ( rule__CompositeDataType__Group__0 )
             {
              before(grammarAccess.getCompositeDataTypeAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:272:1: ( rule__CompositeDataType__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:272:2: rule__CompositeDataType__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:356:1: ( rule__CompositeDataType__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:356:2: rule__CompositeDataType__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__0_in_ruleCompositeDataType514);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__0_in_ruleCompositeDataType694);
             rule__CompositeDataType__Group__0();
 
             state._fsp--;
@@ -743,20 +981,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRulePrimitiveDataType"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:284:1: entryRulePrimitiveDataType : rulePrimitiveDataType EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:368:1: entryRulePrimitiveDataType : rulePrimitiveDataType EOF ;
     public final void entryRulePrimitiveDataType() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:285:1: ( rulePrimitiveDataType EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:286:1: rulePrimitiveDataType EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:369:1: ( rulePrimitiveDataType EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:370:1: rulePrimitiveDataType EOF
             {
              before(grammarAccess.getPrimitiveDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType541);
+            pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType721);
             rulePrimitiveDataType();
 
             state._fsp--;
 
              after(grammarAccess.getPrimitiveDataTypeRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveDataType548); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveDataType728); 
 
             }
 
@@ -773,23 +1011,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rulePrimitiveDataType"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:293:1: rulePrimitiveDataType : ( ( rule__PrimitiveDataType__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:377:1: rulePrimitiveDataType : ( ( rule__PrimitiveDataType__Group__0 ) ) ;
     public final void rulePrimitiveDataType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:297:2: ( ( ( rule__PrimitiveDataType__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:298:1: ( ( rule__PrimitiveDataType__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:381:2: ( ( ( rule__PrimitiveDataType__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:382:1: ( ( rule__PrimitiveDataType__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:298:1: ( ( rule__PrimitiveDataType__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:299:1: ( rule__PrimitiveDataType__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:382:1: ( ( rule__PrimitiveDataType__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:383:1: ( rule__PrimitiveDataType__Group__0 )
             {
              before(grammarAccess.getPrimitiveDataTypeAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:300:1: ( rule__PrimitiveDataType__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:300:2: rule__PrimitiveDataType__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:384:1: ( rule__PrimitiveDataType__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:384:2: rule__PrimitiveDataType__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__0_in_rulePrimitiveDataType574);
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__0_in_rulePrimitiveDataType754);
             rule__PrimitiveDataType__Group__0();
 
             state._fsp--;
@@ -820,20 +1058,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleInnerDeclaration"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:312:1: entryRuleInnerDeclaration : ruleInnerDeclaration EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:396:1: entryRuleInnerDeclaration : ruleInnerDeclaration EOF ;
     public final void entryRuleInnerDeclaration() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:313:1: ( ruleInnerDeclaration EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:314:1: ruleInnerDeclaration EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:397:1: ( ruleInnerDeclaration EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:398:1: ruleInnerDeclaration EOF
             {
              before(grammarAccess.getInnerDeclarationRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration601);
+            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration781);
             ruleInnerDeclaration();
 
             state._fsp--;
 
              after(grammarAccess.getInnerDeclarationRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInnerDeclaration608); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInnerDeclaration788); 
 
             }
 
@@ -850,23 +1088,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleInnerDeclaration"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:321:1: ruleInnerDeclaration : ( ( rule__InnerDeclaration__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:405:1: ruleInnerDeclaration : ( ( rule__InnerDeclaration__Group__0 ) ) ;
     public final void ruleInnerDeclaration() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:325:2: ( ( ( rule__InnerDeclaration__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:326:1: ( ( rule__InnerDeclaration__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:409:2: ( ( ( rule__InnerDeclaration__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:410:1: ( ( rule__InnerDeclaration__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:326:1: ( ( rule__InnerDeclaration__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:327:1: ( rule__InnerDeclaration__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:410:1: ( ( rule__InnerDeclaration__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:411:1: ( rule__InnerDeclaration__Group__0 )
             {
              before(grammarAccess.getInnerDeclarationAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:328:1: ( rule__InnerDeclaration__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:328:2: rule__InnerDeclaration__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:412:1: ( rule__InnerDeclaration__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:412:2: rule__InnerDeclaration__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__0_in_ruleInnerDeclaration634);
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__0_in_ruleInnerDeclaration814);
             rule__InnerDeclaration__Group__0();
 
             state._fsp--;
@@ -897,20 +1135,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleSignature"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:340:1: entryRuleSignature : ruleSignature EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:424:1: entryRuleSignature : ruleSignature EOF ;
     public final void entryRuleSignature() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:341:1: ( ruleSignature EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:342:1: ruleSignature EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:425:1: ( ruleSignature EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:426:1: ruleSignature EOF
             {
              before(grammarAccess.getSignatureRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_entryRuleSignature661);
+            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_entryRuleSignature841);
             ruleSignature();
 
             state._fsp--;
 
              after(grammarAccess.getSignatureRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSignature668); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSignature848); 
 
             }
 
@@ -927,23 +1165,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleSignature"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:349:1: ruleSignature : ( ( rule__Signature__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:433:1: ruleSignature : ( ( rule__Signature__Group__0 ) ) ;
     public final void ruleSignature() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:353:2: ( ( ( rule__Signature__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:354:1: ( ( rule__Signature__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:437:2: ( ( ( rule__Signature__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:438:1: ( ( rule__Signature__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:354:1: ( ( rule__Signature__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:355:1: ( rule__Signature__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:438:1: ( ( rule__Signature__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:439:1: ( rule__Signature__Group__0 )
             {
              before(grammarAccess.getSignatureAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:356:1: ( rule__Signature__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:356:2: rule__Signature__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:440:1: ( rule__Signature__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:440:2: rule__Signature__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__0_in_ruleSignature694);
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__0_in_ruleSignature874);
             rule__Signature__Group__0();
 
             state._fsp--;
@@ -974,20 +1212,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleParameter"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:368:1: entryRuleParameter : ruleParameter EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:452:1: entryRuleParameter : ruleParameter EOF ;
     public final void entryRuleParameter() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:369:1: ( ruleParameter EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:370:1: ruleParameter EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:453:1: ( ruleParameter EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:454:1: ruleParameter EOF
             {
              before(grammarAccess.getParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter721);
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter901);
             ruleParameter();
 
             state._fsp--;
 
              after(grammarAccess.getParameterRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter728); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter908); 
 
             }
 
@@ -1004,23 +1242,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleParameter"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:377:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:461:1: ruleParameter : ( ( rule__Parameter__Group__0 ) ) ;
     public final void ruleParameter() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:381:2: ( ( ( rule__Parameter__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:382:1: ( ( rule__Parameter__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:465:2: ( ( ( rule__Parameter__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:466:1: ( ( rule__Parameter__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:382:1: ( ( rule__Parameter__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:383:1: ( rule__Parameter__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:466:1: ( ( rule__Parameter__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:467:1: ( rule__Parameter__Group__0 )
             {
              before(grammarAccess.getParameterAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:384:1: ( rule__Parameter__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:384:2: rule__Parameter__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:468:1: ( rule__Parameter__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:468:2: rule__Parameter__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0_in_ruleParameter754);
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0_in_ruleParameter934);
             rule__Parameter__Group__0();
 
             state._fsp--;
@@ -1051,20 +1289,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleProvidedRole"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:396:1: entryRuleProvidedRole : ruleProvidedRole EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:480:1: entryRuleProvidedRole : ruleProvidedRole EOF ;
     public final void entryRuleProvidedRole() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:397:1: ( ruleProvidedRole EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:398:1: ruleProvidedRole EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:481:1: ( ruleProvidedRole EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:482:1: ruleProvidedRole EOF
             {
              before(grammarAccess.getProvidedRoleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole781);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole961);
             ruleProvidedRole();
 
             state._fsp--;
 
              after(grammarAccess.getProvidedRoleRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedRole788); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedRole968); 
 
             }
 
@@ -1081,23 +1319,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleProvidedRole"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:405:1: ruleProvidedRole : ( ( rule__ProvidedRole__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:489:1: ruleProvidedRole : ( ( rule__ProvidedRole__Group__0 ) ) ;
     public final void ruleProvidedRole() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:409:2: ( ( ( rule__ProvidedRole__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:410:1: ( ( rule__ProvidedRole__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:493:2: ( ( ( rule__ProvidedRole__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:494:1: ( ( rule__ProvidedRole__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:410:1: ( ( rule__ProvidedRole__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:411:1: ( rule__ProvidedRole__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:494:1: ( ( rule__ProvidedRole__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:495:1: ( rule__ProvidedRole__Group__0 )
             {
              before(grammarAccess.getProvidedRoleAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:412:1: ( rule__ProvidedRole__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:412:2: rule__ProvidedRole__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:496:1: ( rule__ProvidedRole__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:496:2: rule__ProvidedRole__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__0_in_ruleProvidedRole814);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__0_in_ruleProvidedRole994);
             rule__ProvidedRole__Group__0();
 
             state._fsp--;
@@ -1128,20 +1366,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleRequiredRole"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:424:1: entryRuleRequiredRole : ruleRequiredRole EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:508:1: entryRuleRequiredRole : ruleRequiredRole EOF ;
     public final void entryRuleRequiredRole() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:425:1: ( ruleRequiredRole EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:426:1: ruleRequiredRole EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:509:1: ( ruleRequiredRole EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:510:1: ruleRequiredRole EOF
             {
              before(grammarAccess.getRequiredRoleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole841);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole1021);
             ruleRequiredRole();
 
             state._fsp--;
 
              after(grammarAccess.getRequiredRoleRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredRole848); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredRole1028); 
 
             }
 
@@ -1158,23 +1396,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleRequiredRole"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:433:1: ruleRequiredRole : ( ( rule__RequiredRole__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:517:1: ruleRequiredRole : ( ( rule__RequiredRole__Group__0 ) ) ;
     public final void ruleRequiredRole() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:437:2: ( ( ( rule__RequiredRole__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:438:1: ( ( rule__RequiredRole__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:521:2: ( ( ( rule__RequiredRole__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:522:1: ( ( rule__RequiredRole__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:438:1: ( ( rule__RequiredRole__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:439:1: ( rule__RequiredRole__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:522:1: ( ( rule__RequiredRole__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:523:1: ( rule__RequiredRole__Group__0 )
             {
              before(grammarAccess.getRequiredRoleAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:440:1: ( rule__RequiredRole__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:440:2: rule__RequiredRole__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:524:1: ( rule__RequiredRole__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:524:2: rule__RequiredRole__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__0_in_ruleRequiredRole874);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__0_in_ruleRequiredRole1054);
             rule__RequiredRole__Group__0();
 
             state._fsp--;
@@ -1205,20 +1443,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleBasicComponent"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:452:1: entryRuleBasicComponent : ruleBasicComponent EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:536:1: entryRuleBasicComponent : ruleBasicComponent EOF ;
     public final void entryRuleBasicComponent() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:453:1: ( ruleBasicComponent EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:454:1: ruleBasicComponent EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:537:1: ( ruleBasicComponent EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:538:1: ruleBasicComponent EOF
             {
              before(grammarAccess.getBasicComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent901);
+            pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent1081);
             ruleBasicComponent();
 
             state._fsp--;
 
              after(grammarAccess.getBasicComponentRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBasicComponent908); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBasicComponent1088); 
 
             }
 
@@ -1235,23 +1473,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleBasicComponent"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:461:1: ruleBasicComponent : ( ( rule__BasicComponent__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:545:1: ruleBasicComponent : ( ( rule__BasicComponent__Group__0 ) ) ;
     public final void ruleBasicComponent() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:465:2: ( ( ( rule__BasicComponent__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:466:1: ( ( rule__BasicComponent__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:549:2: ( ( ( rule__BasicComponent__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:550:1: ( ( rule__BasicComponent__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:466:1: ( ( rule__BasicComponent__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:467:1: ( rule__BasicComponent__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:550:1: ( ( rule__BasicComponent__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:551:1: ( rule__BasicComponent__Group__0 )
             {
              before(grammarAccess.getBasicComponentAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:468:1: ( rule__BasicComponent__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:468:2: rule__BasicComponent__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:552:1: ( rule__BasicComponent__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:552:2: rule__BasicComponent__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__0_in_ruleBasicComponent934);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__0_in_ruleBasicComponent1114);
             rule__BasicComponent__Group__0();
 
             state._fsp--;
@@ -1282,20 +1520,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleCompositeComponent"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:480:1: entryRuleCompositeComponent : ruleCompositeComponent EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:564:1: entryRuleCompositeComponent : ruleCompositeComponent EOF ;
     public final void entryRuleCompositeComponent() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:481:1: ( ruleCompositeComponent EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:482:1: ruleCompositeComponent EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:565:1: ( ruleCompositeComponent EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:566:1: ruleCompositeComponent EOF
             {
              before(grammarAccess.getCompositeComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent961);
+            pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent1141);
             ruleCompositeComponent();
 
             state._fsp--;
 
              after(grammarAccess.getCompositeComponentRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeComponent968); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeComponent1148); 
 
             }
 
@@ -1312,23 +1550,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleCompositeComponent"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:489:1: ruleCompositeComponent : ( ( rule__CompositeComponent__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:573:1: ruleCompositeComponent : ( ( rule__CompositeComponent__Group__0 ) ) ;
     public final void ruleCompositeComponent() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:493:2: ( ( ( rule__CompositeComponent__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:494:1: ( ( rule__CompositeComponent__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:577:2: ( ( ( rule__CompositeComponent__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:578:1: ( ( rule__CompositeComponent__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:494:1: ( ( rule__CompositeComponent__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:495:1: ( rule__CompositeComponent__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:578:1: ( ( rule__CompositeComponent__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:579:1: ( rule__CompositeComponent__Group__0 )
             {
              before(grammarAccess.getCompositeComponentAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:496:1: ( rule__CompositeComponent__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:496:2: rule__CompositeComponent__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:580:1: ( rule__CompositeComponent__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:580:2: rule__CompositeComponent__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__0_in_ruleCompositeComponent994);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__0_in_ruleCompositeComponent1174);
             rule__CompositeComponent__Group__0();
 
             state._fsp--;
@@ -1359,20 +1597,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleSubSystem"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:508:1: entryRuleSubSystem : ruleSubSystem EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:592:1: entryRuleSubSystem : ruleSubSystem EOF ;
     public final void entryRuleSubSystem() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:509:1: ( ruleSubSystem EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:510:1: ruleSubSystem EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:593:1: ( ruleSubSystem EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:594:1: ruleSubSystem EOF
             {
              before(grammarAccess.getSubSystemRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_entryRuleSubSystem1021);
+            pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_entryRuleSubSystem1201);
             ruleSubSystem();
 
             state._fsp--;
 
              after(grammarAccess.getSubSystemRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSubSystem1028); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSubSystem1208); 
 
             }
 
@@ -1389,23 +1627,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleSubSystem"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:517:1: ruleSubSystem : ( ( rule__SubSystem__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:601:1: ruleSubSystem : ( ( rule__SubSystem__Group__0 ) ) ;
     public final void ruleSubSystem() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:521:2: ( ( ( rule__SubSystem__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:522:1: ( ( rule__SubSystem__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:605:2: ( ( ( rule__SubSystem__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:606:1: ( ( rule__SubSystem__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:522:1: ( ( rule__SubSystem__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:523:1: ( rule__SubSystem__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:606:1: ( ( rule__SubSystem__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:607:1: ( rule__SubSystem__Group__0 )
             {
              before(grammarAccess.getSubSystemAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:524:1: ( rule__SubSystem__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:524:2: rule__SubSystem__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:608:1: ( rule__SubSystem__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:608:2: rule__SubSystem__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__0_in_ruleSubSystem1054);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__0_in_ruleSubSystem1234);
             rule__SubSystem__Group__0();
 
             state._fsp--;
@@ -1436,20 +1674,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleComposedStructureAssembly"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:536:1: entryRuleComposedStructureAssembly : ruleComposedStructureAssembly EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:620:1: entryRuleComposedStructureAssembly : ruleComposedStructureAssembly EOF ;
     public final void entryRuleComposedStructureAssembly() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:537:1: ( ruleComposedStructureAssembly EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:538:1: ruleComposedStructureAssembly EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:621:1: ( ruleComposedStructureAssembly EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:622:1: ruleComposedStructureAssembly EOF
             {
              before(grammarAccess.getComposedStructureAssemblyRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_entryRuleComposedStructureAssembly1081);
+            pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_entryRuleComposedStructureAssembly1261);
             ruleComposedStructureAssembly();
 
             state._fsp--;
 
              after(grammarAccess.getComposedStructureAssemblyRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComposedStructureAssembly1088); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComposedStructureAssembly1268); 
 
             }
 
@@ -1466,23 +1704,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleComposedStructureAssembly"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:545:1: ruleComposedStructureAssembly : ( ( rule__ComposedStructureAssembly__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:629:1: ruleComposedStructureAssembly : ( ( rule__ComposedStructureAssembly__Group__0 ) ) ;
     public final void ruleComposedStructureAssembly() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:549:2: ( ( ( rule__ComposedStructureAssembly__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:550:1: ( ( rule__ComposedStructureAssembly__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:633:2: ( ( ( rule__ComposedStructureAssembly__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:634:1: ( ( rule__ComposedStructureAssembly__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:550:1: ( ( rule__ComposedStructureAssembly__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:551:1: ( rule__ComposedStructureAssembly__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:634:1: ( ( rule__ComposedStructureAssembly__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:635:1: ( rule__ComposedStructureAssembly__Group__0 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:552:1: ( rule__ComposedStructureAssembly__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:552:2: rule__ComposedStructureAssembly__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:636:1: ( rule__ComposedStructureAssembly__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:636:2: rule__ComposedStructureAssembly__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__0_in_ruleComposedStructureAssembly1114);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__0_in_ruleComposedStructureAssembly1294);
             rule__ComposedStructureAssembly__Group__0();
 
             state._fsp--;
@@ -1513,20 +1751,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleAssemblyContext"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:564:1: entryRuleAssemblyContext : ruleAssemblyContext EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:648:1: entryRuleAssemblyContext : ruleAssemblyContext EOF ;
     public final void entryRuleAssemblyContext() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:565:1: ( ruleAssemblyContext EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:566:1: ruleAssemblyContext EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:649:1: ( ruleAssemblyContext EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:650:1: ruleAssemblyContext EOF
             {
              before(grammarAccess.getAssemblyContextRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext1141);
+            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext1321);
             ruleAssemblyContext();
 
             state._fsp--;
 
              after(grammarAccess.getAssemblyContextRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyContext1148); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyContext1328); 
 
             }
 
@@ -1543,23 +1781,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleAssemblyContext"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:573:1: ruleAssemblyContext : ( ( rule__AssemblyContext__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:657:1: ruleAssemblyContext : ( ( rule__AssemblyContext__Group__0 ) ) ;
     public final void ruleAssemblyContext() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:577:2: ( ( ( rule__AssemblyContext__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:578:1: ( ( rule__AssemblyContext__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:661:2: ( ( ( rule__AssemblyContext__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:662:1: ( ( rule__AssemblyContext__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:578:1: ( ( rule__AssemblyContext__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:579:1: ( rule__AssemblyContext__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:662:1: ( ( rule__AssemblyContext__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:663:1: ( rule__AssemblyContext__Group__0 )
             {
              before(grammarAccess.getAssemblyContextAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:580:1: ( rule__AssemblyContext__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:580:2: rule__AssemblyContext__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:664:1: ( rule__AssemblyContext__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:664:2: rule__AssemblyContext__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__0_in_ruleAssemblyContext1174);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__0_in_ruleAssemblyContext1354);
             rule__AssemblyContext__Group__0();
 
             state._fsp--;
@@ -1590,20 +1828,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleAssemblyConnector"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:592:1: entryRuleAssemblyConnector : ruleAssemblyConnector EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:676:1: entryRuleAssemblyConnector : ruleAssemblyConnector EOF ;
     public final void entryRuleAssemblyConnector() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:593:1: ( ruleAssemblyConnector EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:594:1: ruleAssemblyConnector EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:677:1: ( ruleAssemblyConnector EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:678:1: ruleAssemblyConnector EOF
             {
              before(grammarAccess.getAssemblyConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector1201);
+            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector1381);
             ruleAssemblyConnector();
 
             state._fsp--;
 
              after(grammarAccess.getAssemblyConnectorRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyConnector1208); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyConnector1388); 
 
             }
 
@@ -1620,23 +1858,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleAssemblyConnector"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:601:1: ruleAssemblyConnector : ( ( rule__AssemblyConnector__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:685:1: ruleAssemblyConnector : ( ( rule__AssemblyConnector__Group__0 ) ) ;
     public final void ruleAssemblyConnector() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:605:2: ( ( ( rule__AssemblyConnector__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:606:1: ( ( rule__AssemblyConnector__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:689:2: ( ( ( rule__AssemblyConnector__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:690:1: ( ( rule__AssemblyConnector__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:606:1: ( ( rule__AssemblyConnector__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:607:1: ( rule__AssemblyConnector__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:690:1: ( ( rule__AssemblyConnector__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:691:1: ( rule__AssemblyConnector__Group__0 )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:608:1: ( rule__AssemblyConnector__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:608:2: rule__AssemblyConnector__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:692:1: ( rule__AssemblyConnector__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:692:2: rule__AssemblyConnector__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__0_in_ruleAssemblyConnector1234);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__0_in_ruleAssemblyConnector1414);
             rule__AssemblyConnector__Group__0();
 
             state._fsp--;
@@ -1667,20 +1905,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleProvidedDelegationConnector"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:620:1: entryRuleProvidedDelegationConnector : ruleProvidedDelegationConnector EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:704:1: entryRuleProvidedDelegationConnector : ruleProvidedDelegationConnector EOF ;
     public final void entryRuleProvidedDelegationConnector() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:621:1: ( ruleProvidedDelegationConnector EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:622:1: ruleProvidedDelegationConnector EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:705:1: ( ruleProvidedDelegationConnector EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:706:1: ruleProvidedDelegationConnector EOF
             {
              before(grammarAccess.getProvidedDelegationConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector1261);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector1441);
             ruleProvidedDelegationConnector();
 
             state._fsp--;
 
              after(grammarAccess.getProvidedDelegationConnectorRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedDelegationConnector1268); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedDelegationConnector1448); 
 
             }
 
@@ -1697,23 +1935,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleProvidedDelegationConnector"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:629:1: ruleProvidedDelegationConnector : ( ( rule__ProvidedDelegationConnector__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:713:1: ruleProvidedDelegationConnector : ( ( rule__ProvidedDelegationConnector__Group__0 ) ) ;
     public final void ruleProvidedDelegationConnector() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:633:2: ( ( ( rule__ProvidedDelegationConnector__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:634:1: ( ( rule__ProvidedDelegationConnector__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:717:2: ( ( ( rule__ProvidedDelegationConnector__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:718:1: ( ( rule__ProvidedDelegationConnector__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:634:1: ( ( rule__ProvidedDelegationConnector__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:635:1: ( rule__ProvidedDelegationConnector__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:718:1: ( ( rule__ProvidedDelegationConnector__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:719:1: ( rule__ProvidedDelegationConnector__Group__0 )
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:636:1: ( rule__ProvidedDelegationConnector__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:636:2: rule__ProvidedDelegationConnector__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:720:1: ( rule__ProvidedDelegationConnector__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:720:2: rule__ProvidedDelegationConnector__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__0_in_ruleProvidedDelegationConnector1294);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__0_in_ruleProvidedDelegationConnector1474);
             rule__ProvidedDelegationConnector__Group__0();
 
             state._fsp--;
@@ -1744,20 +1982,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "entryRuleRequiredDelegationConnector"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:648:1: entryRuleRequiredDelegationConnector : ruleRequiredDelegationConnector EOF ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:732:1: entryRuleRequiredDelegationConnector : ruleRequiredDelegationConnector EOF ;
     public final void entryRuleRequiredDelegationConnector() throws RecognitionException {
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:649:1: ( ruleRequiredDelegationConnector EOF )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:650:1: ruleRequiredDelegationConnector EOF
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:733:1: ( ruleRequiredDelegationConnector EOF )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:734:1: ruleRequiredDelegationConnector EOF
             {
              before(grammarAccess.getRequiredDelegationConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector1321);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector1501);
             ruleRequiredDelegationConnector();
 
             state._fsp--;
 
              after(grammarAccess.getRequiredDelegationConnectorRule()); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredDelegationConnector1328); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredDelegationConnector1508); 
 
             }
 
@@ -1774,23 +2012,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "ruleRequiredDelegationConnector"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:657:1: ruleRequiredDelegationConnector : ( ( rule__RequiredDelegationConnector__Group__0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:741:1: ruleRequiredDelegationConnector : ( ( rule__RequiredDelegationConnector__Group__0 ) ) ;
     public final void ruleRequiredDelegationConnector() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:661:2: ( ( ( rule__RequiredDelegationConnector__Group__0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:662:1: ( ( rule__RequiredDelegationConnector__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:745:2: ( ( ( rule__RequiredDelegationConnector__Group__0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:746:1: ( ( rule__RequiredDelegationConnector__Group__0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:662:1: ( ( rule__RequiredDelegationConnector__Group__0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:663:1: ( rule__RequiredDelegationConnector__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:746:1: ( ( rule__RequiredDelegationConnector__Group__0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:747:1: ( rule__RequiredDelegationConnector__Group__0 )
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getGroup()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:664:1: ( rule__RequiredDelegationConnector__Group__0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:664:2: rule__RequiredDelegationConnector__Group__0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:748:1: ( rule__RequiredDelegationConnector__Group__0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:748:2: rule__RequiredDelegationConnector__Group__0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__0_in_ruleRequiredDelegationConnector1354);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__0_in_ruleRequiredDelegationConnector1534);
             rule__RequiredDelegationConnector__Group__0();
 
             state._fsp--;
@@ -1821,23 +2059,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rulePrimitiveTypeEnum"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:677:1: rulePrimitiveTypeEnum : ( ( rule__PrimitiveTypeEnum__Alternatives ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:761:1: rulePrimitiveTypeEnum : ( ( rule__PrimitiveTypeEnum__Alternatives ) ) ;
     public final void rulePrimitiveTypeEnum() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:681:1: ( ( ( rule__PrimitiveTypeEnum__Alternatives ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:682:1: ( ( rule__PrimitiveTypeEnum__Alternatives ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:765:1: ( ( ( rule__PrimitiveTypeEnum__Alternatives ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:766:1: ( ( rule__PrimitiveTypeEnum__Alternatives ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:682:1: ( ( rule__PrimitiveTypeEnum__Alternatives ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:683:1: ( rule__PrimitiveTypeEnum__Alternatives )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:766:1: ( ( rule__PrimitiveTypeEnum__Alternatives ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:767:1: ( rule__PrimitiveTypeEnum__Alternatives )
             {
              before(grammarAccess.getPrimitiveTypeEnumAccess().getAlternatives()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:684:1: ( rule__PrimitiveTypeEnum__Alternatives )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:684:2: rule__PrimitiveTypeEnum__Alternatives
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:768:1: ( rule__PrimitiveTypeEnum__Alternatives )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:768:2: rule__PrimitiveTypeEnum__Alternatives
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeEnum__Alternatives_in_rulePrimitiveTypeEnum1391);
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveTypeEnum__Alternatives_in_rulePrimitiveTypeEnum1571);
             rule__PrimitiveTypeEnum__Alternatives();
 
             state._fsp--;
@@ -1867,32 +2105,27 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
     // $ANTLR end "rulePrimitiveTypeEnum"
 
 
-    // $ANTLR start "rule__Repository__Alternatives_3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:695:1: rule__Repository__Alternatives_3 : ( ( ( rule__Repository__DatatypesAssignment_3_0 ) ) | ( ( rule__Repository__InterfacesAssignment_3_1 ) ) | ( ( rule__Repository__ComponentsAssignment_3_2 ) ) );
-    public final void rule__Repository__Alternatives_3() throws RecognitionException {
+    // $ANTLR start "rule__DataType__Alternatives"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:779:1: rule__DataType__Alternatives : ( ( ruleCollectionDataType ) | ( ruleCompositeDataType ) | ( rulePrimitiveDataType ) );
+    public final void rule__DataType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:699:1: ( ( ( rule__Repository__DatatypesAssignment_3_0 ) ) | ( ( rule__Repository__InterfacesAssignment_3_1 ) ) | ( ( rule__Repository__ComponentsAssignment_3_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:783:1: ( ( ruleCollectionDataType ) | ( ruleCompositeDataType ) | ( rulePrimitiveDataType ) )
             int alt1=3;
             switch ( input.LA(1) ) {
-            case 32:
-            case 34:
-            case 37:
+            case 39:
                 {
                 alt1=1;
                 }
                 break;
-            case 22:
+            case 41:
                 {
                 alt1=2;
                 }
                 break;
-            case 28:
             case 44:
-            case 45:
-            case 47:
                 {
                 alt1=3;
                 }
@@ -1906,24 +2139,18 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
             switch (alt1) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:700:1: ( ( rule__Repository__DatatypesAssignment_3_0 ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:784:1: ( ruleCollectionDataType )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:700:1: ( ( rule__Repository__DatatypesAssignment_3_0 ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:701:1: ( rule__Repository__DatatypesAssignment_3_0 )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:784:1: ( ruleCollectionDataType )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:785:1: ruleCollectionDataType
                     {
-                     before(grammarAccess.getRepositoryAccess().getDatatypesAssignment_3_0()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:702:1: ( rule__Repository__DatatypesAssignment_3_0 )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:702:2: rule__Repository__DatatypesAssignment_3_0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Repository__DatatypesAssignment_3_0_in_rule__Repository__Alternatives_31426);
-                    rule__Repository__DatatypesAssignment_3_0();
+                     before(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_rule__DataType__Alternatives1606);
+                    ruleCollectionDataType();
 
                     state._fsp--;
 
-
-                    }
-
-                     after(grammarAccess.getRepositoryAccess().getDatatypesAssignment_3_0()); 
+                     after(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); 
 
                     }
 
@@ -1931,24 +2158,18 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:706:6: ( ( rule__Repository__InterfacesAssignment_3_1 ) )
-                    {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:706:6: ( ( rule__Repository__InterfacesAssignment_3_1 ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:707:1: ( rule__Repository__InterfacesAssignment_3_1 )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:790:6: ( ruleCompositeDataType )
                     {
-                     before(grammarAccess.getRepositoryAccess().getInterfacesAssignment_3_1()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:708:1: ( rule__Repository__InterfacesAssignment_3_1 )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:708:2: rule__Repository__InterfacesAssignment_3_1
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:790:6: ( ruleCompositeDataType )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:791:1: ruleCompositeDataType
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__Repository__InterfacesAssignment_3_1_in_rule__Repository__Alternatives_31444);
-                    rule__Repository__InterfacesAssignment_3_1();
+                     before(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_rule__DataType__Alternatives1623);
+                    ruleCompositeDataType();
 
                     state._fsp--;
 
-
-                    }
-
-                     after(grammarAccess.getRepositoryAccess().getInterfacesAssignment_3_1()); 
+                     after(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); 
 
                     }
 
@@ -1956,24 +2177,18 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 3 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:712:6: ( ( rule__Repository__ComponentsAssignment_3_2 ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:796:6: ( rulePrimitiveDataType )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:712:6: ( ( rule__Repository__ComponentsAssignment_3_2 ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:713:1: ( rule__Repository__ComponentsAssignment_3_2 )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:796:6: ( rulePrimitiveDataType )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:797:1: rulePrimitiveDataType
                     {
-                     before(grammarAccess.getRepositoryAccess().getComponentsAssignment_3_2()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:714:1: ( rule__Repository__ComponentsAssignment_3_2 )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:714:2: rule__Repository__ComponentsAssignment_3_2
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Repository__ComponentsAssignment_3_2_in_rule__Repository__Alternatives_31462);
-                    rule__Repository__ComponentsAssignment_3_2();
+                     before(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); 
+                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_rule__DataType__Alternatives1640);
+                    rulePrimitiveDataType();
 
                     state._fsp--;
 
-
-                    }
-
-                     after(grammarAccess.getRepositoryAccess().getComponentsAssignment_3_2()); 
+                     after(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); 
 
                     }
 
@@ -1994,34 +2209,39 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Repository__Alternatives_3"
+    // $ANTLR end "rule__DataType__Alternatives"
 
 
-    // $ANTLR start "rule__DataType__Alternatives"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:723:1: rule__DataType__Alternatives : ( ( ruleCollectionDataType ) | ( ruleCompositeDataType ) | ( rulePrimitiveDataType ) );
-    public final void rule__DataType__Alternatives() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent__Alternatives"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:807:1: rule__RepositoryComponent__Alternatives : ( ( ruleRepositoryComponent_Impl ) | ( ruleBasicComponent ) | ( ruleCompositeComponent ) | ( ruleSubSystem ) );
+    public final void rule__RepositoryComponent__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:727:1: ( ( ruleCollectionDataType ) | ( ruleCompositeDataType ) | ( rulePrimitiveDataType ) )
-            int alt2=3;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:811:1: ( ( ruleRepositoryComponent_Impl ) | ( ruleBasicComponent ) | ( ruleCompositeComponent ) | ( ruleSubSystem ) )
+            int alt2=4;
             switch ( input.LA(1) ) {
-            case 32:
+            case 35:
                 {
                 alt2=1;
                 }
                 break;
-            case 34:
+            case 51:
                 {
                 alt2=2;
                 }
                 break;
-            case 37:
+            case 52:
                 {
                 alt2=3;
                 }
                 break;
+            case 54:
+                {
+                alt2=4;
+                }
+                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 2, 0, input);
@@ -2031,18 +2251,18 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
             switch (alt2) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:728:1: ( ruleCollectionDataType )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:812:1: ( ruleRepositoryComponent_Impl )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:728:1: ( ruleCollectionDataType )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:729:1: ruleCollectionDataType
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:812:1: ( ruleRepositoryComponent_Impl )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:813:1: ruleRepositoryComponent_Impl
                     {
-                     before(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_rule__DataType__Alternatives1495);
-                    ruleCollectionDataType();
+                     before(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_rule__RepositoryComponent__Alternatives1672);
+                    ruleRepositoryComponent_Impl();
 
                     state._fsp--;
 
-                     after(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); 
+                     after(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); 
 
                     }
 
@@ -2050,18 +2270,18 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:734:6: ( ruleCompositeDataType )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:818:6: ( ruleBasicComponent )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:734:6: ( ruleCompositeDataType )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:735:1: ruleCompositeDataType
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:818:6: ( ruleBasicComponent )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:819:1: ruleBasicComponent
                     {
-                     before(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_rule__DataType__Alternatives1512);
-                    ruleCompositeDataType();
+                     before(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_rule__RepositoryComponent__Alternatives1689);
+                    ruleBasicComponent();
 
                     state._fsp--;
 
-                     after(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); 
+                     after(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); 
 
                     }
 
@@ -2069,18 +2289,37 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 3 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:740:6: ( rulePrimitiveDataType )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:824:6: ( ruleCompositeComponent )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:740:6: ( rulePrimitiveDataType )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:741:1: rulePrimitiveDataType
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:824:6: ( ruleCompositeComponent )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:825:1: ruleCompositeComponent
                     {
-                     before(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_rule__DataType__Alternatives1529);
-                    rulePrimitiveDataType();
+                     before(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_rule__RepositoryComponent__Alternatives1706);
+                    ruleCompositeComponent();
 
                     state._fsp--;
 
-                     after(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); 
+                     after(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 4 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:830:6: ( ruleSubSystem )
+                    {
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:830:6: ( ruleSubSystem )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:831:1: ruleSubSystem
+                    {
+                     before(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); 
+                    pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_rule__RepositoryComponent__Alternatives1723);
+                    ruleSubSystem();
+
+                    state._fsp--;
+
+                     after(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); 
 
                     }
 
@@ -2101,60 +2340,42 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__DataType__Alternatives"
+    // $ANTLR end "rule__RepositoryComponent__Alternatives"
 
 
-    // $ANTLR start "rule__RepositoryComponent__Alternatives"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:751:1: rule__RepositoryComponent__Alternatives : ( ( ruleRepositoryComponent_Impl ) | ( ruleBasicComponent ) | ( ruleCompositeComponent ) | ( ruleSubSystem ) );
-    public final void rule__RepositoryComponent__Alternatives() throws RecognitionException {
+    // $ANTLR start "rule__EString__Alternatives"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:841:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) );
+    public final void rule__EString__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:755:1: ( ( ruleRepositoryComponent_Impl ) | ( ruleBasicComponent ) | ( ruleCompositeComponent ) | ( ruleSubSystem ) )
-            int alt3=4;
-            switch ( input.LA(1) ) {
-            case 28:
-                {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:845:1: ( ( RULE_STRING ) | ( RULE_ID ) )
+            int alt3=2;
+            int LA3_0 = input.LA(1);
+
+            if ( (LA3_0==RULE_STRING) ) {
                 alt3=1;
-                }
-                break;
-            case 44:
-                {
+            }
+            else if ( (LA3_0==RULE_ID) ) {
                 alt3=2;
-                }
-                break;
-            case 45:
-                {
-                alt3=3;
-                }
-                break;
-            case 47:
-                {
-                alt3=4;
-                }
-                break;
-            default:
+            }
+            else {
                 NoViableAltException nvae =
                     new NoViableAltException("", 3, 0, input);
 
                 throw nvae;
             }
-
             switch (alt3) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:756:1: ( ruleRepositoryComponent_Impl )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:846:1: ( RULE_STRING )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:756:1: ( ruleRepositoryComponent_Impl )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:757:1: ruleRepositoryComponent_Impl
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:846:1: ( RULE_STRING )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:847:1: RULE_STRING
                     {
-                     before(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_rule__RepositoryComponent__Alternatives1561);
-                    ruleRepositoryComponent_Impl();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); 
+                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
+                    match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EString__Alternatives1755); 
+                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
 
                     }
 
@@ -2162,56 +2383,14 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:762:6: ( ruleBasicComponent )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:852:6: ( RULE_ID )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:762:6: ( ruleBasicComponent )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:763:1: ruleBasicComponent
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:852:6: ( RULE_ID )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:853:1: RULE_ID
                     {
-                     before(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_rule__RepositoryComponent__Alternatives1578);
-                    ruleBasicComponent();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:768:6: ( ruleCompositeComponent )
-                    {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:768:6: ( ruleCompositeComponent )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:769:1: ruleCompositeComponent
-                    {
-                     before(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_rule__RepositoryComponent__Alternatives1595);
-                    ruleCompositeComponent();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:774:6: ( ruleSubSystem )
-                    {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:774:6: ( ruleSubSystem )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:775:1: ruleSubSystem
-                    {
-                     before(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); 
-                    pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_rule__RepositoryComponent__Alternatives1612);
-                    ruleSubSystem();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); 
+                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
+                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EString__Alternatives1772); 
+                     after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
 
                     }
 
@@ -2232,24 +2411,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent__Alternatives"
+    // $ANTLR end "rule__EString__Alternatives"
 
 
-    // $ANTLR start "rule__EString__Alternatives"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:785:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) );
-    public final void rule__EString__Alternatives() throws RecognitionException {
+    // $ANTLR start "rule__Signature__Alternatives_0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:863:1: rule__Signature__Alternatives_0 : ( ( ( rule__Signature__ReturnTypeAssignment_0_0 ) ) | ( 'void' ) );
+    public final void rule__Signature__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:789:1: ( ( RULE_STRING ) | ( RULE_ID ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:867:1: ( ( ( rule__Signature__ReturnTypeAssignment_0_0 ) ) | ( 'void' ) )
             int alt4=2;
             int LA4_0 = input.LA(1);
 
-            if ( (LA4_0==RULE_STRING) ) {
+            if ( ((LA4_0>=RULE_STRING && LA4_0<=RULE_ID)) ) {
                 alt4=1;
             }
-            else if ( (LA4_0==RULE_ID) ) {
+            else if ( (LA4_0==11) ) {
                 alt4=2;
             }
             else {
@@ -2260,87 +2439,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             }
             switch (alt4) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:790:1: ( RULE_STRING )
-                    {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:790:1: ( RULE_STRING )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:791:1: RULE_STRING
-                    {
-                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-                    match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EString__Alternatives1644); 
-                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:796:6: ( RULE_ID )
-                    {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:796:6: ( RULE_ID )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:797:1: RULE_ID
-                    {
-                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EString__Alternatives1661); 
-                     after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__EString__Alternatives"
-
-
-    // $ANTLR start "rule__Signature__Alternatives_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:807:1: rule__Signature__Alternatives_0 : ( ( ( rule__Signature__ReturnTypeAssignment_0_0 ) ) | ( 'void' ) );
-    public final void rule__Signature__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:811:1: ( ( ( rule__Signature__ReturnTypeAssignment_0_0 ) ) | ( 'void' ) )
-            int alt5=2;
-            int LA5_0 = input.LA(1);
-
-            if ( ((LA5_0>=RULE_STRING && LA5_0<=RULE_ID)) ) {
-                alt5=1;
-            }
-            else if ( (LA5_0==11) ) {
-                alt5=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 5, 0, input);
-
-                throw nvae;
-            }
-            switch (alt5) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:812:1: ( ( rule__Signature__ReturnTypeAssignment_0_0 ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:868:1: ( ( rule__Signature__ReturnTypeAssignment_0_0 ) )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:812:1: ( ( rule__Signature__ReturnTypeAssignment_0_0 ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:813:1: ( rule__Signature__ReturnTypeAssignment_0_0 )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:868:1: ( ( rule__Signature__ReturnTypeAssignment_0_0 ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:869:1: ( rule__Signature__ReturnTypeAssignment_0_0 )
                     {
                      before(grammarAccess.getSignatureAccess().getReturnTypeAssignment_0_0()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:814:1: ( rule__Signature__ReturnTypeAssignment_0_0 )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:814:2: rule__Signature__ReturnTypeAssignment_0_0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:870:1: ( rule__Signature__ReturnTypeAssignment_0_0 )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:870:2: rule__Signature__ReturnTypeAssignment_0_0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__Signature__ReturnTypeAssignment_0_0_in_rule__Signature__Alternatives_01693);
+                    pushFollow(FollowSets000.FOLLOW_rule__Signature__ReturnTypeAssignment_0_0_in_rule__Signature__Alternatives_01804);
                     rule__Signature__ReturnTypeAssignment_0_0();
 
                     state._fsp--;
@@ -2356,13 +2464,13 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:818:6: ( 'void' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:874:6: ( 'void' )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:818:6: ( 'void' )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:819:1: 'void'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:874:6: ( 'void' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:875:1: 'void'
                     {
                      before(grammarAccess.getSignatureAccess().getVoidKeyword_0_1()); 
-                    match(input,11,FollowSets000.FOLLOW_11_in_rule__Signature__Alternatives_01712); 
+                    match(input,11,FollowSets000.FOLLOW_11_in_rule__Signature__Alternatives_01823); 
                      after(grammarAccess.getSignatureAccess().getVoidKeyword_0_1()); 
 
                     }
@@ -2388,69 +2496,69 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__PrimitiveTypeEnum__Alternatives"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:831:1: rule__PrimitiveTypeEnum__Alternatives : ( ( ( 'INT' ) ) | ( ( 'STRING' ) ) | ( ( 'BOOL' ) ) | ( ( 'DOUBLE' ) ) | ( ( 'CHAR' ) ) | ( ( 'BYTE' ) ) | ( ( 'LONG' ) ) );
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:887:1: rule__PrimitiveTypeEnum__Alternatives : ( ( ( 'INT' ) ) | ( ( 'STRING' ) ) | ( ( 'BOOL' ) ) | ( ( 'DOUBLE' ) ) | ( ( 'CHAR' ) ) | ( ( 'BYTE' ) ) | ( ( 'LONG' ) ) );
     public final void rule__PrimitiveTypeEnum__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:835:1: ( ( ( 'INT' ) ) | ( ( 'STRING' ) ) | ( ( 'BOOL' ) ) | ( ( 'DOUBLE' ) ) | ( ( 'CHAR' ) ) | ( ( 'BYTE' ) ) | ( ( 'LONG' ) ) )
-            int alt6=7;
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:891:1: ( ( ( 'INT' ) ) | ( ( 'STRING' ) ) | ( ( 'BOOL' ) ) | ( ( 'DOUBLE' ) ) | ( ( 'CHAR' ) ) | ( ( 'BYTE' ) ) | ( ( 'LONG' ) ) )
+            int alt5=7;
             switch ( input.LA(1) ) {
             case 12:
                 {
-                alt6=1;
+                alt5=1;
                 }
                 break;
             case 13:
                 {
-                alt6=2;
+                alt5=2;
                 }
                 break;
             case 14:
                 {
-                alt6=3;
+                alt5=3;
                 }
                 break;
             case 15:
                 {
-                alt6=4;
+                alt5=4;
                 }
                 break;
             case 16:
                 {
-                alt6=5;
+                alt5=5;
                 }
                 break;
             case 17:
                 {
-                alt6=6;
+                alt5=6;
                 }
                 break;
             case 18:
                 {
-                alt6=7;
+                alt5=7;
                 }
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
+                    new NoViableAltException("", 5, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt6) {
+            switch (alt5) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:836:1: ( ( 'INT' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:892:1: ( ( 'INT' ) )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:836:1: ( ( 'INT' ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:837:1: ( 'INT' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:892:1: ( ( 'INT' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:893:1: ( 'INT' )
                     {
                      before(grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:838:1: ( 'INT' )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:838:3: 'INT'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:894:1: ( 'INT' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:894:3: 'INT'
                     {
-                    match(input,12,FollowSets000.FOLLOW_12_in_rule__PrimitiveTypeEnum__Alternatives1747); 
+                    match(input,12,FollowSets000.FOLLOW_12_in_rule__PrimitiveTypeEnum__Alternatives1858); 
 
                     }
 
@@ -2462,16 +2570,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:843:6: ( ( 'STRING' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:899:6: ( ( 'STRING' ) )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:843:6: ( ( 'STRING' ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:844:1: ( 'STRING' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:899:6: ( ( 'STRING' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:900:1: ( 'STRING' )
                     {
                      before(grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:845:1: ( 'STRING' )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:845:3: 'STRING'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:901:1: ( 'STRING' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:901:3: 'STRING'
                     {
-                    match(input,13,FollowSets000.FOLLOW_13_in_rule__PrimitiveTypeEnum__Alternatives1768); 
+                    match(input,13,FollowSets000.FOLLOW_13_in_rule__PrimitiveTypeEnum__Alternatives1879); 
 
                     }
 
@@ -2483,16 +2591,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 3 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:850:6: ( ( 'BOOL' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:906:6: ( ( 'BOOL' ) )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:850:6: ( ( 'BOOL' ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:851:1: ( 'BOOL' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:906:6: ( ( 'BOOL' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:907:1: ( 'BOOL' )
                     {
                      before(grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:852:1: ( 'BOOL' )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:852:3: 'BOOL'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:908:1: ( 'BOOL' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:908:3: 'BOOL'
                     {
-                    match(input,14,FollowSets000.FOLLOW_14_in_rule__PrimitiveTypeEnum__Alternatives1789); 
+                    match(input,14,FollowSets000.FOLLOW_14_in_rule__PrimitiveTypeEnum__Alternatives1900); 
 
                     }
 
@@ -2504,16 +2612,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 4 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:857:6: ( ( 'DOUBLE' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:913:6: ( ( 'DOUBLE' ) )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:857:6: ( ( 'DOUBLE' ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:858:1: ( 'DOUBLE' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:913:6: ( ( 'DOUBLE' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:914:1: ( 'DOUBLE' )
                     {
                      before(grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:859:1: ( 'DOUBLE' )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:859:3: 'DOUBLE'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:915:1: ( 'DOUBLE' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:915:3: 'DOUBLE'
                     {
-                    match(input,15,FollowSets000.FOLLOW_15_in_rule__PrimitiveTypeEnum__Alternatives1810); 
+                    match(input,15,FollowSets000.FOLLOW_15_in_rule__PrimitiveTypeEnum__Alternatives1921); 
 
                     }
 
@@ -2525,16 +2633,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 5 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:864:6: ( ( 'CHAR' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:920:6: ( ( 'CHAR' ) )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:864:6: ( ( 'CHAR' ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:865:1: ( 'CHAR' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:920:6: ( ( 'CHAR' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:921:1: ( 'CHAR' )
                     {
                      before(grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:866:1: ( 'CHAR' )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:866:3: 'CHAR'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:922:1: ( 'CHAR' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:922:3: 'CHAR'
                     {
-                    match(input,16,FollowSets000.FOLLOW_16_in_rule__PrimitiveTypeEnum__Alternatives1831); 
+                    match(input,16,FollowSets000.FOLLOW_16_in_rule__PrimitiveTypeEnum__Alternatives1942); 
 
                     }
 
@@ -2546,16 +2654,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 6 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:871:6: ( ( 'BYTE' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:927:6: ( ( 'BYTE' ) )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:871:6: ( ( 'BYTE' ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:872:1: ( 'BYTE' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:927:6: ( ( 'BYTE' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:928:1: ( 'BYTE' )
                     {
                      before(grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:873:1: ( 'BYTE' )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:873:3: 'BYTE'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:929:1: ( 'BYTE' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:929:3: 'BYTE'
                     {
-                    match(input,17,FollowSets000.FOLLOW_17_in_rule__PrimitiveTypeEnum__Alternatives1852); 
+                    match(input,17,FollowSets000.FOLLOW_17_in_rule__PrimitiveTypeEnum__Alternatives1963); 
 
                     }
 
@@ -2567,16 +2675,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
                     }
                     break;
                 case 7 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:878:6: ( ( 'LONG' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:934:6: ( ( 'LONG' ) )
                     {
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:878:6: ( ( 'LONG' ) )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:879:1: ( 'LONG' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:934:6: ( ( 'LONG' ) )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:935:1: ( 'LONG' )
                     {
                      before(grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6()); 
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:880:1: ( 'LONG' )
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:880:3: 'LONG'
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:936:1: ( 'LONG' )
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:936:3: 'LONG'
                     {
-                    match(input,18,FollowSets000.FOLLOW_18_in_rule__PrimitiveTypeEnum__Alternatives1873); 
+                    match(input,18,FollowSets000.FOLLOW_18_in_rule__PrimitiveTypeEnum__Alternatives1984); 
 
                     }
 
@@ -2605,21 +2713,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:892:1: rule__Repository__Group__0 : rule__Repository__Group__0__Impl rule__Repository__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:948:1: rule__Repository__Group__0 : rule__Repository__Group__0__Impl rule__Repository__Group__1 ;
     public final void rule__Repository__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:896:1: ( rule__Repository__Group__0__Impl rule__Repository__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:897:2: rule__Repository__Group__0__Impl rule__Repository__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:952:1: ( rule__Repository__Group__0__Impl rule__Repository__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:953:2: rule__Repository__Group__0__Impl rule__Repository__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__0__Impl_in_rule__Repository__Group__01906);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__0__Impl_in_rule__Repository__Group__02017);
             rule__Repository__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__1_in_rule__Repository__Group__01909);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__1_in_rule__Repository__Group__02020);
             rule__Repository__Group__1();
 
             state._fsp--;
@@ -2643,20 +2751,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:904:1: rule__Repository__Group__0__Impl : ( 'Repository' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:960:1: rule__Repository__Group__0__Impl : ( 'Repository' ) ;
     public final void rule__Repository__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:908:1: ( ( 'Repository' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:909:1: ( 'Repository' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:964:1: ( ( 'Repository' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:965:1: ( 'Repository' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:909:1: ( 'Repository' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:910:1: 'Repository'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:965:1: ( 'Repository' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:966:1: 'Repository'
             {
              before(grammarAccess.getRepositoryAccess().getRepositoryKeyword_0()); 
-            match(input,19,FollowSets000.FOLLOW_19_in_rule__Repository__Group__0__Impl1937); 
+            match(input,19,FollowSets000.FOLLOW_19_in_rule__Repository__Group__0__Impl2048); 
              after(grammarAccess.getRepositoryAccess().getRepositoryKeyword_0()); 
 
             }
@@ -2680,21 +2788,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:923:1: rule__Repository__Group__1 : rule__Repository__Group__1__Impl rule__Repository__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:979:1: rule__Repository__Group__1 : rule__Repository__Group__1__Impl rule__Repository__Group__2 ;
     public final void rule__Repository__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:927:1: ( rule__Repository__Group__1__Impl rule__Repository__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:928:2: rule__Repository__Group__1__Impl rule__Repository__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:983:1: ( rule__Repository__Group__1__Impl rule__Repository__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:984:2: rule__Repository__Group__1__Impl rule__Repository__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__1__Impl_in_rule__Repository__Group__11968);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__1__Impl_in_rule__Repository__Group__12079);
             rule__Repository__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__2_in_rule__Repository__Group__11971);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__2_in_rule__Repository__Group__12082);
             rule__Repository__Group__2();
 
             state._fsp--;
@@ -2718,23 +2826,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:935:1: rule__Repository__Group__1__Impl : ( ( rule__Repository__NameAssignment_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:991:1: rule__Repository__Group__1__Impl : ( ( rule__Repository__NameAssignment_1 ) ) ;
     public final void rule__Repository__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:939:1: ( ( ( rule__Repository__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:940:1: ( ( rule__Repository__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:995:1: ( ( ( rule__Repository__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:996:1: ( ( rule__Repository__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:940:1: ( ( rule__Repository__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:941:1: ( rule__Repository__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:996:1: ( ( rule__Repository__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:997:1: ( rule__Repository__NameAssignment_1 )
             {
              before(grammarAccess.getRepositoryAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:942:1: ( rule__Repository__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:942:2: rule__Repository__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:998:1: ( rule__Repository__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:998:2: rule__Repository__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__NameAssignment_1_in_rule__Repository__Group__1__Impl1998);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__NameAssignment_1_in_rule__Repository__Group__1__Impl2109);
             rule__Repository__NameAssignment_1();
 
             state._fsp--;
@@ -2765,21 +2873,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:952:1: rule__Repository__Group__2 : rule__Repository__Group__2__Impl rule__Repository__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1008:1: rule__Repository__Group__2 : rule__Repository__Group__2__Impl rule__Repository__Group__3 ;
     public final void rule__Repository__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:956:1: ( rule__Repository__Group__2__Impl rule__Repository__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:957:2: rule__Repository__Group__2__Impl rule__Repository__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1012:1: ( rule__Repository__Group__2__Impl rule__Repository__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1013:2: rule__Repository__Group__2__Impl rule__Repository__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__2__Impl_in_rule__Repository__Group__22028);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__2__Impl_in_rule__Repository__Group__22139);
             rule__Repository__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__3_in_rule__Repository__Group__22031);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__3_in_rule__Repository__Group__22142);
             rule__Repository__Group__3();
 
             state._fsp--;
@@ -2803,20 +2911,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:964:1: rule__Repository__Group__2__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1020:1: rule__Repository__Group__2__Impl : ( '{' ) ;
     public final void rule__Repository__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:968:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:969:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1024:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1025:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:969:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:970:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1025:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1026:1: '{'
             {
              before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Repository__Group__2__Impl2059); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__Repository__Group__2__Impl2170); 
              after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -2840,21 +2948,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:983:1: rule__Repository__Group__3 : rule__Repository__Group__3__Impl rule__Repository__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1039:1: rule__Repository__Group__3 : rule__Repository__Group__3__Impl rule__Repository__Group__4 ;
     public final void rule__Repository__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:987:1: ( rule__Repository__Group__3__Impl rule__Repository__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:988:2: rule__Repository__Group__3__Impl rule__Repository__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1043:1: ( rule__Repository__Group__3__Impl rule__Repository__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1044:2: rule__Repository__Group__3__Impl rule__Repository__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__3__Impl_in_rule__Repository__Group__32090);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__3__Impl_in_rule__Repository__Group__32201);
             rule__Repository__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__4_in_rule__Repository__Group__32093);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__4_in_rule__Repository__Group__32204);
             rule__Repository__Group__4();
 
             state._fsp--;
@@ -2878,49 +2986,42 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:995:1: rule__Repository__Group__3__Impl : ( ( rule__Repository__Alternatives_3 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1051:1: rule__Repository__Group__3__Impl : ( ( rule__Repository__Group_3__0 )? ) ;
     public final void rule__Repository__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:999:1: ( ( ( rule__Repository__Alternatives_3 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1000:1: ( ( rule__Repository__Alternatives_3 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1055:1: ( ( ( rule__Repository__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1056:1: ( ( rule__Repository__Group_3__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1000:1: ( ( rule__Repository__Alternatives_3 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1001:1: ( rule__Repository__Alternatives_3 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1056:1: ( ( rule__Repository__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1057:1: ( rule__Repository__Group_3__0 )?
             {
-             before(grammarAccess.getRepositoryAccess().getAlternatives_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1002:1: ( rule__Repository__Alternatives_3 )*
-            loop7:
-            do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
-
-                if ( (LA7_0==22||LA7_0==28||LA7_0==32||LA7_0==34||LA7_0==37||(LA7_0>=44 && LA7_0<=45)||LA7_0==47) ) {
-                    alt7=1;
-                }
+             before(grammarAccess.getRepositoryAccess().getGroup_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1058:1: ( rule__Repository__Group_3__0 )?
+            int alt6=2;
+            int LA6_0 = input.LA(1);
 
+            if ( (LA6_0==22) ) {
+                alt6=1;
+            }
+            switch (alt6) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1058:2: rule__Repository__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__0_in_rule__Repository__Group__3__Impl2231);
+                    rule__Repository__Group_3__0();
 
-                switch (alt7) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1002:2: rule__Repository__Alternatives_3
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__Repository__Alternatives_3_in_rule__Repository__Group__3__Impl2120);
-            	    rule__Repository__Alternatives_3();
-
-            	    state._fsp--;
+                    state._fsp--;
 
 
-            	    }
-            	    break;
+                    }
+                    break;
 
-            	default :
-            	    break loop7;
-                }
-            } while (true);
+            }
 
-             after(grammarAccess.getRepositoryAccess().getAlternatives_3()); 
+             after(grammarAccess.getRepositoryAccess().getGroup_3()); 
 
             }
 
@@ -2943,20 +3044,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1012:1: rule__Repository__Group__4 : rule__Repository__Group__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1068:1: rule__Repository__Group__4 : rule__Repository__Group__4__Impl rule__Repository__Group__5 ;
     public final void rule__Repository__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1016:1: ( rule__Repository__Group__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1017:2: rule__Repository__Group__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1072:1: ( rule__Repository__Group__4__Impl rule__Repository__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1073:2: rule__Repository__Group__4__Impl rule__Repository__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__4__Impl_in_rule__Repository__Group__42151);
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__4__Impl_in_rule__Repository__Group__42262);
             rule__Repository__Group__4__Impl();
 
             state._fsp--;
 
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__5_in_rule__Repository__Group__42265);
+            rule__Repository__Group__5();
+
+            state._fsp--;
+
 
             }
 
@@ -2976,21 +3082,42 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1023:1: rule__Repository__Group__4__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1080:1: rule__Repository__Group__4__Impl : ( ( rule__Repository__Group_4__0 )? ) ;
     public final void rule__Repository__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1027:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1028:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1084:1: ( ( ( rule__Repository__Group_4__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1085:1: ( ( rule__Repository__Group_4__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1028:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1029:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1085:1: ( ( rule__Repository__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1086:1: ( rule__Repository__Group_4__0 )?
             {
-             before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__Repository__Group__4__Impl2179); 
-             after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4()); 
+             before(grammarAccess.getRepositoryAccess().getGroup_4()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1087:1: ( rule__Repository__Group_4__0 )?
+            int alt7=2;
+            int LA7_0 = input.LA(1);
+
+            if ( (LA7_0==24) ) {
+                alt7=1;
+            }
+            switch (alt7) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1087:2: rule__Repository__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__0_in_rule__Repository__Group__4__Impl2292);
+                    rule__Repository__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getRepositoryAccess().getGroup_4()); 
 
             }
 
@@ -3012,23 +3139,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
     // $ANTLR end "rule__Repository__Group__4__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1052:1: rule__Interface__Group__0 : rule__Interface__Group__0__Impl rule__Interface__Group__1 ;
-    public final void rule__Interface__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group__5"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1097:1: rule__Repository__Group__5 : rule__Repository__Group__5__Impl rule__Repository__Group__6 ;
+    public final void rule__Repository__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1056:1: ( rule__Interface__Group__0__Impl rule__Interface__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1057:2: rule__Interface__Group__0__Impl rule__Interface__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1101:1: ( rule__Repository__Group__5__Impl rule__Repository__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1102:2: rule__Repository__Group__5__Impl rule__Repository__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__0__Impl_in_rule__Interface__Group__02220);
-            rule__Interface__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__5__Impl_in_rule__Repository__Group__52323);
+            rule__Repository__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__1_in_rule__Interface__Group__02223);
-            rule__Interface__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__6_in_rule__Repository__Group__52326);
+            rule__Repository__Group__6();
 
             state._fsp--;
 
@@ -3047,25 +3174,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__0"
+    // $ANTLR end "rule__Repository__Group__5"
 
 
-    // $ANTLR start "rule__Interface__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1064:1: rule__Interface__Group__0__Impl : ( 'Interface' ) ;
-    public final void rule__Interface__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group__5__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1109:1: rule__Repository__Group__5__Impl : ( ( rule__Repository__Group_5__0 )? ) ;
+    public final void rule__Repository__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1068:1: ( ( 'Interface' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1069:1: ( 'Interface' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1113:1: ( ( ( rule__Repository__Group_5__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1114:1: ( ( rule__Repository__Group_5__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1069:1: ( 'Interface' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1070:1: 'Interface'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1114:1: ( ( rule__Repository__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1115:1: ( rule__Repository__Group_5__0 )?
             {
-             before(grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); 
-            match(input,22,FollowSets000.FOLLOW_22_in_rule__Interface__Group__0__Impl2251); 
-             after(grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); 
+             before(grammarAccess.getRepositoryAccess().getGroup_5()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1116:1: ( rule__Repository__Group_5__0 )?
+            int alt8=2;
+            int LA8_0 = input.LA(1);
+
+            if ( (LA8_0==25) ) {
+                alt8=1;
+            }
+            switch (alt8) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1116:2: rule__Repository__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__0_in_rule__Repository__Group__5__Impl2353);
+                    rule__Repository__Group_5__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getRepositoryAccess().getGroup_5()); 
 
             }
 
@@ -3084,26 +3232,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__0__Impl"
+    // $ANTLR end "rule__Repository__Group__5__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1083:1: rule__Interface__Group__1 : rule__Interface__Group__1__Impl rule__Interface__Group__2 ;
-    public final void rule__Interface__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group__6"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1126:1: rule__Repository__Group__6 : rule__Repository__Group__6__Impl rule__Repository__Group__7 ;
+    public final void rule__Repository__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1087:1: ( rule__Interface__Group__1__Impl rule__Interface__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1088:2: rule__Interface__Group__1__Impl rule__Interface__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1130:1: ( rule__Repository__Group__6__Impl rule__Repository__Group__7 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1131:2: rule__Repository__Group__6__Impl rule__Repository__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__1__Impl_in_rule__Interface__Group__12282);
-            rule__Interface__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__6__Impl_in_rule__Repository__Group__62384);
+            rule__Repository__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__2_in_rule__Interface__Group__12285);
-            rule__Interface__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__7_in_rule__Repository__Group__62387);
+            rule__Repository__Group__7();
 
             state._fsp--;
 
@@ -3122,35 +3270,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__1"
+    // $ANTLR end "rule__Repository__Group__6"
 
 
-    // $ANTLR start "rule__Interface__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1095:1: rule__Interface__Group__1__Impl : ( ( rule__Interface__NameAssignment_1 ) ) ;
-    public final void rule__Interface__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group__6__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1138:1: rule__Repository__Group__6__Impl : ( ( rule__Repository__Group_6__0 )? ) ;
+    public final void rule__Repository__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1099:1: ( ( ( rule__Interface__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1100:1: ( ( rule__Interface__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1142:1: ( ( ( rule__Repository__Group_6__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1143:1: ( ( rule__Repository__Group_6__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1100:1: ( ( rule__Interface__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1101:1: ( rule__Interface__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1143:1: ( ( rule__Repository__Group_6__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1144:1: ( rule__Repository__Group_6__0 )?
             {
-             before(grammarAccess.getInterfaceAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1102:1: ( rule__Interface__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1102:2: rule__Interface__NameAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__NameAssignment_1_in_rule__Interface__Group__1__Impl2312);
-            rule__Interface__NameAssignment_1();
+             before(grammarAccess.getRepositoryAccess().getGroup_6()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1145:1: ( rule__Repository__Group_6__0 )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
 
-            state._fsp--;
+            if ( (LA9_0==27) ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1145:2: rule__Repository__Group_6__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__0_in_rule__Repository__Group__6__Impl2414);
+                    rule__Repository__Group_6__0();
 
+                    state._fsp--;
+
+
+                    }
+                    break;
 
             }
 
-             after(grammarAccess.getInterfaceAccess().getNameAssignment_1()); 
+             after(grammarAccess.getRepositoryAccess().getGroup_6()); 
 
             }
 
@@ -3169,26 +3328,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__1__Impl"
+    // $ANTLR end "rule__Repository__Group__6__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1112:1: rule__Interface__Group__2 : rule__Interface__Group__2__Impl rule__Interface__Group__3 ;
-    public final void rule__Interface__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group__7"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1155:1: rule__Repository__Group__7 : rule__Repository__Group__7__Impl ;
+    public final void rule__Repository__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1116:1: ( rule__Interface__Group__2__Impl rule__Interface__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1117:2: rule__Interface__Group__2__Impl rule__Interface__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1159:1: ( rule__Repository__Group__7__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1160:2: rule__Repository__Group__7__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__2__Impl_in_rule__Interface__Group__22342);
-            rule__Interface__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__3_in_rule__Interface__Group__22345);
-            rule__Interface__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group__7__Impl_in_rule__Repository__Group__72445);
+            rule__Repository__Group__7__Impl();
 
             state._fsp--;
 
@@ -3207,25 +3361,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__2"
+    // $ANTLR end "rule__Repository__Group__7"
 
 
-    // $ANTLR start "rule__Interface__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1124:1: rule__Interface__Group__2__Impl : ( '{' ) ;
-    public final void rule__Interface__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group__7__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1166:1: rule__Repository__Group__7__Impl : ( '}' ) ;
+    public final void rule__Repository__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1128:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1129:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1170:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1171:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1129:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1130:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1171:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1172:1: '}'
             {
-             before(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Interface__Group__2__Impl2373); 
-             after(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Repository__Group__7__Impl2473); 
+             after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7()); 
 
             }
 
@@ -3244,26 +3398,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__2__Impl"
+    // $ANTLR end "rule__Repository__Group__7__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1143:1: rule__Interface__Group__3 : rule__Interface__Group__3__Impl rule__Interface__Group__4 ;
-    public final void rule__Interface__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1201:1: rule__Repository__Group_3__0 : rule__Repository__Group_3__0__Impl rule__Repository__Group_3__1 ;
+    public final void rule__Repository__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1147:1: ( rule__Interface__Group__3__Impl rule__Interface__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1148:2: rule__Interface__Group__3__Impl rule__Interface__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1205:1: ( rule__Repository__Group_3__0__Impl rule__Repository__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1206:2: rule__Repository__Group_3__0__Impl rule__Repository__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__3__Impl_in_rule__Interface__Group__32404);
-            rule__Interface__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__0__Impl_in_rule__Repository__Group_3__02520);
+            rule__Repository__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__4_in_rule__Interface__Group__32407);
-            rule__Interface__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__1_in_rule__Repository__Group_3__02523);
+            rule__Repository__Group_3__1();
 
             state._fsp--;
 
@@ -3282,46 +3436,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__3"
+    // $ANTLR end "rule__Repository__Group_3__0"
 
 
-    // $ANTLR start "rule__Interface__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1155:1: rule__Interface__Group__3__Impl : ( ( rule__Interface__Group_3__0 )? ) ;
-    public final void rule__Interface__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1213:1: rule__Repository__Group_3__0__Impl : ( 'imports' ) ;
+    public final void rule__Repository__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1159:1: ( ( ( rule__Interface__Group_3__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1160:1: ( ( rule__Interface__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1217:1: ( ( 'imports' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1218:1: ( 'imports' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1160:1: ( ( rule__Interface__Group_3__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1161:1: ( rule__Interface__Group_3__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1218:1: ( 'imports' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1219:1: 'imports'
             {
-             before(grammarAccess.getInterfaceAccess().getGroup_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1162:1: ( rule__Interface__Group_3__0 )?
-            int alt8=2;
-            int LA8_0 = input.LA(1);
-
-            if ( (LA8_0==23) ) {
-                alt8=1;
-            }
-            switch (alt8) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1162:2: rule__Interface__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__0_in_rule__Interface__Group__3__Impl2434);
-                    rule__Interface__Group_3__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getInterfaceAccess().getGroup_3()); 
+             before(grammarAccess.getRepositoryAccess().getImportsKeyword_3_0()); 
+            match(input,22,FollowSets000.FOLLOW_22_in_rule__Repository__Group_3__0__Impl2551); 
+             after(grammarAccess.getRepositoryAccess().getImportsKeyword_3_0()); 
 
             }
 
@@ -3340,26 +3473,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__3__Impl"
+    // $ANTLR end "rule__Repository__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1172:1: rule__Interface__Group__4 : rule__Interface__Group__4__Impl rule__Interface__Group__5 ;
-    public final void rule__Interface__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1232:1: rule__Repository__Group_3__1 : rule__Repository__Group_3__1__Impl rule__Repository__Group_3__2 ;
+    public final void rule__Repository__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1176:1: ( rule__Interface__Group__4__Impl rule__Interface__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1177:2: rule__Interface__Group__4__Impl rule__Interface__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1236:1: ( rule__Repository__Group_3__1__Impl rule__Repository__Group_3__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1237:2: rule__Repository__Group_3__1__Impl rule__Repository__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__4__Impl_in_rule__Interface__Group__42465);
-            rule__Interface__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__1__Impl_in_rule__Repository__Group_3__12582);
+            rule__Repository__Group_3__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__5_in_rule__Interface__Group__42468);
-            rule__Interface__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__2_in_rule__Repository__Group_3__12585);
+            rule__Repository__Group_3__2();
 
             state._fsp--;
 
@@ -3378,51 +3511,30 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__4"
+    // $ANTLR end "rule__Repository__Group_3__1"
 
 
-    // $ANTLR start "rule__Interface__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1184:1: rule__Interface__Group__4__Impl : ( ( rule__Interface__Group_4__0 )? ) ;
-    public final void rule__Interface__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1244:1: rule__Repository__Group_3__1__Impl : ( '{' ) ;
+    public final void rule__Repository__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1188:1: ( ( ( rule__Interface__Group_4__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1189:1: ( ( rule__Interface__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1248:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1249:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1189:1: ( ( rule__Interface__Group_4__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1190:1: ( rule__Interface__Group_4__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1249:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1250:1: '{'
             {
-             before(grammarAccess.getInterfaceAccess().getGroup_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1191:1: ( rule__Interface__Group_4__0 )?
-            int alt9=2;
-            int LA9_0 = input.LA(1);
+             before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_3_1()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__Repository__Group_3__1__Impl2613); 
+             after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_3_1()); 
 
-            if ( (LA9_0==27) ) {
-                alt9=1;
             }
-            switch (alt9) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1191:2: rule__Interface__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__0_in_rule__Interface__Group__4__Impl2495);
-                    rule__Interface__Group_4__0();
 
-                    state._fsp--;
 
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getInterfaceAccess().getGroup_4()); 
-
-            }
-
-
-            }
+            }
 
         }
         catch (RecognitionException re) {
@@ -3436,21 +3548,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__4__Impl"
+    // $ANTLR end "rule__Repository__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1201:1: rule__Interface__Group__5 : rule__Interface__Group__5__Impl ;
-    public final void rule__Interface__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1263:1: rule__Repository__Group_3__2 : rule__Repository__Group_3__2__Impl rule__Repository__Group_3__3 ;
+    public final void rule__Repository__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1205:1: ( rule__Interface__Group__5__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1206:2: rule__Interface__Group__5__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1267:1: ( rule__Repository__Group_3__2__Impl rule__Repository__Group_3__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1268:2: rule__Repository__Group_3__2__Impl rule__Repository__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__5__Impl_in_rule__Interface__Group__52526);
-            rule__Interface__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__2__Impl_in_rule__Repository__Group_3__22644);
+            rule__Repository__Group_3__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__3_in_rule__Repository__Group_3__22647);
+            rule__Repository__Group_3__3();
 
             state._fsp--;
 
@@ -3469,25 +3586,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__5"
+    // $ANTLR end "rule__Repository__Group_3__2"
 
 
-    // $ANTLR start "rule__Interface__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1212:1: rule__Interface__Group__5__Impl : ( '}' ) ;
-    public final void rule__Interface__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1275:1: rule__Repository__Group_3__2__Impl : ( ( rule__Repository__ImportsAssignment_3_2 ) ) ;
+    public final void rule__Repository__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1216:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1217:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1279:1: ( ( ( rule__Repository__ImportsAssignment_3_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1280:1: ( ( rule__Repository__ImportsAssignment_3_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1217:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1218:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1280:1: ( ( rule__Repository__ImportsAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1281:1: ( rule__Repository__ImportsAssignment_3_2 )
             {
-             before(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__Interface__Group__5__Impl2554); 
-             after(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5()); 
+             before(grammarAccess.getRepositoryAccess().getImportsAssignment_3_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1282:1: ( rule__Repository__ImportsAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1282:2: rule__Repository__ImportsAssignment_3_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__ImportsAssignment_3_2_in_rule__Repository__Group_3__2__Impl2674);
+            rule__Repository__ImportsAssignment_3_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getRepositoryAccess().getImportsAssignment_3_2()); 
 
             }
 
@@ -3506,26 +3633,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group__5__Impl"
+    // $ANTLR end "rule__Repository__Group_3__2__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1243:1: rule__Interface__Group_3__0 : rule__Interface__Group_3__0__Impl rule__Interface__Group_3__1 ;
-    public final void rule__Interface__Group_3__0() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1292:1: rule__Repository__Group_3__3 : rule__Repository__Group_3__3__Impl rule__Repository__Group_3__4 ;
+    public final void rule__Repository__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1247:1: ( rule__Interface__Group_3__0__Impl rule__Interface__Group_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1248:2: rule__Interface__Group_3__0__Impl rule__Interface__Group_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1296:1: ( rule__Repository__Group_3__3__Impl rule__Repository__Group_3__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1297:2: rule__Repository__Group_3__3__Impl rule__Repository__Group_3__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__0__Impl_in_rule__Interface__Group_3__02597);
-            rule__Interface__Group_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__3__Impl_in_rule__Repository__Group_3__32704);
+            rule__Repository__Group_3__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__1_in_rule__Interface__Group_3__02600);
-            rule__Interface__Group_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__4_in_rule__Repository__Group_3__32707);
+            rule__Repository__Group_3__4();
 
             state._fsp--;
 
@@ -3544,25 +3671,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__0"
+    // $ANTLR end "rule__Repository__Group_3__3"
 
 
-    // $ANTLR start "rule__Interface__Group_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1255:1: rule__Interface__Group_3__0__Impl : ( 'parentInterfaces' ) ;
-    public final void rule__Interface__Group_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1304:1: rule__Repository__Group_3__3__Impl : ( ( rule__Repository__Group_3_3__0 )* ) ;
+    public final void rule__Repository__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1259:1: ( ( 'parentInterfaces' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1260:1: ( 'parentInterfaces' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1308:1: ( ( ( rule__Repository__Group_3_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1309:1: ( ( rule__Repository__Group_3_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1260:1: ( 'parentInterfaces' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1261:1: 'parentInterfaces'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1309:1: ( ( rule__Repository__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1310:1: ( rule__Repository__Group_3_3__0 )*
             {
-             before(grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0()); 
-            match(input,23,FollowSets000.FOLLOW_23_in_rule__Interface__Group_3__0__Impl2628); 
-             after(grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0()); 
+             before(grammarAccess.getRepositoryAccess().getGroup_3_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1311:1: ( rule__Repository__Group_3_3__0 )*
+            loop10:
+            do {
+                int alt10=2;
+                int LA10_0 = input.LA(1);
+
+                if ( (LA10_0==23) ) {
+                    alt10=1;
+                }
+
+
+                switch (alt10) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1311:2: rule__Repository__Group_3_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3_3__0_in_rule__Repository__Group_3__3__Impl2734);
+            	    rule__Repository__Group_3_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop10;
+                }
+            } while (true);
+
+             after(grammarAccess.getRepositoryAccess().getGroup_3_3()); 
 
             }
 
@@ -3581,26 +3736,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__0__Impl"
+    // $ANTLR end "rule__Repository__Group_3__3__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1274:1: rule__Interface__Group_3__1 : rule__Interface__Group_3__1__Impl rule__Interface__Group_3__2 ;
-    public final void rule__Interface__Group_3__1() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1321:1: rule__Repository__Group_3__4 : rule__Repository__Group_3__4__Impl ;
+    public final void rule__Repository__Group_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1278:1: ( rule__Interface__Group_3__1__Impl rule__Interface__Group_3__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1279:2: rule__Interface__Group_3__1__Impl rule__Interface__Group_3__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1325:1: ( rule__Repository__Group_3__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1326:2: rule__Repository__Group_3__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__1__Impl_in_rule__Interface__Group_3__12659);
-            rule__Interface__Group_3__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__2_in_rule__Interface__Group_3__12662);
-            rule__Interface__Group_3__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3__4__Impl_in_rule__Repository__Group_3__42765);
+            rule__Repository__Group_3__4__Impl();
 
             state._fsp--;
 
@@ -3619,25 +3769,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__1"
+    // $ANTLR end "rule__Repository__Group_3__4"
 
 
-    // $ANTLR start "rule__Interface__Group_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1286:1: rule__Interface__Group_3__1__Impl : ( '(' ) ;
-    public final void rule__Interface__Group_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1332:1: rule__Repository__Group_3__4__Impl : ( '}' ) ;
+    public final void rule__Repository__Group_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1290:1: ( ( '(' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1291:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1336:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1337:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1291:1: ( '(' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1292:1: '('
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1337:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1338:1: '}'
             {
-             before(grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__Interface__Group_3__1__Impl2690); 
-             after(grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1()); 
+             before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_3_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Repository__Group_3__4__Impl2793); 
+             after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_3_4()); 
 
             }
 
@@ -3656,26 +3806,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__1__Impl"
+    // $ANTLR end "rule__Repository__Group_3__4__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_3__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1305:1: rule__Interface__Group_3__2 : rule__Interface__Group_3__2__Impl rule__Interface__Group_3__3 ;
-    public final void rule__Interface__Group_3__2() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1361:1: rule__Repository__Group_3_3__0 : rule__Repository__Group_3_3__0__Impl rule__Repository__Group_3_3__1 ;
+    public final void rule__Repository__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1309:1: ( rule__Interface__Group_3__2__Impl rule__Interface__Group_3__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1310:2: rule__Interface__Group_3__2__Impl rule__Interface__Group_3__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1365:1: ( rule__Repository__Group_3_3__0__Impl rule__Repository__Group_3_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1366:2: rule__Repository__Group_3_3__0__Impl rule__Repository__Group_3_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__2__Impl_in_rule__Interface__Group_3__22721);
-            rule__Interface__Group_3__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3_3__0__Impl_in_rule__Repository__Group_3_3__02834);
+            rule__Repository__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__3_in_rule__Interface__Group_3__22724);
-            rule__Interface__Group_3__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3_3__1_in_rule__Repository__Group_3_3__02837);
+            rule__Repository__Group_3_3__1();
 
             state._fsp--;
 
@@ -3694,35 +3844,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__2"
+    // $ANTLR end "rule__Repository__Group_3_3__0"
 
 
-    // $ANTLR start "rule__Interface__Group_3__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1317:1: rule__Interface__Group_3__2__Impl : ( ( rule__Interface__ParentInterfacesAssignment_3_2 ) ) ;
-    public final void rule__Interface__Group_3__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1373:1: rule__Repository__Group_3_3__0__Impl : ( ',' ) ;
+    public final void rule__Repository__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1321:1: ( ( ( rule__Interface__ParentInterfacesAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1322:1: ( ( rule__Interface__ParentInterfacesAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1377:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1378:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1322:1: ( ( rule__Interface__ParentInterfacesAssignment_3_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1323:1: ( rule__Interface__ParentInterfacesAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1378:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1379:1: ','
             {
-             before(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1324:1: ( rule__Interface__ParentInterfacesAssignment_3_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1324:2: rule__Interface__ParentInterfacesAssignment_3_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__ParentInterfacesAssignment_3_2_in_rule__Interface__Group_3__2__Impl2751);
-            rule__Interface__ParentInterfacesAssignment_3_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2()); 
+             before(grammarAccess.getRepositoryAccess().getCommaKeyword_3_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__Repository__Group_3_3__0__Impl2865); 
+             after(grammarAccess.getRepositoryAccess().getCommaKeyword_3_3_0()); 
 
             }
 
@@ -3741,26 +3881,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__2__Impl"
+    // $ANTLR end "rule__Repository__Group_3_3__0__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_3__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1334:1: rule__Interface__Group_3__3 : rule__Interface__Group_3__3__Impl rule__Interface__Group_3__4 ;
-    public final void rule__Interface__Group_3__3() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1392:1: rule__Repository__Group_3_3__1 : rule__Repository__Group_3_3__1__Impl ;
+    public final void rule__Repository__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1338:1: ( rule__Interface__Group_3__3__Impl rule__Interface__Group_3__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1339:2: rule__Interface__Group_3__3__Impl rule__Interface__Group_3__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1396:1: ( rule__Repository__Group_3_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1397:2: rule__Repository__Group_3_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__3__Impl_in_rule__Interface__Group_3__32781);
-            rule__Interface__Group_3__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__4_in_rule__Interface__Group_3__32784);
-            rule__Interface__Group_3__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_3_3__1__Impl_in_rule__Repository__Group_3_3__12896);
+            rule__Repository__Group_3_3__1__Impl();
 
             state._fsp--;
 
@@ -3779,53 +3914,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__3"
+    // $ANTLR end "rule__Repository__Group_3_3__1"
 
 
-    // $ANTLR start "rule__Interface__Group_3__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1346:1: rule__Interface__Group_3__3__Impl : ( ( rule__Interface__Group_3_3__0 )* ) ;
-    public final void rule__Interface__Group_3__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_3_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1403:1: rule__Repository__Group_3_3__1__Impl : ( ( rule__Repository__ImportsAssignment_3_3_1 ) ) ;
+    public final void rule__Repository__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1350:1: ( ( ( rule__Interface__Group_3_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1351:1: ( ( rule__Interface__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1407:1: ( ( ( rule__Repository__ImportsAssignment_3_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1408:1: ( ( rule__Repository__ImportsAssignment_3_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1351:1: ( ( rule__Interface__Group_3_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1352:1: ( rule__Interface__Group_3_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1408:1: ( ( rule__Repository__ImportsAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1409:1: ( rule__Repository__ImportsAssignment_3_3_1 )
             {
-             before(grammarAccess.getInterfaceAccess().getGroup_3_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1353:1: ( rule__Interface__Group_3_3__0 )*
-            loop10:
-            do {
-                int alt10=2;
-                int LA10_0 = input.LA(1);
-
-                if ( (LA10_0==26) ) {
-                    alt10=1;
-                }
-
-
-                switch (alt10) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1353:2: rule__Interface__Group_3_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3_3__0_in_rule__Interface__Group_3__3__Impl2811);
-            	    rule__Interface__Group_3_3__0();
-
-            	    state._fsp--;
+             before(grammarAccess.getRepositoryAccess().getImportsAssignment_3_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1410:1: ( rule__Repository__ImportsAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1410:2: rule__Repository__ImportsAssignment_3_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__ImportsAssignment_3_3_1_in_rule__Repository__Group_3_3__1__Impl2923);
+            rule__Repository__ImportsAssignment_3_3_1();
 
+            state._fsp--;
 
-            	    }
-            	    break;
 
-            	default :
-            	    break loop10;
-                }
-            } while (true);
+            }
 
-             after(grammarAccess.getInterfaceAccess().getGroup_3_3()); 
+             after(grammarAccess.getRepositoryAccess().getImportsAssignment_3_3_1()); 
 
             }
 
@@ -3844,21 +3961,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__3__Impl"
+    // $ANTLR end "rule__Repository__Group_3_3__1__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_3__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1363:1: rule__Interface__Group_3__4 : rule__Interface__Group_3__4__Impl ;
-    public final void rule__Interface__Group_3__4() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1424:1: rule__Repository__Group_4__0 : rule__Repository__Group_4__0__Impl rule__Repository__Group_4__1 ;
+    public final void rule__Repository__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1367:1: ( rule__Interface__Group_3__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1368:2: rule__Interface__Group_3__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1428:1: ( rule__Repository__Group_4__0__Impl rule__Repository__Group_4__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1429:2: rule__Repository__Group_4__0__Impl rule__Repository__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__4__Impl_in_rule__Interface__Group_3__42842);
-            rule__Interface__Group_3__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__0__Impl_in_rule__Repository__Group_4__02957);
+            rule__Repository__Group_4__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__1_in_rule__Repository__Group_4__02960);
+            rule__Repository__Group_4__1();
 
             state._fsp--;
 
@@ -3877,25 +3999,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__4"
+    // $ANTLR end "rule__Repository__Group_4__0"
 
 
-    // $ANTLR start "rule__Interface__Group_3__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1374:1: rule__Interface__Group_3__4__Impl : ( ')' ) ;
-    public final void rule__Interface__Group_3__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1436:1: rule__Repository__Group_4__0__Impl : ( 'datatypes' ) ;
+    public final void rule__Repository__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1378:1: ( ( ')' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1379:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1440:1: ( ( 'datatypes' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1441:1: ( 'datatypes' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1379:1: ( ')' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1380:1: ')'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1441:1: ( 'datatypes' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1442:1: 'datatypes'
             {
-             before(grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__Interface__Group_3__4__Impl2870); 
-             after(grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4()); 
+             before(grammarAccess.getRepositoryAccess().getDatatypesKeyword_4_0()); 
+            match(input,24,FollowSets000.FOLLOW_24_in_rule__Repository__Group_4__0__Impl2988); 
+             after(grammarAccess.getRepositoryAccess().getDatatypesKeyword_4_0()); 
 
             }
 
@@ -3914,26 +4036,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3__4__Impl"
+    // $ANTLR end "rule__Repository__Group_4__0__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_3_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1403:1: rule__Interface__Group_3_3__0 : rule__Interface__Group_3_3__0__Impl rule__Interface__Group_3_3__1 ;
-    public final void rule__Interface__Group_3_3__0() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1455:1: rule__Repository__Group_4__1 : rule__Repository__Group_4__1__Impl rule__Repository__Group_4__2 ;
+    public final void rule__Repository__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1407:1: ( rule__Interface__Group_3_3__0__Impl rule__Interface__Group_3_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1408:2: rule__Interface__Group_3_3__0__Impl rule__Interface__Group_3_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1459:1: ( rule__Repository__Group_4__1__Impl rule__Repository__Group_4__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1460:2: rule__Repository__Group_4__1__Impl rule__Repository__Group_4__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3_3__0__Impl_in_rule__Interface__Group_3_3__02911);
-            rule__Interface__Group_3_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__1__Impl_in_rule__Repository__Group_4__13019);
+            rule__Repository__Group_4__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3_3__1_in_rule__Interface__Group_3_3__02914);
-            rule__Interface__Group_3_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__2_in_rule__Repository__Group_4__13022);
+            rule__Repository__Group_4__2();
 
             state._fsp--;
 
@@ -3952,25 +4074,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3_3__0"
+    // $ANTLR end "rule__Repository__Group_4__1"
 
 
-    // $ANTLR start "rule__Interface__Group_3_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1415:1: rule__Interface__Group_3_3__0__Impl : ( ',' ) ;
-    public final void rule__Interface__Group_3_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1467:1: rule__Repository__Group_4__1__Impl : ( '{' ) ;
+    public final void rule__Repository__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1419:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1420:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1471:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1472:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1420:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1421:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1472:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1473:1: '{'
             {
-             before(grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__Interface__Group_3_3__0__Impl2942); 
-             after(grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0()); 
+             before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_4_1()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__Repository__Group_4__1__Impl3050); 
+             after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_4_1()); 
 
             }
 
@@ -3989,21 +4111,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3_3__0__Impl"
+    // $ANTLR end "rule__Repository__Group_4__1__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_3_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1434:1: rule__Interface__Group_3_3__1 : rule__Interface__Group_3_3__1__Impl ;
-    public final void rule__Interface__Group_3_3__1() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1486:1: rule__Repository__Group_4__2 : rule__Repository__Group_4__2__Impl rule__Repository__Group_4__3 ;
+    public final void rule__Repository__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1438:1: ( rule__Interface__Group_3_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1439:2: rule__Interface__Group_3_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1490:1: ( rule__Repository__Group_4__2__Impl rule__Repository__Group_4__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1491:2: rule__Repository__Group_4__2__Impl rule__Repository__Group_4__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3_3__1__Impl_in_rule__Interface__Group_3_3__12973);
-            rule__Interface__Group_3_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__2__Impl_in_rule__Repository__Group_4__23081);
+            rule__Repository__Group_4__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__3_in_rule__Repository__Group_4__23084);
+            rule__Repository__Group_4__3();
 
             state._fsp--;
 
@@ -4022,35 +4149,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3_3__1"
+    // $ANTLR end "rule__Repository__Group_4__2"
 
 
-    // $ANTLR start "rule__Interface__Group_3_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1445:1: rule__Interface__Group_3_3__1__Impl : ( ( rule__Interface__ParentInterfacesAssignment_3_3_1 ) ) ;
-    public final void rule__Interface__Group_3_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1498:1: rule__Repository__Group_4__2__Impl : ( ( rule__Repository__DatatypesAssignment_4_2 ) ) ;
+    public final void rule__Repository__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1449:1: ( ( ( rule__Interface__ParentInterfacesAssignment_3_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1450:1: ( ( rule__Interface__ParentInterfacesAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1502:1: ( ( ( rule__Repository__DatatypesAssignment_4_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1503:1: ( ( rule__Repository__DatatypesAssignment_4_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1450:1: ( ( rule__Interface__ParentInterfacesAssignment_3_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1451:1: ( rule__Interface__ParentInterfacesAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1503:1: ( ( rule__Repository__DatatypesAssignment_4_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1504:1: ( rule__Repository__DatatypesAssignment_4_2 )
             {
-             before(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1452:1: ( rule__Interface__ParentInterfacesAssignment_3_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1452:2: rule__Interface__ParentInterfacesAssignment_3_3_1
+             before(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1505:1: ( rule__Repository__DatatypesAssignment_4_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1505:2: rule__Repository__DatatypesAssignment_4_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__ParentInterfacesAssignment_3_3_1_in_rule__Interface__Group_3_3__1__Impl3000);
-            rule__Interface__ParentInterfacesAssignment_3_3_1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__DatatypesAssignment_4_2_in_rule__Repository__Group_4__2__Impl3111);
+            rule__Repository__DatatypesAssignment_4_2();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1()); 
+             after(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_2()); 
 
             }
 
@@ -4069,26 +4196,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_3_3__1__Impl"
+    // $ANTLR end "rule__Repository__Group_4__2__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_4__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1466:1: rule__Interface__Group_4__0 : rule__Interface__Group_4__0__Impl rule__Interface__Group_4__1 ;
-    public final void rule__Interface__Group_4__0() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1515:1: rule__Repository__Group_4__3 : rule__Repository__Group_4__3__Impl rule__Repository__Group_4__4 ;
+    public final void rule__Repository__Group_4__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1470:1: ( rule__Interface__Group_4__0__Impl rule__Interface__Group_4__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1471:2: rule__Interface__Group_4__0__Impl rule__Interface__Group_4__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1519:1: ( rule__Repository__Group_4__3__Impl rule__Repository__Group_4__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1520:2: rule__Repository__Group_4__3__Impl rule__Repository__Group_4__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__0__Impl_in_rule__Interface__Group_4__03034);
-            rule__Interface__Group_4__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__3__Impl_in_rule__Repository__Group_4__33141);
+            rule__Repository__Group_4__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__1_in_rule__Interface__Group_4__03037);
-            rule__Interface__Group_4__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__4_in_rule__Repository__Group_4__33144);
+            rule__Repository__Group_4__4();
 
             state._fsp--;
 
@@ -4107,25 +4234,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__0"
+    // $ANTLR end "rule__Repository__Group_4__3"
 
 
-    // $ANTLR start "rule__Interface__Group_4__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1478:1: rule__Interface__Group_4__0__Impl : ( 'signatures' ) ;
-    public final void rule__Interface__Group_4__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1527:1: rule__Repository__Group_4__3__Impl : ( ( rule__Repository__Group_4_3__0 )* ) ;
+    public final void rule__Repository__Group_4__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1482:1: ( ( 'signatures' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1483:1: ( 'signatures' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1531:1: ( ( ( rule__Repository__Group_4_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1532:1: ( ( rule__Repository__Group_4_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1483:1: ( 'signatures' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1484:1: 'signatures'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1532:1: ( ( rule__Repository__Group_4_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1533:1: ( rule__Repository__Group_4_3__0 )*
             {
-             before(grammarAccess.getInterfaceAccess().getSignaturesKeyword_4_0()); 
-            match(input,27,FollowSets000.FOLLOW_27_in_rule__Interface__Group_4__0__Impl3065); 
-             after(grammarAccess.getInterfaceAccess().getSignaturesKeyword_4_0()); 
+             before(grammarAccess.getRepositoryAccess().getGroup_4_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1534:1: ( rule__Repository__Group_4_3__0 )*
+            loop11:
+            do {
+                int alt11=2;
+                int LA11_0 = input.LA(1);
+
+                if ( (LA11_0==23) ) {
+                    alt11=1;
+                }
+
+
+                switch (alt11) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1534:2: rule__Repository__Group_4_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4_3__0_in_rule__Repository__Group_4__3__Impl3171);
+            	    rule__Repository__Group_4_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop11;
+                }
+            } while (true);
+
+             after(grammarAccess.getRepositoryAccess().getGroup_4_3()); 
 
             }
 
@@ -4144,26 +4299,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__0__Impl"
+    // $ANTLR end "rule__Repository__Group_4__3__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_4__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1497:1: rule__Interface__Group_4__1 : rule__Interface__Group_4__1__Impl rule__Interface__Group_4__2 ;
-    public final void rule__Interface__Group_4__1() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1544:1: rule__Repository__Group_4__4 : rule__Repository__Group_4__4__Impl ;
+    public final void rule__Repository__Group_4__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1501:1: ( rule__Interface__Group_4__1__Impl rule__Interface__Group_4__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1502:2: rule__Interface__Group_4__1__Impl rule__Interface__Group_4__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1548:1: ( rule__Repository__Group_4__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1549:2: rule__Repository__Group_4__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__1__Impl_in_rule__Interface__Group_4__13096);
-            rule__Interface__Group_4__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__2_in_rule__Interface__Group_4__13099);
-            rule__Interface__Group_4__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4__4__Impl_in_rule__Repository__Group_4__43202);
+            rule__Repository__Group_4__4__Impl();
 
             state._fsp--;
 
@@ -4182,25 +4332,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__1"
+    // $ANTLR end "rule__Repository__Group_4__4"
 
 
-    // $ANTLR start "rule__Interface__Group_4__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1509:1: rule__Interface__Group_4__1__Impl : ( '{' ) ;
-    public final void rule__Interface__Group_4__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1555:1: rule__Repository__Group_4__4__Impl : ( '}' ) ;
+    public final void rule__Repository__Group_4__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1513:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1514:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1559:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1560:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1514:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1515:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1560:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1561:1: '}'
             {
-             before(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_4_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__Interface__Group_4__1__Impl3127); 
-             after(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_4_1()); 
+             before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Repository__Group_4__4__Impl3230); 
+             after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4_4()); 
 
             }
 
@@ -4219,26 +4369,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__1__Impl"
+    // $ANTLR end "rule__Repository__Group_4__4__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_4__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1528:1: rule__Interface__Group_4__2 : rule__Interface__Group_4__2__Impl rule__Interface__Group_4__3 ;
-    public final void rule__Interface__Group_4__2() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1584:1: rule__Repository__Group_4_3__0 : rule__Repository__Group_4_3__0__Impl rule__Repository__Group_4_3__1 ;
+    public final void rule__Repository__Group_4_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1532:1: ( rule__Interface__Group_4__2__Impl rule__Interface__Group_4__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1533:2: rule__Interface__Group_4__2__Impl rule__Interface__Group_4__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1588:1: ( rule__Repository__Group_4_3__0__Impl rule__Repository__Group_4_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1589:2: rule__Repository__Group_4_3__0__Impl rule__Repository__Group_4_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__2__Impl_in_rule__Interface__Group_4__23158);
-            rule__Interface__Group_4__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4_3__0__Impl_in_rule__Repository__Group_4_3__03271);
+            rule__Repository__Group_4_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__3_in_rule__Interface__Group_4__23161);
-            rule__Interface__Group_4__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4_3__1_in_rule__Repository__Group_4_3__03274);
+            rule__Repository__Group_4_3__1();
 
             state._fsp--;
 
@@ -4257,35 +4407,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__2"
+    // $ANTLR end "rule__Repository__Group_4_3__0"
 
 
-    // $ANTLR start "rule__Interface__Group_4__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1540:1: rule__Interface__Group_4__2__Impl : ( ( rule__Interface__SignaturesAssignment_4_2 ) ) ;
-    public final void rule__Interface__Group_4__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1596:1: rule__Repository__Group_4_3__0__Impl : ( ',' ) ;
+    public final void rule__Repository__Group_4_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1544:1: ( ( ( rule__Interface__SignaturesAssignment_4_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1545:1: ( ( rule__Interface__SignaturesAssignment_4_2 ) )
-            {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1545:1: ( ( rule__Interface__SignaturesAssignment_4_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1546:1: ( rule__Interface__SignaturesAssignment_4_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1600:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1601:1: ( ',' )
             {
-             before(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1547:1: ( rule__Interface__SignaturesAssignment_4_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1547:2: rule__Interface__SignaturesAssignment_4_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1601:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1602:1: ','
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__SignaturesAssignment_4_2_in_rule__Interface__Group_4__2__Impl3188);
-            rule__Interface__SignaturesAssignment_4_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_2()); 
+             before(grammarAccess.getRepositoryAccess().getCommaKeyword_4_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__Repository__Group_4_3__0__Impl3302); 
+             after(grammarAccess.getRepositoryAccess().getCommaKeyword_4_3_0()); 
 
             }
 
@@ -4304,26 +4444,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__2__Impl"
+    // $ANTLR end "rule__Repository__Group_4_3__0__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_4__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1557:1: rule__Interface__Group_4__3 : rule__Interface__Group_4__3__Impl rule__Interface__Group_4__4 ;
-    public final void rule__Interface__Group_4__3() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1615:1: rule__Repository__Group_4_3__1 : rule__Repository__Group_4_3__1__Impl ;
+    public final void rule__Repository__Group_4_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1561:1: ( rule__Interface__Group_4__3__Impl rule__Interface__Group_4__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1562:2: rule__Interface__Group_4__3__Impl rule__Interface__Group_4__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1619:1: ( rule__Repository__Group_4_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1620:2: rule__Repository__Group_4_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__3__Impl_in_rule__Interface__Group_4__33218);
-            rule__Interface__Group_4__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__4_in_rule__Interface__Group_4__33221);
-            rule__Interface__Group_4__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_4_3__1__Impl_in_rule__Repository__Group_4_3__13333);
+            rule__Repository__Group_4_3__1__Impl();
 
             state._fsp--;
 
@@ -4342,53 +4477,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__3"
+    // $ANTLR end "rule__Repository__Group_4_3__1"
 
 
-    // $ANTLR start "rule__Interface__Group_4__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1569:1: rule__Interface__Group_4__3__Impl : ( ( rule__Interface__Group_4_3__0 )* ) ;
-    public final void rule__Interface__Group_4__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_4_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1626:1: rule__Repository__Group_4_3__1__Impl : ( ( rule__Repository__DatatypesAssignment_4_3_1 ) ) ;
+    public final void rule__Repository__Group_4_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1573:1: ( ( ( rule__Interface__Group_4_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1574:1: ( ( rule__Interface__Group_4_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1630:1: ( ( ( rule__Repository__DatatypesAssignment_4_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1631:1: ( ( rule__Repository__DatatypesAssignment_4_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1574:1: ( ( rule__Interface__Group_4_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1575:1: ( rule__Interface__Group_4_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1631:1: ( ( rule__Repository__DatatypesAssignment_4_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1632:1: ( rule__Repository__DatatypesAssignment_4_3_1 )
             {
-             before(grammarAccess.getInterfaceAccess().getGroup_4_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1576:1: ( rule__Interface__Group_4_3__0 )*
-            loop11:
-            do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
-
-                if ( (LA11_0==26) ) {
-                    alt11=1;
-                }
-
-
-                switch (alt11) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1576:2: rule__Interface__Group_4_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4_3__0_in_rule__Interface__Group_4__3__Impl3248);
-            	    rule__Interface__Group_4_3__0();
-
-            	    state._fsp--;
+             before(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1633:1: ( rule__Repository__DatatypesAssignment_4_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1633:2: rule__Repository__DatatypesAssignment_4_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__DatatypesAssignment_4_3_1_in_rule__Repository__Group_4_3__1__Impl3360);
+            rule__Repository__DatatypesAssignment_4_3_1();
 
+            state._fsp--;
 
-            	    }
-            	    break;
 
-            	default :
-            	    break loop11;
-                }
-            } while (true);
+            }
 
-             after(grammarAccess.getInterfaceAccess().getGroup_4_3()); 
+             after(grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_3_1()); 
 
             }
 
@@ -4407,21 +4524,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__3__Impl"
+    // $ANTLR end "rule__Repository__Group_4_3__1__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_4__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1586:1: rule__Interface__Group_4__4 : rule__Interface__Group_4__4__Impl ;
-    public final void rule__Interface__Group_4__4() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1647:1: rule__Repository__Group_5__0 : rule__Repository__Group_5__0__Impl rule__Repository__Group_5__1 ;
+    public final void rule__Repository__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1590:1: ( rule__Interface__Group_4__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1591:2: rule__Interface__Group_4__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1651:1: ( rule__Repository__Group_5__0__Impl rule__Repository__Group_5__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1652:2: rule__Repository__Group_5__0__Impl rule__Repository__Group_5__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__4__Impl_in_rule__Interface__Group_4__43279);
-            rule__Interface__Group_4__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__0__Impl_in_rule__Repository__Group_5__03394);
+            rule__Repository__Group_5__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__1_in_rule__Repository__Group_5__03397);
+            rule__Repository__Group_5__1();
 
             state._fsp--;
 
@@ -4440,25 +4562,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__4"
+    // $ANTLR end "rule__Repository__Group_5__0"
 
 
-    // $ANTLR start "rule__Interface__Group_4__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1597:1: rule__Interface__Group_4__4__Impl : ( '}' ) ;
-    public final void rule__Interface__Group_4__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1659:1: rule__Repository__Group_5__0__Impl : ( 'components' ) ;
+    public final void rule__Repository__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1601:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1602:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1663:1: ( ( 'components' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1664:1: ( 'components' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1602:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1603:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1664:1: ( 'components' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1665:1: 'components'
             {
-             before(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_4_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__Interface__Group_4__4__Impl3307); 
-             after(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_4_4()); 
+             before(grammarAccess.getRepositoryAccess().getComponentsKeyword_5_0()); 
+            match(input,25,FollowSets000.FOLLOW_25_in_rule__Repository__Group_5__0__Impl3425); 
+             after(grammarAccess.getRepositoryAccess().getComponentsKeyword_5_0()); 
 
             }
 
@@ -4477,26 +4599,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4__4__Impl"
+    // $ANTLR end "rule__Repository__Group_5__0__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_4_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1626:1: rule__Interface__Group_4_3__0 : rule__Interface__Group_4_3__0__Impl rule__Interface__Group_4_3__1 ;
-    public final void rule__Interface__Group_4_3__0() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1678:1: rule__Repository__Group_5__1 : rule__Repository__Group_5__1__Impl rule__Repository__Group_5__2 ;
+    public final void rule__Repository__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1630:1: ( rule__Interface__Group_4_3__0__Impl rule__Interface__Group_4_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1631:2: rule__Interface__Group_4_3__0__Impl rule__Interface__Group_4_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1682:1: ( rule__Repository__Group_5__1__Impl rule__Repository__Group_5__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1683:2: rule__Repository__Group_5__1__Impl rule__Repository__Group_5__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4_3__0__Impl_in_rule__Interface__Group_4_3__03348);
-            rule__Interface__Group_4_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__1__Impl_in_rule__Repository__Group_5__13456);
+            rule__Repository__Group_5__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4_3__1_in_rule__Interface__Group_4_3__03351);
-            rule__Interface__Group_4_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__2_in_rule__Repository__Group_5__13459);
+            rule__Repository__Group_5__2();
 
             state._fsp--;
 
@@ -4515,25 +4637,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4_3__0"
+    // $ANTLR end "rule__Repository__Group_5__1"
 
 
-    // $ANTLR start "rule__Interface__Group_4_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1638:1: rule__Interface__Group_4_3__0__Impl : ( ',' ) ;
-    public final void rule__Interface__Group_4_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1690:1: rule__Repository__Group_5__1__Impl : ( '{' ) ;
+    public final void rule__Repository__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1642:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1643:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1694:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1695:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1643:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1644:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1695:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1696:1: '{'
             {
-             before(grammarAccess.getInterfaceAccess().getCommaKeyword_4_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__Interface__Group_4_3__0__Impl3379); 
-             after(grammarAccess.getInterfaceAccess().getCommaKeyword_4_3_0()); 
+             before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__Repository__Group_5__1__Impl3487); 
+             after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1()); 
 
             }
 
@@ -4552,21 +4674,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4_3__0__Impl"
+    // $ANTLR end "rule__Repository__Group_5__1__Impl"
 
 
-    // $ANTLR start "rule__Interface__Group_4_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1657:1: rule__Interface__Group_4_3__1 : rule__Interface__Group_4_3__1__Impl ;
-    public final void rule__Interface__Group_4_3__1() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1709:1: rule__Repository__Group_5__2 : rule__Repository__Group_5__2__Impl rule__Repository__Group_5__3 ;
+    public final void rule__Repository__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1661:1: ( rule__Interface__Group_4_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1662:2: rule__Interface__Group_4_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1713:1: ( rule__Repository__Group_5__2__Impl rule__Repository__Group_5__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1714:2: rule__Repository__Group_5__2__Impl rule__Repository__Group_5__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4_3__1__Impl_in_rule__Interface__Group_4_3__13410);
-            rule__Interface__Group_4_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__2__Impl_in_rule__Repository__Group_5__23518);
+            rule__Repository__Group_5__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__3_in_rule__Repository__Group_5__23521);
+            rule__Repository__Group_5__3();
 
             state._fsp--;
 
@@ -4585,35 +4712,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4_3__1"
+    // $ANTLR end "rule__Repository__Group_5__2"
 
 
-    // $ANTLR start "rule__Interface__Group_4_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1668:1: rule__Interface__Group_4_3__1__Impl : ( ( rule__Interface__SignaturesAssignment_4_3_1 ) ) ;
-    public final void rule__Interface__Group_4_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1721:1: rule__Repository__Group_5__2__Impl : ( ( rule__Repository__ComponentsAssignment_5_2 ) ) ;
+    public final void rule__Repository__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1672:1: ( ( ( rule__Interface__SignaturesAssignment_4_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1673:1: ( ( rule__Interface__SignaturesAssignment_4_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1725:1: ( ( ( rule__Repository__ComponentsAssignment_5_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1726:1: ( ( rule__Repository__ComponentsAssignment_5_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1673:1: ( ( rule__Interface__SignaturesAssignment_4_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1674:1: ( rule__Interface__SignaturesAssignment_4_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1726:1: ( ( rule__Repository__ComponentsAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1727:1: ( rule__Repository__ComponentsAssignment_5_2 )
             {
-             before(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1675:1: ( rule__Interface__SignaturesAssignment_4_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1675:2: rule__Interface__SignaturesAssignment_4_3_1
+             before(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1728:1: ( rule__Repository__ComponentsAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1728:2: rule__Repository__ComponentsAssignment_5_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Interface__SignaturesAssignment_4_3_1_in_rule__Interface__Group_4_3__1__Impl3437);
-            rule__Interface__SignaturesAssignment_4_3_1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__ComponentsAssignment_5_2_in_rule__Repository__Group_5__2__Impl3548);
+            rule__Repository__ComponentsAssignment_5_2();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_3_1()); 
+             after(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_2()); 
 
             }
 
@@ -4632,26 +4759,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__Group_4_3__1__Impl"
+    // $ANTLR end "rule__Repository__Group_5__2__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1689:1: rule__RepositoryComponent_Impl__Group__0 : rule__RepositoryComponent_Impl__Group__0__Impl rule__RepositoryComponent_Impl__Group__1 ;
-    public final void rule__RepositoryComponent_Impl__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1738:1: rule__Repository__Group_5__3 : rule__Repository__Group_5__3__Impl rule__Repository__Group_5__4 ;
+    public final void rule__Repository__Group_5__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1693:1: ( rule__RepositoryComponent_Impl__Group__0__Impl rule__RepositoryComponent_Impl__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1694:2: rule__RepositoryComponent_Impl__Group__0__Impl rule__RepositoryComponent_Impl__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1742:1: ( rule__Repository__Group_5__3__Impl rule__Repository__Group_5__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1743:2: rule__Repository__Group_5__3__Impl rule__Repository__Group_5__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__0__Impl_in_rule__RepositoryComponent_Impl__Group__03471);
-            rule__RepositoryComponent_Impl__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__3__Impl_in_rule__Repository__Group_5__33578);
+            rule__Repository__Group_5__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__1_in_rule__RepositoryComponent_Impl__Group__03474);
-            rule__RepositoryComponent_Impl__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__4_in_rule__Repository__Group_5__33581);
+            rule__Repository__Group_5__4();
 
             state._fsp--;
 
@@ -4670,25 +4797,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__0"
+    // $ANTLR end "rule__Repository__Group_5__3"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1701:1: rule__RepositoryComponent_Impl__Group__0__Impl : ( 'RepositoryComponent' ) ;
-    public final void rule__RepositoryComponent_Impl__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1750:1: rule__Repository__Group_5__3__Impl : ( ( rule__Repository__Group_5_3__0 )* ) ;
+    public final void rule__Repository__Group_5__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1705:1: ( ( 'RepositoryComponent' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1706:1: ( 'RepositoryComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1754:1: ( ( ( rule__Repository__Group_5_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1755:1: ( ( rule__Repository__Group_5_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1706:1: ( 'RepositoryComponent' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1707:1: 'RepositoryComponent'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1755:1: ( ( rule__Repository__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1756:1: ( rule__Repository__Group_5_3__0 )*
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0()); 
-            match(input,28,FollowSets000.FOLLOW_28_in_rule__RepositoryComponent_Impl__Group__0__Impl3502); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0()); 
+             before(grammarAccess.getRepositoryAccess().getGroup_5_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1757:1: ( rule__Repository__Group_5_3__0 )*
+            loop12:
+            do {
+                int alt12=2;
+                int LA12_0 = input.LA(1);
+
+                if ( (LA12_0==26) ) {
+                    alt12=1;
+                }
+
+
+                switch (alt12) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1757:2: rule__Repository__Group_5_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5_3__0_in_rule__Repository__Group_5__3__Impl3608);
+            	    rule__Repository__Group_5_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop12;
+                }
+            } while (true);
+
+             after(grammarAccess.getRepositoryAccess().getGroup_5_3()); 
 
             }
 
@@ -4707,26 +4862,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__0__Impl"
+    // $ANTLR end "rule__Repository__Group_5__3__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1720:1: rule__RepositoryComponent_Impl__Group__1 : rule__RepositoryComponent_Impl__Group__1__Impl rule__RepositoryComponent_Impl__Group__2 ;
-    public final void rule__RepositoryComponent_Impl__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1767:1: rule__Repository__Group_5__4 : rule__Repository__Group_5__4__Impl ;
+    public final void rule__Repository__Group_5__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1724:1: ( rule__RepositoryComponent_Impl__Group__1__Impl rule__RepositoryComponent_Impl__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1725:2: rule__RepositoryComponent_Impl__Group__1__Impl rule__RepositoryComponent_Impl__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1771:1: ( rule__Repository__Group_5__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1772:2: rule__Repository__Group_5__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__1__Impl_in_rule__RepositoryComponent_Impl__Group__13533);
-            rule__RepositoryComponent_Impl__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__2_in_rule__RepositoryComponent_Impl__Group__13536);
-            rule__RepositoryComponent_Impl__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5__4__Impl_in_rule__Repository__Group_5__43639);
+            rule__Repository__Group_5__4__Impl();
 
             state._fsp--;
 
@@ -4745,35 +4895,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__1"
+    // $ANTLR end "rule__Repository__Group_5__4"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1732:1: rule__RepositoryComponent_Impl__Group__1__Impl : ( ( rule__RepositoryComponent_Impl__NameAssignment_1 ) ) ;
-    public final void rule__RepositoryComponent_Impl__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1778:1: rule__Repository__Group_5__4__Impl : ( '}' ) ;
+    public final void rule__Repository__Group_5__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1736:1: ( ( ( rule__RepositoryComponent_Impl__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1737:1: ( ( rule__RepositoryComponent_Impl__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1782:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1783:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1737:1: ( ( rule__RepositoryComponent_Impl__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1738:1: ( rule__RepositoryComponent_Impl__NameAssignment_1 )
-            {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1739:1: ( rule__RepositoryComponent_Impl__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1739:2: rule__RepositoryComponent_Impl__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1783:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1784:1: '}'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__NameAssignment_1_in_rule__RepositoryComponent_Impl__Group__1__Impl3563);
-            rule__RepositoryComponent_Impl__NameAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getNameAssignment_1()); 
+             before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Repository__Group_5__4__Impl3667); 
+             after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4()); 
 
             }
 
@@ -4792,26 +4932,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__1__Impl"
+    // $ANTLR end "rule__Repository__Group_5__4__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1749:1: rule__RepositoryComponent_Impl__Group__2 : rule__RepositoryComponent_Impl__Group__2__Impl rule__RepositoryComponent_Impl__Group__3 ;
-    public final void rule__RepositoryComponent_Impl__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1807:1: rule__Repository__Group_5_3__0 : rule__Repository__Group_5_3__0__Impl rule__Repository__Group_5_3__1 ;
+    public final void rule__Repository__Group_5_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1753:1: ( rule__RepositoryComponent_Impl__Group__2__Impl rule__RepositoryComponent_Impl__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1754:2: rule__RepositoryComponent_Impl__Group__2__Impl rule__RepositoryComponent_Impl__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1811:1: ( rule__Repository__Group_5_3__0__Impl rule__Repository__Group_5_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1812:2: rule__Repository__Group_5_3__0__Impl rule__Repository__Group_5_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__2__Impl_in_rule__RepositoryComponent_Impl__Group__23593);
-            rule__RepositoryComponent_Impl__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5_3__0__Impl_in_rule__Repository__Group_5_3__03708);
+            rule__Repository__Group_5_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__3_in_rule__RepositoryComponent_Impl__Group__23596);
-            rule__RepositoryComponent_Impl__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5_3__1_in_rule__Repository__Group_5_3__03711);
+            rule__Repository__Group_5_3__1();
 
             state._fsp--;
 
@@ -4830,25 +4970,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__2"
+    // $ANTLR end "rule__Repository__Group_5_3__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1761:1: rule__RepositoryComponent_Impl__Group__2__Impl : ( '{' ) ;
-    public final void rule__RepositoryComponent_Impl__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1819:1: rule__Repository__Group_5_3__0__Impl : ( ';' ) ;
+    public final void rule__Repository__Group_5_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1765:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1766:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1823:1: ( ( ';' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1824:1: ( ';' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1766:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1767:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1824:1: ( ';' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1825:1: ';'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__RepositoryComponent_Impl__Group__2__Impl3624); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getRepositoryAccess().getSemicolonKeyword_5_3_0()); 
+            match(input,26,FollowSets000.FOLLOW_26_in_rule__Repository__Group_5_3__0__Impl3739); 
+             after(grammarAccess.getRepositoryAccess().getSemicolonKeyword_5_3_0()); 
 
             }
 
@@ -4867,26 +5007,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__2__Impl"
+    // $ANTLR end "rule__Repository__Group_5_3__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1780:1: rule__RepositoryComponent_Impl__Group__3 : rule__RepositoryComponent_Impl__Group__3__Impl rule__RepositoryComponent_Impl__Group__4 ;
-    public final void rule__RepositoryComponent_Impl__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1838:1: rule__Repository__Group_5_3__1 : rule__Repository__Group_5_3__1__Impl ;
+    public final void rule__Repository__Group_5_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1784:1: ( rule__RepositoryComponent_Impl__Group__3__Impl rule__RepositoryComponent_Impl__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1785:2: rule__RepositoryComponent_Impl__Group__3__Impl rule__RepositoryComponent_Impl__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1842:1: ( rule__Repository__Group_5_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1843:2: rule__Repository__Group_5_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__3__Impl_in_rule__RepositoryComponent_Impl__Group__33655);
-            rule__RepositoryComponent_Impl__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__4_in_rule__RepositoryComponent_Impl__Group__33658);
-            rule__RepositoryComponent_Impl__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_5_3__1__Impl_in_rule__Repository__Group_5_3__13770);
+            rule__Repository__Group_5_3__1__Impl();
 
             state._fsp--;
 
@@ -4905,46 +5040,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__3"
+    // $ANTLR end "rule__Repository__Group_5_3__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1792:1: rule__RepositoryComponent_Impl__Group__3__Impl : ( ( rule__RepositoryComponent_Impl__Group_3__0 )? ) ;
-    public final void rule__RepositoryComponent_Impl__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_5_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1849:1: rule__Repository__Group_5_3__1__Impl : ( ( rule__Repository__ComponentsAssignment_5_3_1 ) ) ;
+    public final void rule__Repository__Group_5_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1796:1: ( ( ( rule__RepositoryComponent_Impl__Group_3__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1797:1: ( ( rule__RepositoryComponent_Impl__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1853:1: ( ( ( rule__Repository__ComponentsAssignment_5_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1854:1: ( ( rule__Repository__ComponentsAssignment_5_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1797:1: ( ( rule__RepositoryComponent_Impl__Group_3__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1798:1: ( rule__RepositoryComponent_Impl__Group_3__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1854:1: ( ( rule__Repository__ComponentsAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1855:1: ( rule__Repository__ComponentsAssignment_5_3_1 )
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1799:1: ( rule__RepositoryComponent_Impl__Group_3__0 )?
-            int alt12=2;
-            int LA12_0 = input.LA(1);
-
-            if ( (LA12_0==29) ) {
-                alt12=1;
-            }
-            switch (alt12) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1799:2: rule__RepositoryComponent_Impl__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__0_in_rule__RepositoryComponent_Impl__Group__3__Impl3685);
-                    rule__RepositoryComponent_Impl__Group_3__0();
-
-                    state._fsp--;
+             before(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1856:1: ( rule__Repository__ComponentsAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1856:2: rule__Repository__ComponentsAssignment_5_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__ComponentsAssignment_5_3_1_in_rule__Repository__Group_5_3__1__Impl3797);
+            rule__Repository__ComponentsAssignment_5_3_1();
 
+            state._fsp--;
 
-                    }
-                    break;
 
             }
 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3()); 
+             after(grammarAccess.getRepositoryAccess().getComponentsAssignment_5_3_1()); 
 
             }
 
@@ -4963,26 +5087,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__3__Impl"
+    // $ANTLR end "rule__Repository__Group_5_3__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1809:1: rule__RepositoryComponent_Impl__Group__4 : rule__RepositoryComponent_Impl__Group__4__Impl rule__RepositoryComponent_Impl__Group__5 ;
-    public final void rule__RepositoryComponent_Impl__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1870:1: rule__Repository__Group_6__0 : rule__Repository__Group_6__0__Impl rule__Repository__Group_6__1 ;
+    public final void rule__Repository__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1813:1: ( rule__RepositoryComponent_Impl__Group__4__Impl rule__RepositoryComponent_Impl__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1814:2: rule__RepositoryComponent_Impl__Group__4__Impl rule__RepositoryComponent_Impl__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1874:1: ( rule__Repository__Group_6__0__Impl rule__Repository__Group_6__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1875:2: rule__Repository__Group_6__0__Impl rule__Repository__Group_6__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__4__Impl_in_rule__RepositoryComponent_Impl__Group__43716);
-            rule__RepositoryComponent_Impl__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__0__Impl_in_rule__Repository__Group_6__03831);
+            rule__Repository__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__5_in_rule__RepositoryComponent_Impl__Group__43719);
-            rule__RepositoryComponent_Impl__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__1_in_rule__Repository__Group_6__03834);
+            rule__Repository__Group_6__1();
 
             state._fsp--;
 
@@ -5001,46 +5125,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__4"
+    // $ANTLR end "rule__Repository__Group_6__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1821:1: rule__RepositoryComponent_Impl__Group__4__Impl : ( ( rule__RepositoryComponent_Impl__Group_4__0 )? ) ;
-    public final void rule__RepositoryComponent_Impl__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1882:1: rule__Repository__Group_6__0__Impl : ( 'interfaces' ) ;
+    public final void rule__Repository__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1825:1: ( ( ( rule__RepositoryComponent_Impl__Group_4__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1826:1: ( ( rule__RepositoryComponent_Impl__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1886:1: ( ( 'interfaces' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1887:1: ( 'interfaces' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1826:1: ( ( rule__RepositoryComponent_Impl__Group_4__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1827:1: ( rule__RepositoryComponent_Impl__Group_4__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1887:1: ( 'interfaces' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1888:1: 'interfaces'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1828:1: ( rule__RepositoryComponent_Impl__Group_4__0 )?
-            int alt13=2;
-            int LA13_0 = input.LA(1);
-
-            if ( (LA13_0==30) ) {
-                alt13=1;
-            }
-            switch (alt13) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1828:2: rule__RepositoryComponent_Impl__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__0_in_rule__RepositoryComponent_Impl__Group__4__Impl3746);
-                    rule__RepositoryComponent_Impl__Group_4__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_4()); 
+             before(grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0()); 
+            match(input,27,FollowSets000.FOLLOW_27_in_rule__Repository__Group_6__0__Impl3862); 
+             after(grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0()); 
 
             }
 
@@ -5059,26 +5162,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__4__Impl"
+    // $ANTLR end "rule__Repository__Group_6__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1838:1: rule__RepositoryComponent_Impl__Group__5 : rule__RepositoryComponent_Impl__Group__5__Impl rule__RepositoryComponent_Impl__Group__6 ;
-    public final void rule__RepositoryComponent_Impl__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1901:1: rule__Repository__Group_6__1 : rule__Repository__Group_6__1__Impl rule__Repository__Group_6__2 ;
+    public final void rule__Repository__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1842:1: ( rule__RepositoryComponent_Impl__Group__5__Impl rule__RepositoryComponent_Impl__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1843:2: rule__RepositoryComponent_Impl__Group__5__Impl rule__RepositoryComponent_Impl__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1905:1: ( rule__Repository__Group_6__1__Impl rule__Repository__Group_6__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1906:2: rule__Repository__Group_6__1__Impl rule__Repository__Group_6__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__5__Impl_in_rule__RepositoryComponent_Impl__Group__53777);
-            rule__RepositoryComponent_Impl__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__1__Impl_in_rule__Repository__Group_6__13893);
+            rule__Repository__Group_6__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__6_in_rule__RepositoryComponent_Impl__Group__53780);
-            rule__RepositoryComponent_Impl__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__2_in_rule__Repository__Group_6__13896);
+            rule__Repository__Group_6__2();
 
             state._fsp--;
 
@@ -5097,46 +5200,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__5"
+    // $ANTLR end "rule__Repository__Group_6__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1850:1: rule__RepositoryComponent_Impl__Group__5__Impl : ( ( rule__RepositoryComponent_Impl__Group_5__0 )? ) ;
-    public final void rule__RepositoryComponent_Impl__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1913:1: rule__Repository__Group_6__1__Impl : ( '{' ) ;
+    public final void rule__Repository__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1854:1: ( ( ( rule__RepositoryComponent_Impl__Group_5__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1855:1: ( ( rule__RepositoryComponent_Impl__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1917:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1918:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1855:1: ( ( rule__RepositoryComponent_Impl__Group_5__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1856:1: ( rule__RepositoryComponent_Impl__Group_5__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1918:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1919:1: '{'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1857:1: ( rule__RepositoryComponent_Impl__Group_5__0 )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-
-            if ( (LA14_0==31) ) {
-                alt14=1;
-            }
-            switch (alt14) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1857:2: rule__RepositoryComponent_Impl__Group_5__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__0_in_rule__RepositoryComponent_Impl__Group__5__Impl3807);
-                    rule__RepositoryComponent_Impl__Group_5__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5()); 
+             before(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__Repository__Group_6__1__Impl3924); 
+             after(grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1()); 
 
             }
 
@@ -5155,21 +5237,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__5__Impl"
+    // $ANTLR end "rule__Repository__Group_6__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1867:1: rule__RepositoryComponent_Impl__Group__6 : rule__RepositoryComponent_Impl__Group__6__Impl ;
-    public final void rule__RepositoryComponent_Impl__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1932:1: rule__Repository__Group_6__2 : rule__Repository__Group_6__2__Impl rule__Repository__Group_6__3 ;
+    public final void rule__Repository__Group_6__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1871:1: ( rule__RepositoryComponent_Impl__Group__6__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1872:2: rule__RepositoryComponent_Impl__Group__6__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1936:1: ( rule__Repository__Group_6__2__Impl rule__Repository__Group_6__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1937:2: rule__Repository__Group_6__2__Impl rule__Repository__Group_6__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__6__Impl_in_rule__RepositoryComponent_Impl__Group__63838);
-            rule__RepositoryComponent_Impl__Group__6__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__2__Impl_in_rule__Repository__Group_6__23955);
+            rule__Repository__Group_6__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__3_in_rule__Repository__Group_6__23958);
+            rule__Repository__Group_6__3();
 
             state._fsp--;
 
@@ -5188,25 +5275,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__6"
+    // $ANTLR end "rule__Repository__Group_6__2"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1878:1: rule__RepositoryComponent_Impl__Group__6__Impl : ( '}' ) ;
-    public final void rule__RepositoryComponent_Impl__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1944:1: rule__Repository__Group_6__2__Impl : ( ( rule__Repository__InterfacesAssignment_6_2 ) ) ;
+    public final void rule__Repository__Group_6__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1882:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1883:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1948:1: ( ( ( rule__Repository__InterfacesAssignment_6_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1949:1: ( ( rule__Repository__InterfacesAssignment_6_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1883:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1884:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1949:1: ( ( rule__Repository__InterfacesAssignment_6_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1950:1: ( rule__Repository__InterfacesAssignment_6_2 )
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__RepositoryComponent_Impl__Group__6__Impl3866); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6()); 
+             before(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1951:1: ( rule__Repository__InterfacesAssignment_6_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1951:2: rule__Repository__InterfacesAssignment_6_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__InterfacesAssignment_6_2_in_rule__Repository__Group_6__2__Impl3985);
+            rule__Repository__InterfacesAssignment_6_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_2()); 
 
             }
 
@@ -5225,26 +5322,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group__6__Impl"
+    // $ANTLR end "rule__Repository__Group_6__2__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1911:1: rule__RepositoryComponent_Impl__Group_3__0 : rule__RepositoryComponent_Impl__Group_3__0__Impl rule__RepositoryComponent_Impl__Group_3__1 ;
-    public final void rule__RepositoryComponent_Impl__Group_3__0() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1961:1: rule__Repository__Group_6__3 : rule__Repository__Group_6__3__Impl rule__Repository__Group_6__4 ;
+    public final void rule__Repository__Group_6__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1915:1: ( rule__RepositoryComponent_Impl__Group_3__0__Impl rule__RepositoryComponent_Impl__Group_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1916:2: rule__RepositoryComponent_Impl__Group_3__0__Impl rule__RepositoryComponent_Impl__Group_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1965:1: ( rule__Repository__Group_6__3__Impl rule__Repository__Group_6__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1966:2: rule__Repository__Group_6__3__Impl rule__Repository__Group_6__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_3__03911);
-            rule__RepositoryComponent_Impl__Group_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__3__Impl_in_rule__Repository__Group_6__34015);
+            rule__Repository__Group_6__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__1_in_rule__RepositoryComponent_Impl__Group_3__03914);
-            rule__RepositoryComponent_Impl__Group_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__4_in_rule__Repository__Group_6__34018);
+            rule__Repository__Group_6__4();
 
             state._fsp--;
 
@@ -5263,25 +5360,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__0"
+    // $ANTLR end "rule__Repository__Group_6__3"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1923:1: rule__RepositoryComponent_Impl__Group_3__0__Impl : ( 'relationship' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1973:1: rule__Repository__Group_6__3__Impl : ( ( rule__Repository__Group_6_3__0 )* ) ;
+    public final void rule__Repository__Group_6__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1927:1: ( ( 'relationship' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1928:1: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1977:1: ( ( ( rule__Repository__Group_6_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1978:1: ( ( rule__Repository__Group_6_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1928:1: ( 'relationship' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1929:1: 'relationship'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1978:1: ( ( rule__Repository__Group_6_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1979:1: ( rule__Repository__Group_6_3__0 )*
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_3_0()); 
-            match(input,29,FollowSets000.FOLLOW_29_in_rule__RepositoryComponent_Impl__Group_3__0__Impl3942); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_3_0()); 
+             before(grammarAccess.getRepositoryAccess().getGroup_6_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1980:1: ( rule__Repository__Group_6_3__0 )*
+            loop13:
+            do {
+                int alt13=2;
+                int LA13_0 = input.LA(1);
+
+                if ( (LA13_0==23) ) {
+                    alt13=1;
+                }
+
+
+                switch (alt13) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1980:2: rule__Repository__Group_6_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6_3__0_in_rule__Repository__Group_6__3__Impl4045);
+            	    rule__Repository__Group_6_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop13;
+                }
+            } while (true);
+
+             after(grammarAccess.getRepositoryAccess().getGroup_6_3()); 
 
             }
 
@@ -5300,26 +5425,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__0__Impl"
+    // $ANTLR end "rule__Repository__Group_6__3__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1942:1: rule__RepositoryComponent_Impl__Group_3__1 : rule__RepositoryComponent_Impl__Group_3__1__Impl rule__RepositoryComponent_Impl__Group_3__2 ;
-    public final void rule__RepositoryComponent_Impl__Group_3__1() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1990:1: rule__Repository__Group_6__4 : rule__Repository__Group_6__4__Impl ;
+    public final void rule__Repository__Group_6__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1946:1: ( rule__RepositoryComponent_Impl__Group_3__1__Impl rule__RepositoryComponent_Impl__Group_3__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1947:2: rule__RepositoryComponent_Impl__Group_3__1__Impl rule__RepositoryComponent_Impl__Group_3__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1994:1: ( rule__Repository__Group_6__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1995:2: rule__Repository__Group_6__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_3__13973);
-            rule__RepositoryComponent_Impl__Group_3__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__2_in_rule__RepositoryComponent_Impl__Group_3__13976);
-            rule__RepositoryComponent_Impl__Group_3__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6__4__Impl_in_rule__Repository__Group_6__44076);
+            rule__Repository__Group_6__4__Impl();
 
             state._fsp--;
 
@@ -5338,25 +5458,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__1"
+    // $ANTLR end "rule__Repository__Group_6__4"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1954:1: rule__RepositoryComponent_Impl__Group_3__1__Impl : ( '(' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2001:1: rule__Repository__Group_6__4__Impl : ( '}' ) ;
+    public final void rule__Repository__Group_6__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1958:1: ( ( '(' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1959:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2005:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2006:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1959:1: ( '(' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1960:1: '('
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2006:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2007:1: '}'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_3_1()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__RepositoryComponent_Impl__Group_3__1__Impl4004); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_3_1()); 
+             before(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Repository__Group_6__4__Impl4104); 
+             after(grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4()); 
 
             }
 
@@ -5375,26 +5495,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__1__Impl"
+    // $ANTLR end "rule__Repository__Group_6__4__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1973:1: rule__RepositoryComponent_Impl__Group_3__2 : rule__RepositoryComponent_Impl__Group_3__2__Impl rule__RepositoryComponent_Impl__Group_3__3 ;
-    public final void rule__RepositoryComponent_Impl__Group_3__2() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2030:1: rule__Repository__Group_6_3__0 : rule__Repository__Group_6_3__0__Impl rule__Repository__Group_6_3__1 ;
+    public final void rule__Repository__Group_6_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1977:1: ( rule__RepositoryComponent_Impl__Group_3__2__Impl rule__RepositoryComponent_Impl__Group_3__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1978:2: rule__RepositoryComponent_Impl__Group_3__2__Impl rule__RepositoryComponent_Impl__Group_3__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2034:1: ( rule__Repository__Group_6_3__0__Impl rule__Repository__Group_6_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2035:2: rule__Repository__Group_6_3__0__Impl rule__Repository__Group_6_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__2__Impl_in_rule__RepositoryComponent_Impl__Group_3__24035);
-            rule__RepositoryComponent_Impl__Group_3__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6_3__0__Impl_in_rule__Repository__Group_6_3__04145);
+            rule__Repository__Group_6_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__3_in_rule__RepositoryComponent_Impl__Group_3__24038);
-            rule__RepositoryComponent_Impl__Group_3__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6_3__1_in_rule__Repository__Group_6_3__04148);
+            rule__Repository__Group_6_3__1();
 
             state._fsp--;
 
@@ -5413,35 +5533,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__2"
+    // $ANTLR end "rule__Repository__Group_6_3__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1985:1: rule__RepositoryComponent_Impl__Group_3__2__Impl : ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 ) ) ;
-    public final void rule__RepositoryComponent_Impl__Group_3__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2042:1: rule__Repository__Group_6_3__0__Impl : ( ',' ) ;
+    public final void rule__Repository__Group_6_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1989:1: ( ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1990:1: ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2046:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2047:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1990:1: ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1991:1: ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 )
-            {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1992:1: ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:1992:2: rule__RepositoryComponent_Impl__RelationshipAssignment_3_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2047:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2048:1: ','
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__RelationshipAssignment_3_2_in_rule__RepositoryComponent_Impl__Group_3__2__Impl4065);
-            rule__RepositoryComponent_Impl__RelationshipAssignment_3_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_2()); 
+             before(grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__Repository__Group_6_3__0__Impl4176); 
+             after(grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0()); 
 
             }
 
@@ -5460,26 +5570,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__2__Impl"
+    // $ANTLR end "rule__Repository__Group_6_3__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2002:1: rule__RepositoryComponent_Impl__Group_3__3 : rule__RepositoryComponent_Impl__Group_3__3__Impl rule__RepositoryComponent_Impl__Group_3__4 ;
-    public final void rule__RepositoryComponent_Impl__Group_3__3() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2061:1: rule__Repository__Group_6_3__1 : rule__Repository__Group_6_3__1__Impl ;
+    public final void rule__Repository__Group_6_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2006:1: ( rule__RepositoryComponent_Impl__Group_3__3__Impl rule__RepositoryComponent_Impl__Group_3__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2007:2: rule__RepositoryComponent_Impl__Group_3__3__Impl rule__RepositoryComponent_Impl__Group_3__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2065:1: ( rule__Repository__Group_6_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2066:2: rule__Repository__Group_6_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__3__Impl_in_rule__RepositoryComponent_Impl__Group_3__34095);
-            rule__RepositoryComponent_Impl__Group_3__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__4_in_rule__RepositoryComponent_Impl__Group_3__34098);
-            rule__RepositoryComponent_Impl__Group_3__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__Group_6_3__1__Impl_in_rule__Repository__Group_6_3__14207);
+            rule__Repository__Group_6_3__1__Impl();
 
             state._fsp--;
 
@@ -5498,53 +5603,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__3"
+    // $ANTLR end "rule__Repository__Group_6_3__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2014:1: rule__RepositoryComponent_Impl__Group_3__3__Impl : ( ( rule__RepositoryComponent_Impl__Group_3_3__0 )* ) ;
-    public final void rule__RepositoryComponent_Impl__Group_3__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Repository__Group_6_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2072:1: rule__Repository__Group_6_3__1__Impl : ( ( rule__Repository__InterfacesAssignment_6_3_1 ) ) ;
+    public final void rule__Repository__Group_6_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2018:1: ( ( ( rule__RepositoryComponent_Impl__Group_3_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2019:1: ( ( rule__RepositoryComponent_Impl__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2076:1: ( ( ( rule__Repository__InterfacesAssignment_6_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2077:1: ( ( rule__Repository__InterfacesAssignment_6_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2019:1: ( ( rule__RepositoryComponent_Impl__Group_3_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2020:1: ( rule__RepositoryComponent_Impl__Group_3_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2077:1: ( ( rule__Repository__InterfacesAssignment_6_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2078:1: ( rule__Repository__InterfacesAssignment_6_3_1 )
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2021:1: ( rule__RepositoryComponent_Impl__Group_3_3__0 )*
-            loop15:
-            do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
-
-                if ( (LA15_0==26) ) {
-                    alt15=1;
-                }
-
-
-                switch (alt15) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2021:2: rule__RepositoryComponent_Impl__Group_3_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__0_in_rule__RepositoryComponent_Impl__Group_3__3__Impl4125);
-            	    rule__RepositoryComponent_Impl__Group_3_3__0();
-
-            	    state._fsp--;
+             before(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2079:1: ( rule__Repository__InterfacesAssignment_6_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2079:2: rule__Repository__InterfacesAssignment_6_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Repository__InterfacesAssignment_6_3_1_in_rule__Repository__Group_6_3__1__Impl4234);
+            rule__Repository__InterfacesAssignment_6_3_1();
 
+            state._fsp--;
 
-            	    }
-            	    break;
 
-            	default :
-            	    break loop15;
-                }
-            } while (true);
+            }
 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3_3()); 
+             after(grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_3_1()); 
 
             }
 
@@ -5563,21 +5650,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__3__Impl"
+    // $ANTLR end "rule__Repository__Group_6_3__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2031:1: rule__RepositoryComponent_Impl__Group_3__4 : rule__RepositoryComponent_Impl__Group_3__4__Impl ;
-    public final void rule__RepositoryComponent_Impl__Group_3__4() throws RecognitionException {
+    // $ANTLR start "rule__Import__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2093:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
+    public final void rule__Import__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2035:1: ( rule__RepositoryComponent_Impl__Group_3__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2036:2: rule__RepositoryComponent_Impl__Group_3__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2097:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2098:2: rule__Import__Group__0__Impl rule__Import__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__4__Impl_in_rule__RepositoryComponent_Impl__Group_3__44156);
-            rule__RepositoryComponent_Impl__Group_3__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__04268);
+            rule__Import__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Import__Group__1_in_rule__Import__Group__04271);
+            rule__Import__Group__1();
 
             state._fsp--;
 
@@ -5596,25 +5688,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__4"
+    // $ANTLR end "rule__Import__Group__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2042:1: rule__RepositoryComponent_Impl__Group_3__4__Impl : ( ')' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_3__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Import__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2105:1: rule__Import__Group__0__Impl : ( 'import' ) ;
+    public final void rule__Import__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2046:1: ( ( ')' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2047:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2109:1: ( ( 'import' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2110:1: ( 'import' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2047:1: ( ')' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2048:1: ')'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2110:1: ( 'import' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2111:1: 'import'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_3_4()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__RepositoryComponent_Impl__Group_3__4__Impl4184); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_3_4()); 
+             before(grammarAccess.getImportAccess().getImportKeyword_0()); 
+            match(input,28,FollowSets000.FOLLOW_28_in_rule__Import__Group__0__Impl4299); 
+             after(grammarAccess.getImportAccess().getImportKeyword_0()); 
 
             }
 
@@ -5633,26 +5725,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__4__Impl"
+    // $ANTLR end "rule__Import__Group__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2071:1: rule__RepositoryComponent_Impl__Group_3_3__0 : rule__RepositoryComponent_Impl__Group_3_3__0__Impl rule__RepositoryComponent_Impl__Group_3_3__1 ;
-    public final void rule__RepositoryComponent_Impl__Group_3_3__0() throws RecognitionException {
+    // $ANTLR start "rule__Import__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2124:1: rule__Import__Group__1 : rule__Import__Group__1__Impl ;
+    public final void rule__Import__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2075:1: ( rule__RepositoryComponent_Impl__Group_3_3__0__Impl rule__RepositoryComponent_Impl__Group_3_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2076:2: rule__RepositoryComponent_Impl__Group_3_3__0__Impl rule__RepositoryComponent_Impl__Group_3_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2128:1: ( rule__Import__Group__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2129:2: rule__Import__Group__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_3_3__04225);
-            rule__RepositoryComponent_Impl__Group_3_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__1_in_rule__RepositoryComponent_Impl__Group_3_3__04228);
-            rule__RepositoryComponent_Impl__Group_3_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__14330);
+            rule__Import__Group__1__Impl();
 
             state._fsp--;
 
@@ -5671,25 +5758,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3_3__0"
+    // $ANTLR end "rule__Import__Group__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2083:1: rule__RepositoryComponent_Impl__Group_3_3__0__Impl : ( ',' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_3_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Import__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2135:1: rule__Import__Group__1__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) ;
+    public final void rule__Import__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2087:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2088:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2139:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2140:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2088:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2089:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2140:1: ( ( rule__Import__ImportedNamespaceAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2141:1: ( rule__Import__ImportedNamespaceAssignment_1 )
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_3_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__RepositoryComponent_Impl__Group_3_3__0__Impl4256); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_3_3_0()); 
+             before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2142:1: ( rule__Import__ImportedNamespaceAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2142:2: rule__Import__ImportedNamespaceAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl4357);
+            rule__Import__ImportedNamespaceAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); 
 
             }
 
@@ -5708,21 +5805,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3_3__0__Impl"
+    // $ANTLR end "rule__Import__Group__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2102:1: rule__RepositoryComponent_Impl__Group_3_3__1 : rule__RepositoryComponent_Impl__Group_3_3__1__Impl ;
-    public final void rule__RepositoryComponent_Impl__Group_3_3__1() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedNameWithWildCard__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2156:1: rule__QualifiedNameWithWildCard__Group__0 : rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1 ;
+    public final void rule__QualifiedNameWithWildCard__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2106:1: ( rule__RepositoryComponent_Impl__Group_3_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2107:2: rule__RepositoryComponent_Impl__Group_3_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2160:1: ( rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2161:2: rule__QualifiedNameWithWildCard__Group__0__Impl rule__QualifiedNameWithWildCard__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_3_3__14287);
-            rule__RepositoryComponent_Impl__Group_3_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group__0__Impl_in_rule__QualifiedNameWithWildCard__Group__04391);
+            rule__QualifiedNameWithWildCard__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group__1_in_rule__QualifiedNameWithWildCard__Group__04394);
+            rule__QualifiedNameWithWildCard__Group__1();
 
             state._fsp--;
 
@@ -5741,35 +5843,29 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3_3__1"
+    // $ANTLR end "rule__QualifiedNameWithWildCard__Group__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2113:1: rule__RepositoryComponent_Impl__Group_3_3__1__Impl : ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 ) ) ;
-    public final void rule__RepositoryComponent_Impl__Group_3_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedNameWithWildCard__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2168:1: rule__QualifiedNameWithWildCard__Group__0__Impl : ( ruleQualifiedName ) ;
+    public final void rule__QualifiedNameWithWildCard__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2117:1: ( ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2118:1: ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2172:1: ( ( ruleQualifiedName ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2173:1: ( ruleQualifiedName )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2118:1: ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2119:1: ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 )
-            {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2120:1: ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2120:2: rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2173:1: ( ruleQualifiedName )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2174:1: ruleQualifiedName
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1_in_rule__RepositoryComponent_Impl__Group_3_3__1__Impl4314);
-            rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1();
+             before(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildCard__Group__0__Impl4421);
+            ruleQualifiedName();
 
             state._fsp--;
 
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_3_1()); 
+             after(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 
 
             }
 
@@ -5788,26 +5884,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3_3__1__Impl"
+    // $ANTLR end "rule__QualifiedNameWithWildCard__Group__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2134:1: rule__RepositoryComponent_Impl__Group_4__0 : rule__RepositoryComponent_Impl__Group_4__0__Impl rule__RepositoryComponent_Impl__Group_4__1 ;
-    public final void rule__RepositoryComponent_Impl__Group_4__0() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedNameWithWildCard__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2185:1: rule__QualifiedNameWithWildCard__Group__1 : rule__QualifiedNameWithWildCard__Group__1__Impl ;
+    public final void rule__QualifiedNameWithWildCard__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2138:1: ( rule__RepositoryComponent_Impl__Group_4__0__Impl rule__RepositoryComponent_Impl__Group_4__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2139:2: rule__RepositoryComponent_Impl__Group_4__0__Impl rule__RepositoryComponent_Impl__Group_4__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2189:1: ( rule__QualifiedNameWithWildCard__Group__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2190:2: rule__QualifiedNameWithWildCard__Group__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__0__Impl_in_rule__RepositoryComponent_Impl__Group_4__04348);
-            rule__RepositoryComponent_Impl__Group_4__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__1_in_rule__RepositoryComponent_Impl__Group_4__04351);
-            rule__RepositoryComponent_Impl__Group_4__1();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group__1__Impl_in_rule__QualifiedNameWithWildCard__Group__14450);
+            rule__QualifiedNameWithWildCard__Group__1__Impl();
 
             state._fsp--;
 
@@ -5826,25 +5917,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__0"
+    // $ANTLR end "rule__QualifiedNameWithWildCard__Group__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2146:1: rule__RepositoryComponent_Impl__Group_4__0__Impl : ( 'providedRoles' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_4__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedNameWithWildCard__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2196:1: rule__QualifiedNameWithWildCard__Group__1__Impl : ( ( rule__QualifiedNameWithWildCard__Group_1__0 )? ) ;
+    public final void rule__QualifiedNameWithWildCard__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2150:1: ( ( 'providedRoles' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2151:1: ( 'providedRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2200:1: ( ( ( rule__QualifiedNameWithWildCard__Group_1__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2201:1: ( ( rule__QualifiedNameWithWildCard__Group_1__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2151:1: ( 'providedRoles' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2152:1: 'providedRoles'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2201:1: ( ( rule__QualifiedNameWithWildCard__Group_1__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2202:1: ( rule__QualifiedNameWithWildCard__Group_1__0 )?
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_4_0()); 
-            match(input,30,FollowSets000.FOLLOW_30_in_rule__RepositoryComponent_Impl__Group_4__0__Impl4379); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_4_0()); 
+             before(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2203:1: ( rule__QualifiedNameWithWildCard__Group_1__0 )?
+            int alt14=2;
+            int LA14_0 = input.LA(1);
+
+            if ( (LA14_0==29) ) {
+                alt14=1;
+            }
+            switch (alt14) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2203:2: rule__QualifiedNameWithWildCard__Group_1__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group_1__0_in_rule__QualifiedNameWithWildCard__Group__1__Impl4477);
+                    rule__QualifiedNameWithWildCard__Group_1__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getQualifiedNameWithWildCardAccess().getGroup_1()); 
 
             }
 
@@ -5863,26 +5975,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__0__Impl"
+    // $ANTLR end "rule__QualifiedNameWithWildCard__Group__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2165:1: rule__RepositoryComponent_Impl__Group_4__1 : rule__RepositoryComponent_Impl__Group_4__1__Impl rule__RepositoryComponent_Impl__Group_4__2 ;
-    public final void rule__RepositoryComponent_Impl__Group_4__1() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedNameWithWildCard__Group_1__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2217:1: rule__QualifiedNameWithWildCard__Group_1__0 : rule__QualifiedNameWithWildCard__Group_1__0__Impl rule__QualifiedNameWithWildCard__Group_1__1 ;
+    public final void rule__QualifiedNameWithWildCard__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2169:1: ( rule__RepositoryComponent_Impl__Group_4__1__Impl rule__RepositoryComponent_Impl__Group_4__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2170:2: rule__RepositoryComponent_Impl__Group_4__1__Impl rule__RepositoryComponent_Impl__Group_4__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2221:1: ( rule__QualifiedNameWithWildCard__Group_1__0__Impl rule__QualifiedNameWithWildCard__Group_1__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2222:2: rule__QualifiedNameWithWildCard__Group_1__0__Impl rule__QualifiedNameWithWildCard__Group_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__1__Impl_in_rule__RepositoryComponent_Impl__Group_4__14410);
-            rule__RepositoryComponent_Impl__Group_4__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group_1__0__Impl_in_rule__QualifiedNameWithWildCard__Group_1__04512);
+            rule__QualifiedNameWithWildCard__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__2_in_rule__RepositoryComponent_Impl__Group_4__14413);
-            rule__RepositoryComponent_Impl__Group_4__2();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group_1__1_in_rule__QualifiedNameWithWildCard__Group_1__04515);
+            rule__QualifiedNameWithWildCard__Group_1__1();
 
             state._fsp--;
 
@@ -5901,25 +6013,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__1"
+    // $ANTLR end "rule__QualifiedNameWithWildCard__Group_1__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2177:1: rule__RepositoryComponent_Impl__Group_4__1__Impl : ( '{' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_4__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedNameWithWildCard__Group_1__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2229:1: rule__QualifiedNameWithWildCard__Group_1__0__Impl : ( '.' ) ;
+    public final void rule__QualifiedNameWithWildCard__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2181:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2182:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2233:1: ( ( '.' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2234:1: ( '.' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2182:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2183:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2234:1: ( '.' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2235:1: '.'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_4_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__RepositoryComponent_Impl__Group_4__1__Impl4441); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_4_1()); 
+             before(grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); 
+            match(input,29,FollowSets000.FOLLOW_29_in_rule__QualifiedNameWithWildCard__Group_1__0__Impl4543); 
+             after(grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); 
 
             }
 
@@ -5938,26 +6050,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__1__Impl"
+    // $ANTLR end "rule__QualifiedNameWithWildCard__Group_1__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2196:1: rule__RepositoryComponent_Impl__Group_4__2 : rule__RepositoryComponent_Impl__Group_4__2__Impl rule__RepositoryComponent_Impl__Group_4__3 ;
-    public final void rule__RepositoryComponent_Impl__Group_4__2() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedNameWithWildCard__Group_1__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2248:1: rule__QualifiedNameWithWildCard__Group_1__1 : rule__QualifiedNameWithWildCard__Group_1__1__Impl ;
+    public final void rule__QualifiedNameWithWildCard__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2200:1: ( rule__RepositoryComponent_Impl__Group_4__2__Impl rule__RepositoryComponent_Impl__Group_4__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2201:2: rule__RepositoryComponent_Impl__Group_4__2__Impl rule__RepositoryComponent_Impl__Group_4__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2252:1: ( rule__QualifiedNameWithWildCard__Group_1__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2253:2: rule__QualifiedNameWithWildCard__Group_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__2__Impl_in_rule__RepositoryComponent_Impl__Group_4__24472);
-            rule__RepositoryComponent_Impl__Group_4__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__3_in_rule__RepositoryComponent_Impl__Group_4__24475);
-            rule__RepositoryComponent_Impl__Group_4__3();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedNameWithWildCard__Group_1__1__Impl_in_rule__QualifiedNameWithWildCard__Group_1__14574);
+            rule__QualifiedNameWithWildCard__Group_1__1__Impl();
 
             state._fsp--;
 
@@ -5976,35 +6083,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__2"
+    // $ANTLR end "rule__QualifiedNameWithWildCard__Group_1__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2208:1: rule__RepositoryComponent_Impl__Group_4__2__Impl : ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 ) ) ;
-    public final void rule__RepositoryComponent_Impl__Group_4__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedNameWithWildCard__Group_1__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2259:1: rule__QualifiedNameWithWildCard__Group_1__1__Impl : ( '*' ) ;
+    public final void rule__QualifiedNameWithWildCard__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2212:1: ( ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2213:1: ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2263:1: ( ( '*' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2264:1: ( '*' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2213:1: ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2214:1: ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2264:1: ( '*' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2265:1: '*'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_4_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2215:1: ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2215:2: rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2_in_rule__RepositoryComponent_Impl__Group_4__2__Impl4502);
-            rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_4_2()); 
+             before(grammarAccess.getQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); 
+            match(input,30,FollowSets000.FOLLOW_30_in_rule__QualifiedNameWithWildCard__Group_1__1__Impl4602); 
+             after(grammarAccess.getQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); 
 
             }
 
@@ -6023,26 +6120,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__2__Impl"
+    // $ANTLR end "rule__QualifiedNameWithWildCard__Group_1__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2225:1: rule__RepositoryComponent_Impl__Group_4__3 : rule__RepositoryComponent_Impl__Group_4__3__Impl rule__RepositoryComponent_Impl__Group_4__4 ;
-    public final void rule__RepositoryComponent_Impl__Group_4__3() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedName__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2282:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
+    public final void rule__QualifiedName__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2229:1: ( rule__RepositoryComponent_Impl__Group_4__3__Impl rule__RepositoryComponent_Impl__Group_4__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2230:2: rule__RepositoryComponent_Impl__Group_4__3__Impl rule__RepositoryComponent_Impl__Group_4__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2286:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2287:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__3__Impl_in_rule__RepositoryComponent_Impl__Group_4__34532);
-            rule__RepositoryComponent_Impl__Group_4__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__04637);
+            rule__QualifiedName__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__4_in_rule__RepositoryComponent_Impl__Group_4__34535);
-            rule__RepositoryComponent_Impl__Group_4__4();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__04640);
+            rule__QualifiedName__Group__1();
 
             state._fsp--;
 
@@ -6061,53 +6158,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__3"
+    // $ANTLR end "rule__QualifiedName__Group__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2237:1: rule__RepositoryComponent_Impl__Group_4__3__Impl : ( ( rule__RepositoryComponent_Impl__Group_4_3__0 )* ) ;
-    public final void rule__RepositoryComponent_Impl__Group_4__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedName__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2294:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ;
+    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2241:1: ( ( ( rule__RepositoryComponent_Impl__Group_4_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2242:1: ( ( rule__RepositoryComponent_Impl__Group_4_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2298:1: ( ( RULE_ID ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2299:1: ( RULE_ID )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2242:1: ( ( rule__RepositoryComponent_Impl__Group_4_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2243:1: ( rule__RepositoryComponent_Impl__Group_4_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2299:1: ( RULE_ID )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2300:1: RULE_ID
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_4_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2244:1: ( rule__RepositoryComponent_Impl__Group_4_3__0 )*
-            loop16:
-            do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
-
-                if ( (LA16_0==26) ) {
-                    alt16=1;
-                }
-
-
-                switch (alt16) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2244:2: rule__RepositoryComponent_Impl__Group_4_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__0_in_rule__RepositoryComponent_Impl__Group_4__3__Impl4562);
-            	    rule__RepositoryComponent_Impl__Group_4_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop16;
-                }
-            } while (true);
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_4_3()); 
+             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
+            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl4667); 
+             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
 
             }
 
@@ -6126,21 +6195,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__3__Impl"
+    // $ANTLR end "rule__QualifiedName__Group__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2254:1: rule__RepositoryComponent_Impl__Group_4__4 : rule__RepositoryComponent_Impl__Group_4__4__Impl ;
-    public final void rule__RepositoryComponent_Impl__Group_4__4() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedName__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2311:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
+    public final void rule__QualifiedName__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2258:1: ( rule__RepositoryComponent_Impl__Group_4__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2259:2: rule__RepositoryComponent_Impl__Group_4__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2315:1: ( rule__QualifiedName__Group__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2316:2: rule__QualifiedName__Group__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__4__Impl_in_rule__RepositoryComponent_Impl__Group_4__44593);
-            rule__RepositoryComponent_Impl__Group_4__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__14696);
+            rule__QualifiedName__Group__1__Impl();
 
             state._fsp--;
 
@@ -6159,25 +6228,59 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__4"
+    // $ANTLR end "rule__QualifiedName__Group__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2265:1: rule__RepositoryComponent_Impl__Group_4__4__Impl : ( '}' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_4__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedName__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2322:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
+    public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2269:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2270:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2326:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2327:1: ( ( rule__QualifiedName__Group_1__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2270:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2271:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2327:1: ( ( rule__QualifiedName__Group_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2328:1: ( rule__QualifiedName__Group_1__0 )*
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_4_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__RepositoryComponent_Impl__Group_4__4__Impl4621); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_4_4()); 
+             before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2329:1: ( rule__QualifiedName__Group_1__0 )*
+            loop15:
+            do {
+                int alt15=2;
+                int LA15_0 = input.LA(1);
+
+                if ( (LA15_0==29) ) {
+                    int LA15_2 = input.LA(2);
+
+                    if ( (LA15_2==RULE_ID) ) {
+                        alt15=1;
+                    }
+
+
+                }
+
+
+                switch (alt15) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2329:2: rule__QualifiedName__Group_1__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl4723);
+            	    rule__QualifiedName__Group_1__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop15;
+                }
+            } while (true);
+
+             after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
 
             }
 
@@ -6196,26 +6299,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__4__Impl"
+    // $ANTLR end "rule__QualifiedName__Group__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2294:1: rule__RepositoryComponent_Impl__Group_4_3__0 : rule__RepositoryComponent_Impl__Group_4_3__0__Impl rule__RepositoryComponent_Impl__Group_4_3__1 ;
-    public final void rule__RepositoryComponent_Impl__Group_4_3__0() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedName__Group_1__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2343:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
+    public final void rule__QualifiedName__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2298:1: ( rule__RepositoryComponent_Impl__Group_4_3__0__Impl rule__RepositoryComponent_Impl__Group_4_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2299:2: rule__RepositoryComponent_Impl__Group_4_3__0__Impl rule__RepositoryComponent_Impl__Group_4_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2347:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2348:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_4_3__04662);
-            rule__RepositoryComponent_Impl__Group_4_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__04758);
+            rule__QualifiedName__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__1_in_rule__RepositoryComponent_Impl__Group_4_3__04665);
-            rule__RepositoryComponent_Impl__Group_4_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__04761);
+            rule__QualifiedName__Group_1__1();
 
             state._fsp--;
 
@@ -6234,25 +6337,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4_3__0"
+    // $ANTLR end "rule__QualifiedName__Group_1__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2306:1: rule__RepositoryComponent_Impl__Group_4_3__0__Impl : ( ',' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_4_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2355:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ;
+    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2310:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2311:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2359:1: ( ( '.' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2360:1: ( '.' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2311:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2312:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2360:1: ( '.' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2361:1: '.'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_4_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__RepositoryComponent_Impl__Group_4_3__0__Impl4693); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_4_3_0()); 
+             before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
+            match(input,29,FollowSets000.FOLLOW_29_in_rule__QualifiedName__Group_1__0__Impl4789); 
+             after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
 
             }
 
@@ -6271,21 +6374,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4_3__0__Impl"
+    // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2325:1: rule__RepositoryComponent_Impl__Group_4_3__1 : rule__RepositoryComponent_Impl__Group_4_3__1__Impl ;
-    public final void rule__RepositoryComponent_Impl__Group_4_3__1() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedName__Group_1__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2374:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
+    public final void rule__QualifiedName__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2329:1: ( rule__RepositoryComponent_Impl__Group_4_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2330:2: rule__RepositoryComponent_Impl__Group_4_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2378:1: ( rule__QualifiedName__Group_1__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2379:2: rule__QualifiedName__Group_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_4_3__14724);
-            rule__RepositoryComponent_Impl__Group_4_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__14820);
+            rule__QualifiedName__Group_1__1__Impl();
 
             state._fsp--;
 
@@ -6304,35 +6407,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4_3__1"
+    // $ANTLR end "rule__QualifiedName__Group_1__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2336:1: rule__RepositoryComponent_Impl__Group_4_3__1__Impl : ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 ) ) ;
-    public final void rule__RepositoryComponent_Impl__Group_4_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2385:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ;
+    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2340:1: ( ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2341:1: ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2389:1: ( ( RULE_ID ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2390:1: ( RULE_ID )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2341:1: ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2342:1: ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2390:1: ( RULE_ID )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2391:1: RULE_ID
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_4_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2343:1: ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2343:2: rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1_in_rule__RepositoryComponent_Impl__Group_4_3__1__Impl4751);
-            rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_4_3_1()); 
+             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
+            match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl4847); 
+             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
 
             }
 
@@ -6351,26 +6444,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4_3__1__Impl"
+    // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2357:1: rule__RepositoryComponent_Impl__Group_5__0 : rule__RepositoryComponent_Impl__Group_5__0__Impl rule__RepositoryComponent_Impl__Group_5__1 ;
-    public final void rule__RepositoryComponent_Impl__Group_5__0() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2406:1: rule__Interface__Group__0 : rule__Interface__Group__0__Impl rule__Interface__Group__1 ;
+    public final void rule__Interface__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2361:1: ( rule__RepositoryComponent_Impl__Group_5__0__Impl rule__RepositoryComponent_Impl__Group_5__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2362:2: rule__RepositoryComponent_Impl__Group_5__0__Impl rule__RepositoryComponent_Impl__Group_5__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2410:1: ( rule__Interface__Group__0__Impl rule__Interface__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2411:2: rule__Interface__Group__0__Impl rule__Interface__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__0__Impl_in_rule__RepositoryComponent_Impl__Group_5__04785);
-            rule__RepositoryComponent_Impl__Group_5__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__0__Impl_in_rule__Interface__Group__04880);
+            rule__Interface__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__1_in_rule__RepositoryComponent_Impl__Group_5__04788);
-            rule__RepositoryComponent_Impl__Group_5__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__1_in_rule__Interface__Group__04883);
+            rule__Interface__Group__1();
 
             state._fsp--;
 
@@ -6389,25 +6482,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__0"
+    // $ANTLR end "rule__Interface__Group__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2369:1: rule__RepositoryComponent_Impl__Group_5__0__Impl : ( 'requiredRoles' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_5__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2418:1: rule__Interface__Group__0__Impl : ( 'Interface' ) ;
+    public final void rule__Interface__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2373:1: ( ( 'requiredRoles' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2374:1: ( 'requiredRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2422:1: ( ( 'Interface' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2423:1: ( 'Interface' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2374:1: ( 'requiredRoles' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2375:1: 'requiredRoles'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2423:1: ( 'Interface' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2424:1: 'Interface'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_5_0()); 
-            match(input,31,FollowSets000.FOLLOW_31_in_rule__RepositoryComponent_Impl__Group_5__0__Impl4816); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_5_0()); 
+             before(grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); 
+            match(input,31,FollowSets000.FOLLOW_31_in_rule__Interface__Group__0__Impl4911); 
+             after(grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); 
 
             }
 
@@ -6426,26 +6519,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__0__Impl"
+    // $ANTLR end "rule__Interface__Group__0__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2388:1: rule__RepositoryComponent_Impl__Group_5__1 : rule__RepositoryComponent_Impl__Group_5__1__Impl rule__RepositoryComponent_Impl__Group_5__2 ;
-    public final void rule__RepositoryComponent_Impl__Group_5__1() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2437:1: rule__Interface__Group__1 : rule__Interface__Group__1__Impl rule__Interface__Group__2 ;
+    public final void rule__Interface__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2392:1: ( rule__RepositoryComponent_Impl__Group_5__1__Impl rule__RepositoryComponent_Impl__Group_5__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2393:2: rule__RepositoryComponent_Impl__Group_5__1__Impl rule__RepositoryComponent_Impl__Group_5__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2441:1: ( rule__Interface__Group__1__Impl rule__Interface__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2442:2: rule__Interface__Group__1__Impl rule__Interface__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__1__Impl_in_rule__RepositoryComponent_Impl__Group_5__14847);
-            rule__RepositoryComponent_Impl__Group_5__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__1__Impl_in_rule__Interface__Group__14942);
+            rule__Interface__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__2_in_rule__RepositoryComponent_Impl__Group_5__14850);
-            rule__RepositoryComponent_Impl__Group_5__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__2_in_rule__Interface__Group__14945);
+            rule__Interface__Group__2();
 
             state._fsp--;
 
@@ -6464,25 +6557,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__1"
+    // $ANTLR end "rule__Interface__Group__1"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2400:1: rule__RepositoryComponent_Impl__Group_5__1__Impl : ( '{' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_5__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2449:1: rule__Interface__Group__1__Impl : ( ( rule__Interface__NameAssignment_1 ) ) ;
+    public final void rule__Interface__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2404:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2405:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2453:1: ( ( ( rule__Interface__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2454:1: ( ( rule__Interface__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2405:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2406:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2454:1: ( ( rule__Interface__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2455:1: ( rule__Interface__NameAssignment_1 )
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_5_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__RepositoryComponent_Impl__Group_5__1__Impl4878); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_5_1()); 
+             before(grammarAccess.getInterfaceAccess().getNameAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2456:1: ( rule__Interface__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2456:2: rule__Interface__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__NameAssignment_1_in_rule__Interface__Group__1__Impl4972);
+            rule__Interface__NameAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getInterfaceAccess().getNameAssignment_1()); 
 
             }
 
@@ -6501,26 +6604,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__1__Impl"
+    // $ANTLR end "rule__Interface__Group__1__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2419:1: rule__RepositoryComponent_Impl__Group_5__2 : rule__RepositoryComponent_Impl__Group_5__2__Impl rule__RepositoryComponent_Impl__Group_5__3 ;
-    public final void rule__RepositoryComponent_Impl__Group_5__2() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2466:1: rule__Interface__Group__2 : rule__Interface__Group__2__Impl rule__Interface__Group__3 ;
+    public final void rule__Interface__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2423:1: ( rule__RepositoryComponent_Impl__Group_5__2__Impl rule__RepositoryComponent_Impl__Group_5__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2424:2: rule__RepositoryComponent_Impl__Group_5__2__Impl rule__RepositoryComponent_Impl__Group_5__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2470:1: ( rule__Interface__Group__2__Impl rule__Interface__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2471:2: rule__Interface__Group__2__Impl rule__Interface__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__2__Impl_in_rule__RepositoryComponent_Impl__Group_5__24909);
-            rule__RepositoryComponent_Impl__Group_5__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__2__Impl_in_rule__Interface__Group__25002);
+            rule__Interface__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__3_in_rule__RepositoryComponent_Impl__Group_5__24912);
-            rule__RepositoryComponent_Impl__Group_5__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__3_in_rule__Interface__Group__25005);
+            rule__Interface__Group__3();
 
             state._fsp--;
 
@@ -6539,37 +6642,27 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__2"
+    // $ANTLR end "rule__Interface__Group__2"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2431:1: rule__RepositoryComponent_Impl__Group_5__2__Impl : ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 ) ) ;
-    public final void rule__RepositoryComponent_Impl__Group_5__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2478:1: rule__Interface__Group__2__Impl : ( '{' ) ;
+    public final void rule__Interface__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2435:1: ( ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2436:1: ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 ) )
-            {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2436:1: ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2437:1: ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2482:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2483:1: ( '{' )
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_5_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2438:1: ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2438:2: rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2483:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2484:1: '{'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2_in_rule__RepositoryComponent_Impl__Group_5__2__Impl4939);
-            rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2();
+             before(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__Interface__Group__2__Impl5033); 
+             after(grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); 
 
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_5_2()); 
-
-            }
+            }
 
 
             }
@@ -6586,26 +6679,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__2__Impl"
+    // $ANTLR end "rule__Interface__Group__2__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2448:1: rule__RepositoryComponent_Impl__Group_5__3 : rule__RepositoryComponent_Impl__Group_5__3__Impl rule__RepositoryComponent_Impl__Group_5__4 ;
-    public final void rule__RepositoryComponent_Impl__Group_5__3() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2497:1: rule__Interface__Group__3 : rule__Interface__Group__3__Impl rule__Interface__Group__4 ;
+    public final void rule__Interface__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2452:1: ( rule__RepositoryComponent_Impl__Group_5__3__Impl rule__RepositoryComponent_Impl__Group_5__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2453:2: rule__RepositoryComponent_Impl__Group_5__3__Impl rule__RepositoryComponent_Impl__Group_5__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2501:1: ( rule__Interface__Group__3__Impl rule__Interface__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2502:2: rule__Interface__Group__3__Impl rule__Interface__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__3__Impl_in_rule__RepositoryComponent_Impl__Group_5__34969);
-            rule__RepositoryComponent_Impl__Group_5__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__3__Impl_in_rule__Interface__Group__35064);
+            rule__Interface__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__4_in_rule__RepositoryComponent_Impl__Group_5__34972);
-            rule__RepositoryComponent_Impl__Group_5__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__4_in_rule__Interface__Group__35067);
+            rule__Interface__Group__4();
 
             state._fsp--;
 
@@ -6624,53 +6717,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__3"
+    // $ANTLR end "rule__Interface__Group__3"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2460:1: rule__RepositoryComponent_Impl__Group_5__3__Impl : ( ( rule__RepositoryComponent_Impl__Group_5_3__0 )* ) ;
-    public final void rule__RepositoryComponent_Impl__Group_5__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2509:1: rule__Interface__Group__3__Impl : ( ( rule__Interface__Group_3__0 )? ) ;
+    public final void rule__Interface__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2464:1: ( ( ( rule__RepositoryComponent_Impl__Group_5_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2465:1: ( ( rule__RepositoryComponent_Impl__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2513:1: ( ( ( rule__Interface__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2514:1: ( ( rule__Interface__Group_3__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2465:1: ( ( rule__RepositoryComponent_Impl__Group_5_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2466:1: ( rule__RepositoryComponent_Impl__Group_5_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2514:1: ( ( rule__Interface__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2515:1: ( rule__Interface__Group_3__0 )?
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2467:1: ( rule__RepositoryComponent_Impl__Group_5_3__0 )*
-            loop17:
-            do {
-                int alt17=2;
-                int LA17_0 = input.LA(1);
-
-                if ( (LA17_0==26) ) {
-                    alt17=1;
-                }
-
+             before(grammarAccess.getInterfaceAccess().getGroup_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2516:1: ( rule__Interface__Group_3__0 )?
+            int alt16=2;
+            int LA16_0 = input.LA(1);
 
-                switch (alt17) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2467:2: rule__RepositoryComponent_Impl__Group_5_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__0_in_rule__RepositoryComponent_Impl__Group_5__3__Impl4999);
-            	    rule__RepositoryComponent_Impl__Group_5_3__0();
+            if ( (LA16_0==32) ) {
+                alt16=1;
+            }
+            switch (alt16) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2516:2: rule__Interface__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__0_in_rule__Interface__Group__3__Impl5094);
+                    rule__Interface__Group_3__0();
 
-            	    state._fsp--;
+                    state._fsp--;
 
 
-            	    }
-            	    break;
+                    }
+                    break;
 
-            	default :
-            	    break loop17;
-                }
-            } while (true);
+            }
 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5_3()); 
+             after(grammarAccess.getInterfaceAccess().getGroup_3()); 
 
             }
 
@@ -6689,21 +6775,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__3__Impl"
+    // $ANTLR end "rule__Interface__Group__3__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2477:1: rule__RepositoryComponent_Impl__Group_5__4 : rule__RepositoryComponent_Impl__Group_5__4__Impl ;
-    public final void rule__RepositoryComponent_Impl__Group_5__4() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2526:1: rule__Interface__Group__4 : rule__Interface__Group__4__Impl rule__Interface__Group__5 ;
+    public final void rule__Interface__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2481:1: ( rule__RepositoryComponent_Impl__Group_5__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2482:2: rule__RepositoryComponent_Impl__Group_5__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2530:1: ( rule__Interface__Group__4__Impl rule__Interface__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2531:2: rule__Interface__Group__4__Impl rule__Interface__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__4__Impl_in_rule__RepositoryComponent_Impl__Group_5__45030);
-            rule__RepositoryComponent_Impl__Group_5__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__4__Impl_in_rule__Interface__Group__45125);
+            rule__Interface__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__5_in_rule__Interface__Group__45128);
+            rule__Interface__Group__5();
 
             state._fsp--;
 
@@ -6722,25 +6813,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__4"
+    // $ANTLR end "rule__Interface__Group__4"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2488:1: rule__RepositoryComponent_Impl__Group_5__4__Impl : ( '}' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_5__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2538:1: rule__Interface__Group__4__Impl : ( ( rule__Interface__Group_4__0 )? ) ;
+    public final void rule__Interface__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2492:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2493:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2542:1: ( ( ( rule__Interface__Group_4__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2543:1: ( ( rule__Interface__Group_4__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2493:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2494:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2543:1: ( ( rule__Interface__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2544:1: ( rule__Interface__Group_4__0 )?
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_5_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__RepositoryComponent_Impl__Group_5__4__Impl5058); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_5_4()); 
+             before(grammarAccess.getInterfaceAccess().getGroup_4()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2545:1: ( rule__Interface__Group_4__0 )?
+            int alt17=2;
+            int LA17_0 = input.LA(1);
+
+            if ( ((LA17_0>=RULE_STRING && LA17_0<=RULE_ID)||LA17_0==11) ) {
+                alt17=1;
+            }
+            switch (alt17) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2545:2: rule__Interface__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__0_in_rule__Interface__Group__4__Impl5155);
+                    rule__Interface__Group_4__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getInterfaceAccess().getGroup_4()); 
 
             }
 
@@ -6759,26 +6871,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__4__Impl"
+    // $ANTLR end "rule__Interface__Group__4__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2517:1: rule__RepositoryComponent_Impl__Group_5_3__0 : rule__RepositoryComponent_Impl__Group_5_3__0__Impl rule__RepositoryComponent_Impl__Group_5_3__1 ;
-    public final void rule__RepositoryComponent_Impl__Group_5_3__0() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__5"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2555:1: rule__Interface__Group__5 : rule__Interface__Group__5__Impl ;
+    public final void rule__Interface__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2521:1: ( rule__RepositoryComponent_Impl__Group_5_3__0__Impl rule__RepositoryComponent_Impl__Group_5_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2522:2: rule__RepositoryComponent_Impl__Group_5_3__0__Impl rule__RepositoryComponent_Impl__Group_5_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2559:1: ( rule__Interface__Group__5__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2560:2: rule__Interface__Group__5__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_5_3__05099);
-            rule__RepositoryComponent_Impl__Group_5_3__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__1_in_rule__RepositoryComponent_Impl__Group_5_3__05102);
-            rule__RepositoryComponent_Impl__Group_5_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group__5__Impl_in_rule__Interface__Group__55186);
+            rule__Interface__Group__5__Impl();
 
             state._fsp--;
 
@@ -6797,25 +6904,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5_3__0"
+    // $ANTLR end "rule__Interface__Group__5"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2529:1: rule__RepositoryComponent_Impl__Group_5_3__0__Impl : ( ',' ) ;
-    public final void rule__RepositoryComponent_Impl__Group_5_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group__5__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2566:1: rule__Interface__Group__5__Impl : ( '}' ) ;
+    public final void rule__Interface__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2533:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2534:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2570:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2571:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2534:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2535:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2571:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2572:1: '}'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__RepositoryComponent_Impl__Group_5_3__0__Impl5130); 
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0()); 
+             before(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__Interface__Group__5__Impl5214); 
+             after(grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5()); 
 
             }
 
@@ -6834,21 +6941,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5_3__0__Impl"
+    // $ANTLR end "rule__Interface__Group__5__Impl"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2548:1: rule__RepositoryComponent_Impl__Group_5_3__1 : rule__RepositoryComponent_Impl__Group_5_3__1__Impl ;
-    public final void rule__RepositoryComponent_Impl__Group_5_3__1() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2597:1: rule__Interface__Group_3__0 : rule__Interface__Group_3__0__Impl rule__Interface__Group_3__1 ;
+    public final void rule__Interface__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2552:1: ( rule__RepositoryComponent_Impl__Group_5_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2553:2: rule__RepositoryComponent_Impl__Group_5_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2601:1: ( rule__Interface__Group_3__0__Impl rule__Interface__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2602:2: rule__Interface__Group_3__0__Impl rule__Interface__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_5_3__15161);
-            rule__RepositoryComponent_Impl__Group_5_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__0__Impl_in_rule__Interface__Group_3__05257);
+            rule__Interface__Group_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__1_in_rule__Interface__Group_3__05260);
+            rule__Interface__Group_3__1();
 
             state._fsp--;
 
@@ -6867,35 +6979,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5_3__1"
+    // $ANTLR end "rule__Interface__Group_3__0"
 
 
-    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2559:1: rule__RepositoryComponent_Impl__Group_5_3__1__Impl : ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 ) ) ;
-    public final void rule__RepositoryComponent_Impl__Group_5_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2609:1: rule__Interface__Group_3__0__Impl : ( 'parentInterfaces' ) ;
+    public final void rule__Interface__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2563:1: ( ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2564:1: ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2613:1: ( ( 'parentInterfaces' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2614:1: ( 'parentInterfaces' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2564:1: ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2565:1: ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2614:1: ( 'parentInterfaces' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2615:1: 'parentInterfaces'
             {
-             before(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_5_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2566:1: ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2566:2: rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1_in_rule__RepositoryComponent_Impl__Group_5_3__1__Impl5188);
-            rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_5_3_1()); 
+             before(grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0()); 
+            match(input,32,FollowSets000.FOLLOW_32_in_rule__Interface__Group_3__0__Impl5288); 
+             after(grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0()); 
 
             }
 
@@ -6914,26 +7016,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5_3__1__Impl"
+    // $ANTLR end "rule__Interface__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2580:1: rule__CollectionDataType__Group__0 : rule__CollectionDataType__Group__0__Impl rule__CollectionDataType__Group__1 ;
-    public final void rule__CollectionDataType__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2628:1: rule__Interface__Group_3__1 : rule__Interface__Group_3__1__Impl rule__Interface__Group_3__2 ;
+    public final void rule__Interface__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2584:1: ( rule__CollectionDataType__Group__0__Impl rule__CollectionDataType__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2585:2: rule__CollectionDataType__Group__0__Impl rule__CollectionDataType__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2632:1: ( rule__Interface__Group_3__1__Impl rule__Interface__Group_3__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2633:2: rule__Interface__Group_3__1__Impl rule__Interface__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__0__Impl_in_rule__CollectionDataType__Group__05222);
-            rule__CollectionDataType__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__1__Impl_in_rule__Interface__Group_3__15319);
+            rule__Interface__Group_3__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__1_in_rule__CollectionDataType__Group__05225);
-            rule__CollectionDataType__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__2_in_rule__Interface__Group_3__15322);
+            rule__Interface__Group_3__2();
 
             state._fsp--;
 
@@ -6952,25 +7054,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__0"
+    // $ANTLR end "rule__Interface__Group_3__1"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2592:1: rule__CollectionDataType__Group__0__Impl : ( 'CollectionDataType' ) ;
-    public final void rule__CollectionDataType__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2640:1: rule__Interface__Group_3__1__Impl : ( '(' ) ;
+    public final void rule__Interface__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2596:1: ( ( 'CollectionDataType' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2597:1: ( 'CollectionDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2644:1: ( ( '(' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2645:1: ( '(' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2597:1: ( 'CollectionDataType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2598:1: 'CollectionDataType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2645:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2646:1: '('
             {
-             before(grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0()); 
-            match(input,32,FollowSets000.FOLLOW_32_in_rule__CollectionDataType__Group__0__Impl5253); 
-             after(grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0()); 
+             before(grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1()); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__Interface__Group_3__1__Impl5350); 
+             after(grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1()); 
 
             }
 
@@ -6989,26 +7091,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__0__Impl"
+    // $ANTLR end "rule__Interface__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2611:1: rule__CollectionDataType__Group__1 : rule__CollectionDataType__Group__1__Impl rule__CollectionDataType__Group__2 ;
-    public final void rule__CollectionDataType__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2659:1: rule__Interface__Group_3__2 : rule__Interface__Group_3__2__Impl rule__Interface__Group_3__3 ;
+    public final void rule__Interface__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2615:1: ( rule__CollectionDataType__Group__1__Impl rule__CollectionDataType__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2616:2: rule__CollectionDataType__Group__1__Impl rule__CollectionDataType__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2663:1: ( rule__Interface__Group_3__2__Impl rule__Interface__Group_3__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2664:2: rule__Interface__Group_3__2__Impl rule__Interface__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__1__Impl_in_rule__CollectionDataType__Group__15284);
-            rule__CollectionDataType__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__2__Impl_in_rule__Interface__Group_3__25381);
+            rule__Interface__Group_3__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__2_in_rule__CollectionDataType__Group__15287);
-            rule__CollectionDataType__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__3_in_rule__Interface__Group_3__25384);
+            rule__Interface__Group_3__3();
 
             state._fsp--;
 
@@ -7027,35 +7129,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__1"
+    // $ANTLR end "rule__Interface__Group_3__2"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2623:1: rule__CollectionDataType__Group__1__Impl : ( ( rule__CollectionDataType__NameAssignment_1 ) ) ;
-    public final void rule__CollectionDataType__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2671:1: rule__Interface__Group_3__2__Impl : ( ( rule__Interface__ParentInterfacesAssignment_3_2 ) ) ;
+    public final void rule__Interface__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2627:1: ( ( ( rule__CollectionDataType__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2628:1: ( ( rule__CollectionDataType__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2675:1: ( ( ( rule__Interface__ParentInterfacesAssignment_3_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2676:1: ( ( rule__Interface__ParentInterfacesAssignment_3_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2628:1: ( ( rule__CollectionDataType__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2629:1: ( rule__CollectionDataType__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2676:1: ( ( rule__Interface__ParentInterfacesAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2677:1: ( rule__Interface__ParentInterfacesAssignment_3_2 )
             {
-             before(grammarAccess.getCollectionDataTypeAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2630:1: ( rule__CollectionDataType__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2630:2: rule__CollectionDataType__NameAssignment_1
+             before(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2678:1: ( rule__Interface__ParentInterfacesAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2678:2: rule__Interface__ParentInterfacesAssignment_3_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__NameAssignment_1_in_rule__CollectionDataType__Group__1__Impl5314);
-            rule__CollectionDataType__NameAssignment_1();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__ParentInterfacesAssignment_3_2_in_rule__Interface__Group_3__2__Impl5411);
+            rule__Interface__ParentInterfacesAssignment_3_2();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getCollectionDataTypeAccess().getNameAssignment_1()); 
+             after(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_2()); 
 
             }
 
@@ -7074,26 +7176,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__1__Impl"
+    // $ANTLR end "rule__Interface__Group_3__2__Impl"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2640:1: rule__CollectionDataType__Group__2 : rule__CollectionDataType__Group__2__Impl rule__CollectionDataType__Group__3 ;
-    public final void rule__CollectionDataType__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2688:1: rule__Interface__Group_3__3 : rule__Interface__Group_3__3__Impl rule__Interface__Group_3__4 ;
+    public final void rule__Interface__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2644:1: ( rule__CollectionDataType__Group__2__Impl rule__CollectionDataType__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2645:2: rule__CollectionDataType__Group__2__Impl rule__CollectionDataType__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2692:1: ( rule__Interface__Group_3__3__Impl rule__Interface__Group_3__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2693:2: rule__Interface__Group_3__3__Impl rule__Interface__Group_3__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__2__Impl_in_rule__CollectionDataType__Group__25344);
-            rule__CollectionDataType__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__3__Impl_in_rule__Interface__Group_3__35441);
+            rule__Interface__Group_3__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__3_in_rule__CollectionDataType__Group__25347);
-            rule__CollectionDataType__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__4_in_rule__Interface__Group_3__35444);
+            rule__Interface__Group_3__4();
 
             state._fsp--;
 
@@ -7112,25 +7214,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__2"
+    // $ANTLR end "rule__Interface__Group_3__3"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2652:1: rule__CollectionDataType__Group__2__Impl : ( '{' ) ;
-    public final void rule__CollectionDataType__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2700:1: rule__Interface__Group_3__3__Impl : ( ( rule__Interface__Group_3_3__0 )* ) ;
+    public final void rule__Interface__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2656:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2657:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2704:1: ( ( ( rule__Interface__Group_3_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2705:1: ( ( rule__Interface__Group_3_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2657:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2658:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2705:1: ( ( rule__Interface__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2706:1: ( rule__Interface__Group_3_3__0 )*
             {
-             before(grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__CollectionDataType__Group__2__Impl5375); 
-             after(grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getInterfaceAccess().getGroup_3_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2707:1: ( rule__Interface__Group_3_3__0 )*
+            loop18:
+            do {
+                int alt18=2;
+                int LA18_0 = input.LA(1);
+
+                if ( (LA18_0==23) ) {
+                    alt18=1;
+                }
+
+
+                switch (alt18) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2707:2: rule__Interface__Group_3_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3_3__0_in_rule__Interface__Group_3__3__Impl5471);
+            	    rule__Interface__Group_3_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop18;
+                }
+            } while (true);
+
+             after(grammarAccess.getInterfaceAccess().getGroup_3_3()); 
 
             }
 
@@ -7149,26 +7279,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__2__Impl"
+    // $ANTLR end "rule__Interface__Group_3__3__Impl"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2671:1: rule__CollectionDataType__Group__3 : rule__CollectionDataType__Group__3__Impl rule__CollectionDataType__Group__4 ;
-    public final void rule__CollectionDataType__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2717:1: rule__Interface__Group_3__4 : rule__Interface__Group_3__4__Impl ;
+    public final void rule__Interface__Group_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2675:1: ( rule__CollectionDataType__Group__3__Impl rule__CollectionDataType__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2676:2: rule__CollectionDataType__Group__3__Impl rule__CollectionDataType__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2721:1: ( rule__Interface__Group_3__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2722:2: rule__Interface__Group_3__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__3__Impl_in_rule__CollectionDataType__Group__35406);
-            rule__CollectionDataType__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__4_in_rule__CollectionDataType__Group__35409);
-            rule__CollectionDataType__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3__4__Impl_in_rule__Interface__Group_3__45502);
+            rule__Interface__Group_3__4__Impl();
 
             state._fsp--;
 
@@ -7187,25 +7312,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__3"
+    // $ANTLR end "rule__Interface__Group_3__4"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2683:1: rule__CollectionDataType__Group__3__Impl : ( 'innerType' ) ;
-    public final void rule__CollectionDataType__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2728:1: rule__Interface__Group_3__4__Impl : ( ')' ) ;
+    public final void rule__Interface__Group_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2687:1: ( ( 'innerType' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2688:1: ( 'innerType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2732:1: ( ( ')' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2733:1: ( ')' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2688:1: ( 'innerType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2689:1: 'innerType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2733:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2734:1: ')'
             {
-             before(grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_3()); 
-            match(input,33,FollowSets000.FOLLOW_33_in_rule__CollectionDataType__Group__3__Impl5437); 
-             after(grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_3()); 
+             before(grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4()); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__Interface__Group_3__4__Impl5530); 
+             after(grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4()); 
 
             }
 
@@ -7224,26 +7349,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__3__Impl"
+    // $ANTLR end "rule__Interface__Group_3__4__Impl"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2702:1: rule__CollectionDataType__Group__4 : rule__CollectionDataType__Group__4__Impl rule__CollectionDataType__Group__5 ;
-    public final void rule__CollectionDataType__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2757:1: rule__Interface__Group_3_3__0 : rule__Interface__Group_3_3__0__Impl rule__Interface__Group_3_3__1 ;
+    public final void rule__Interface__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2706:1: ( rule__CollectionDataType__Group__4__Impl rule__CollectionDataType__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2707:2: rule__CollectionDataType__Group__4__Impl rule__CollectionDataType__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2761:1: ( rule__Interface__Group_3_3__0__Impl rule__Interface__Group_3_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2762:2: rule__Interface__Group_3_3__0__Impl rule__Interface__Group_3_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__4__Impl_in_rule__CollectionDataType__Group__45468);
-            rule__CollectionDataType__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3_3__0__Impl_in_rule__Interface__Group_3_3__05571);
+            rule__Interface__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__5_in_rule__CollectionDataType__Group__45471);
-            rule__CollectionDataType__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3_3__1_in_rule__Interface__Group_3_3__05574);
+            rule__Interface__Group_3_3__1();
 
             state._fsp--;
 
@@ -7262,35 +7387,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__4"
+    // $ANTLR end "rule__Interface__Group_3_3__0"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2714:1: rule__CollectionDataType__Group__4__Impl : ( ( rule__CollectionDataType__InnerTypeAssignment_4 ) ) ;
-    public final void rule__CollectionDataType__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2769:1: rule__Interface__Group_3_3__0__Impl : ( ',' ) ;
+    public final void rule__Interface__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2718:1: ( ( ( rule__CollectionDataType__InnerTypeAssignment_4 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2719:1: ( ( rule__CollectionDataType__InnerTypeAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2773:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2774:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2719:1: ( ( rule__CollectionDataType__InnerTypeAssignment_4 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2720:1: ( rule__CollectionDataType__InnerTypeAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2774:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2775:1: ','
             {
-             before(grammarAccess.getCollectionDataTypeAccess().getInnerTypeAssignment_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2721:1: ( rule__CollectionDataType__InnerTypeAssignment_4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2721:2: rule__CollectionDataType__InnerTypeAssignment_4
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__InnerTypeAssignment_4_in_rule__CollectionDataType__Group__4__Impl5498);
-            rule__CollectionDataType__InnerTypeAssignment_4();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCollectionDataTypeAccess().getInnerTypeAssignment_4()); 
+             before(grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__Interface__Group_3_3__0__Impl5602); 
+             after(grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0()); 
 
             }
 
@@ -7309,21 +7424,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__4__Impl"
+    // $ANTLR end "rule__Interface__Group_3_3__0__Impl"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2731:1: rule__CollectionDataType__Group__5 : rule__CollectionDataType__Group__5__Impl ;
-    public final void rule__CollectionDataType__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2788:1: rule__Interface__Group_3_3__1 : rule__Interface__Group_3_3__1__Impl ;
+    public final void rule__Interface__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2735:1: ( rule__CollectionDataType__Group__5__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2736:2: rule__CollectionDataType__Group__5__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2792:1: ( rule__Interface__Group_3_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2793:2: rule__Interface__Group_3_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__5__Impl_in_rule__CollectionDataType__Group__55528);
-            rule__CollectionDataType__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_3_3__1__Impl_in_rule__Interface__Group_3_3__15633);
+            rule__Interface__Group_3_3__1__Impl();
 
             state._fsp--;
 
@@ -7342,25 +7457,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__5"
+    // $ANTLR end "rule__Interface__Group_3_3__1"
 
 
-    // $ANTLR start "rule__CollectionDataType__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2742:1: rule__CollectionDataType__Group__5__Impl : ( '}' ) ;
-    public final void rule__CollectionDataType__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_3_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2799:1: rule__Interface__Group_3_3__1__Impl : ( ( rule__Interface__ParentInterfacesAssignment_3_3_1 ) ) ;
+    public final void rule__Interface__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2746:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2747:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2803:1: ( ( ( rule__Interface__ParentInterfacesAssignment_3_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2804:1: ( ( rule__Interface__ParentInterfacesAssignment_3_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2747:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2748:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2804:1: ( ( rule__Interface__ParentInterfacesAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2805:1: ( rule__Interface__ParentInterfacesAssignment_3_3_1 )
             {
-             before(grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__CollectionDataType__Group__5__Impl5556); 
-             after(grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_5()); 
+             before(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2806:1: ( rule__Interface__ParentInterfacesAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2806:2: rule__Interface__ParentInterfacesAssignment_3_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__ParentInterfacesAssignment_3_3_1_in_rule__Interface__Group_3_3__1__Impl5660);
+            rule__Interface__ParentInterfacesAssignment_3_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_3_3_1()); 
 
             }
 
@@ -7379,26 +7504,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CollectionDataType__Group__5__Impl"
+    // $ANTLR end "rule__Interface__Group_3_3__1__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2773:1: rule__CompositeDataType__Group__0 : rule__CompositeDataType__Group__0__Impl rule__CompositeDataType__Group__1 ;
-    public final void rule__CompositeDataType__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_4__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2820:1: rule__Interface__Group_4__0 : rule__Interface__Group_4__0__Impl rule__Interface__Group_4__1 ;
+    public final void rule__Interface__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2777:1: ( rule__CompositeDataType__Group__0__Impl rule__CompositeDataType__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2778:2: rule__CompositeDataType__Group__0__Impl rule__CompositeDataType__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2824:1: ( rule__Interface__Group_4__0__Impl rule__Interface__Group_4__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2825:2: rule__Interface__Group_4__0__Impl rule__Interface__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__0__Impl_in_rule__CompositeDataType__Group__05599);
-            rule__CompositeDataType__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__0__Impl_in_rule__Interface__Group_4__05694);
+            rule__Interface__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__1_in_rule__CompositeDataType__Group__05602);
-            rule__CompositeDataType__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__1_in_rule__Interface__Group_4__05697);
+            rule__Interface__Group_4__1();
 
             state._fsp--;
 
@@ -7417,25 +7542,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__0"
+    // $ANTLR end "rule__Interface__Group_4__0"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2785:1: rule__CompositeDataType__Group__0__Impl : ( 'CompositeDataType' ) ;
-    public final void rule__CompositeDataType__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_4__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2832:1: rule__Interface__Group_4__0__Impl : ( ( rule__Interface__SignaturesAssignment_4_0 ) ) ;
+    public final void rule__Interface__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2789:1: ( ( 'CompositeDataType' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2790:1: ( 'CompositeDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2836:1: ( ( ( rule__Interface__SignaturesAssignment_4_0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2837:1: ( ( rule__Interface__SignaturesAssignment_4_0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2790:1: ( 'CompositeDataType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2791:1: 'CompositeDataType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2837:1: ( ( rule__Interface__SignaturesAssignment_4_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2838:1: ( rule__Interface__SignaturesAssignment_4_0 )
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0()); 
-            match(input,34,FollowSets000.FOLLOW_34_in_rule__CompositeDataType__Group__0__Impl5630); 
-             after(grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0()); 
+             before(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_0()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2839:1: ( rule__Interface__SignaturesAssignment_4_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2839:2: rule__Interface__SignaturesAssignment_4_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__SignaturesAssignment_4_0_in_rule__Interface__Group_4__0__Impl5724);
+            rule__Interface__SignaturesAssignment_4_0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_0()); 
 
             }
 
@@ -7454,26 +7589,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__0__Impl"
+    // $ANTLR end "rule__Interface__Group_4__0__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2804:1: rule__CompositeDataType__Group__1 : rule__CompositeDataType__Group__1__Impl rule__CompositeDataType__Group__2 ;
-    public final void rule__CompositeDataType__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_4__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2849:1: rule__Interface__Group_4__1 : rule__Interface__Group_4__1__Impl ;
+    public final void rule__Interface__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2808:1: ( rule__CompositeDataType__Group__1__Impl rule__CompositeDataType__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2809:2: rule__CompositeDataType__Group__1__Impl rule__CompositeDataType__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2853:1: ( rule__Interface__Group_4__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2854:2: rule__Interface__Group_4__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__1__Impl_in_rule__CompositeDataType__Group__15661);
-            rule__CompositeDataType__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__2_in_rule__CompositeDataType__Group__15664);
-            rule__CompositeDataType__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4__1__Impl_in_rule__Interface__Group_4__15754);
+            rule__Interface__Group_4__1__Impl();
 
             state._fsp--;
 
@@ -7492,35 +7622,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__1"
+    // $ANTLR end "rule__Interface__Group_4__1"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2816:1: rule__CompositeDataType__Group__1__Impl : ( ( rule__CompositeDataType__NameAssignment_1 ) ) ;
-    public final void rule__CompositeDataType__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_4__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2860:1: rule__Interface__Group_4__1__Impl : ( ( rule__Interface__Group_4_1__0 )* ) ;
+    public final void rule__Interface__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2820:1: ( ( ( rule__CompositeDataType__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2821:1: ( ( rule__CompositeDataType__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2864:1: ( ( ( rule__Interface__Group_4_1__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2865:1: ( ( rule__Interface__Group_4_1__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2821:1: ( ( rule__CompositeDataType__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2822:1: ( rule__CompositeDataType__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2865:1: ( ( rule__Interface__Group_4_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2866:1: ( rule__Interface__Group_4_1__0 )*
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2823:1: ( rule__CompositeDataType__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2823:2: rule__CompositeDataType__NameAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__NameAssignment_1_in_rule__CompositeDataType__Group__1__Impl5691);
-            rule__CompositeDataType__NameAssignment_1();
+             before(grammarAccess.getInterfaceAccess().getGroup_4_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2867:1: ( rule__Interface__Group_4_1__0 )*
+            loop19:
+            do {
+                int alt19=2;
+                int LA19_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA19_0==23) ) {
+                    alt19=1;
+                }
 
 
-            }
+                switch (alt19) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2867:2: rule__Interface__Group_4_1__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4_1__0_in_rule__Interface__Group_4__1__Impl5781);
+            	    rule__Interface__Group_4_1__0();
 
-             after(grammarAccess.getCompositeDataTypeAccess().getNameAssignment_1()); 
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop19;
+                }
+            } while (true);
+
+             after(grammarAccess.getInterfaceAccess().getGroup_4_1()); 
 
             }
 
@@ -7539,26 +7687,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__1__Impl"
+    // $ANTLR end "rule__Interface__Group_4__1__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2833:1: rule__CompositeDataType__Group__2 : rule__CompositeDataType__Group__2__Impl rule__CompositeDataType__Group__3 ;
-    public final void rule__CompositeDataType__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_4_1__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2881:1: rule__Interface__Group_4_1__0 : rule__Interface__Group_4_1__0__Impl rule__Interface__Group_4_1__1 ;
+    public final void rule__Interface__Group_4_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2837:1: ( rule__CompositeDataType__Group__2__Impl rule__CompositeDataType__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2838:2: rule__CompositeDataType__Group__2__Impl rule__CompositeDataType__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2885:1: ( rule__Interface__Group_4_1__0__Impl rule__Interface__Group_4_1__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2886:2: rule__Interface__Group_4_1__0__Impl rule__Interface__Group_4_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__2__Impl_in_rule__CompositeDataType__Group__25721);
-            rule__CompositeDataType__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4_1__0__Impl_in_rule__Interface__Group_4_1__05816);
+            rule__Interface__Group_4_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__3_in_rule__CompositeDataType__Group__25724);
-            rule__CompositeDataType__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4_1__1_in_rule__Interface__Group_4_1__05819);
+            rule__Interface__Group_4_1__1();
 
             state._fsp--;
 
@@ -7577,25 +7725,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__2"
+    // $ANTLR end "rule__Interface__Group_4_1__0"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2845:1: rule__CompositeDataType__Group__2__Impl : ( '{' ) ;
-    public final void rule__CompositeDataType__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_4_1__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2893:1: rule__Interface__Group_4_1__0__Impl : ( ',' ) ;
+    public final void rule__Interface__Group_4_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2849:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2850:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2897:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2898:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2850:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2851:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2898:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2899:1: ','
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__CompositeDataType__Group__2__Impl5752); 
-             after(grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getInterfaceAccess().getCommaKeyword_4_1_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__Interface__Group_4_1__0__Impl5847); 
+             after(grammarAccess.getInterfaceAccess().getCommaKeyword_4_1_0()); 
 
             }
 
@@ -7614,26 +7762,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__2__Impl"
+    // $ANTLR end "rule__Interface__Group_4_1__0__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2864:1: rule__CompositeDataType__Group__3 : rule__CompositeDataType__Group__3__Impl rule__CompositeDataType__Group__4 ;
-    public final void rule__CompositeDataType__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_4_1__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2912:1: rule__Interface__Group_4_1__1 : rule__Interface__Group_4_1__1__Impl ;
+    public final void rule__Interface__Group_4_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2868:1: ( rule__CompositeDataType__Group__3__Impl rule__CompositeDataType__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2869:2: rule__CompositeDataType__Group__3__Impl rule__CompositeDataType__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2916:1: ( rule__Interface__Group_4_1__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2917:2: rule__Interface__Group_4_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__3__Impl_in_rule__CompositeDataType__Group__35783);
-            rule__CompositeDataType__Group__3__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__4_in_rule__CompositeDataType__Group__35786);
-            rule__CompositeDataType__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__Group_4_1__1__Impl_in_rule__Interface__Group_4_1__15878);
+            rule__Interface__Group_4_1__1__Impl();
 
             state._fsp--;
 
@@ -7652,46 +7795,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__3"
+    // $ANTLR end "rule__Interface__Group_4_1__1"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2876:1: rule__CompositeDataType__Group__3__Impl : ( ( rule__CompositeDataType__Group_3__0 )? ) ;
-    public final void rule__CompositeDataType__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Interface__Group_4_1__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2923:1: rule__Interface__Group_4_1__1__Impl : ( ( rule__Interface__SignaturesAssignment_4_1_1 ) ) ;
+    public final void rule__Interface__Group_4_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2880:1: ( ( ( rule__CompositeDataType__Group_3__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2881:1: ( ( rule__CompositeDataType__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2927:1: ( ( ( rule__Interface__SignaturesAssignment_4_1_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2928:1: ( ( rule__Interface__SignaturesAssignment_4_1_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2881:1: ( ( rule__CompositeDataType__Group_3__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2882:1: ( rule__CompositeDataType__Group_3__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2928:1: ( ( rule__Interface__SignaturesAssignment_4_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2929:1: ( rule__Interface__SignaturesAssignment_4_1_1 )
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getGroup_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2883:1: ( rule__CompositeDataType__Group_3__0 )?
-            int alt18=2;
-            int LA18_0 = input.LA(1);
-
-            if ( (LA18_0==35) ) {
-                alt18=1;
-            }
-            switch (alt18) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2883:2: rule__CompositeDataType__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__0_in_rule__CompositeDataType__Group__3__Impl5813);
-                    rule__CompositeDataType__Group_3__0();
-
-                    state._fsp--;
+             before(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_1_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2930:1: ( rule__Interface__SignaturesAssignment_4_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2930:2: rule__Interface__SignaturesAssignment_4_1_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Interface__SignaturesAssignment_4_1_1_in_rule__Interface__Group_4_1__1__Impl5905);
+            rule__Interface__SignaturesAssignment_4_1_1();
 
+            state._fsp--;
 
-                    }
-                    break;
 
             }
 
-             after(grammarAccess.getCompositeDataTypeAccess().getGroup_3()); 
+             after(grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_1_1()); 
 
             }
 
@@ -7710,26 +7842,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__3__Impl"
+    // $ANTLR end "rule__Interface__Group_4_1__1__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2893:1: rule__CompositeDataType__Group__4 : rule__CompositeDataType__Group__4__Impl rule__CompositeDataType__Group__5 ;
-    public final void rule__CompositeDataType__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2944:1: rule__RepositoryComponent_Impl__Group__0 : rule__RepositoryComponent_Impl__Group__0__Impl rule__RepositoryComponent_Impl__Group__1 ;
+    public final void rule__RepositoryComponent_Impl__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2897:1: ( rule__CompositeDataType__Group__4__Impl rule__CompositeDataType__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2898:2: rule__CompositeDataType__Group__4__Impl rule__CompositeDataType__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2948:1: ( rule__RepositoryComponent_Impl__Group__0__Impl rule__RepositoryComponent_Impl__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2949:2: rule__RepositoryComponent_Impl__Group__0__Impl rule__RepositoryComponent_Impl__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__4__Impl_in_rule__CompositeDataType__Group__45844);
-            rule__CompositeDataType__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__0__Impl_in_rule__RepositoryComponent_Impl__Group__05939);
+            rule__RepositoryComponent_Impl__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__5_in_rule__CompositeDataType__Group__45847);
-            rule__CompositeDataType__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__1_in_rule__RepositoryComponent_Impl__Group__05942);
+            rule__RepositoryComponent_Impl__Group__1();
 
             state._fsp--;
 
@@ -7748,46 +7880,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__4"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__0"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2905:1: rule__CompositeDataType__Group__4__Impl : ( ( rule__CompositeDataType__Group_4__0 )? ) ;
-    public final void rule__CompositeDataType__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2956:1: rule__RepositoryComponent_Impl__Group__0__Impl : ( 'RepositoryComponent' ) ;
+    public final void rule__RepositoryComponent_Impl__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2909:1: ( ( ( rule__CompositeDataType__Group_4__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2910:1: ( ( rule__CompositeDataType__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2960:1: ( ( 'RepositoryComponent' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2961:1: ( 'RepositoryComponent' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2910:1: ( ( rule__CompositeDataType__Group_4__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2911:1: ( rule__CompositeDataType__Group_4__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2961:1: ( 'RepositoryComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2962:1: 'RepositoryComponent'
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getGroup_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2912:1: ( rule__CompositeDataType__Group_4__0 )?
-            int alt19=2;
-            int LA19_0 = input.LA(1);
-
-            if ( (LA19_0==36) ) {
-                alt19=1;
-            }
-            switch (alt19) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2912:2: rule__CompositeDataType__Group_4__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__0_in_rule__CompositeDataType__Group__4__Impl5874);
-                    rule__CompositeDataType__Group_4__0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getCompositeDataTypeAccess().getGroup_4()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0()); 
+            match(input,35,FollowSets000.FOLLOW_35_in_rule__RepositoryComponent_Impl__Group__0__Impl5970); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0()); 
 
             }
 
@@ -7806,21 +7917,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__4__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__0__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2922:1: rule__CompositeDataType__Group__5 : rule__CompositeDataType__Group__5__Impl ;
-    public final void rule__CompositeDataType__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2975:1: rule__RepositoryComponent_Impl__Group__1 : rule__RepositoryComponent_Impl__Group__1__Impl rule__RepositoryComponent_Impl__Group__2 ;
+    public final void rule__RepositoryComponent_Impl__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2926:1: ( rule__CompositeDataType__Group__5__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2927:2: rule__CompositeDataType__Group__5__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2979:1: ( rule__RepositoryComponent_Impl__Group__1__Impl rule__RepositoryComponent_Impl__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2980:2: rule__RepositoryComponent_Impl__Group__1__Impl rule__RepositoryComponent_Impl__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__5__Impl_in_rule__CompositeDataType__Group__55905);
-            rule__CompositeDataType__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__1__Impl_in_rule__RepositoryComponent_Impl__Group__16001);
+            rule__RepositoryComponent_Impl__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__2_in_rule__RepositoryComponent_Impl__Group__16004);
+            rule__RepositoryComponent_Impl__Group__2();
 
             state._fsp--;
 
@@ -7839,25 +7955,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__5"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__1"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2933:1: rule__CompositeDataType__Group__5__Impl : ( '}' ) ;
-    public final void rule__CompositeDataType__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2987:1: rule__RepositoryComponent_Impl__Group__1__Impl : ( ( rule__RepositoryComponent_Impl__NameAssignment_1 ) ) ;
+    public final void rule__RepositoryComponent_Impl__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2937:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2938:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2991:1: ( ( ( rule__RepositoryComponent_Impl__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2992:1: ( ( rule__RepositoryComponent_Impl__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2938:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2939:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2992:1: ( ( rule__RepositoryComponent_Impl__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2993:1: ( rule__RepositoryComponent_Impl__NameAssignment_1 )
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__CompositeDataType__Group__5__Impl5933); 
-             after(grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_5()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getNameAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2994:1: ( rule__RepositoryComponent_Impl__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2994:2: rule__RepositoryComponent_Impl__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__NameAssignment_1_in_rule__RepositoryComponent_Impl__Group__1__Impl6031);
+            rule__RepositoryComponent_Impl__NameAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getNameAssignment_1()); 
 
             }
 
@@ -7876,26 +8002,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group__5__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__1__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2964:1: rule__CompositeDataType__Group_3__0 : rule__CompositeDataType__Group_3__0__Impl rule__CompositeDataType__Group_3__1 ;
-    public final void rule__CompositeDataType__Group_3__0() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3004:1: rule__RepositoryComponent_Impl__Group__2 : rule__RepositoryComponent_Impl__Group__2__Impl rule__RepositoryComponent_Impl__Group__3 ;
+    public final void rule__RepositoryComponent_Impl__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2968:1: ( rule__CompositeDataType__Group_3__0__Impl rule__CompositeDataType__Group_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2969:2: rule__CompositeDataType__Group_3__0__Impl rule__CompositeDataType__Group_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3008:1: ( rule__RepositoryComponent_Impl__Group__2__Impl rule__RepositoryComponent_Impl__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3009:2: rule__RepositoryComponent_Impl__Group__2__Impl rule__RepositoryComponent_Impl__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__0__Impl_in_rule__CompositeDataType__Group_3__05976);
-            rule__CompositeDataType__Group_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__2__Impl_in_rule__RepositoryComponent_Impl__Group__26061);
+            rule__RepositoryComponent_Impl__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__1_in_rule__CompositeDataType__Group_3__05979);
-            rule__CompositeDataType__Group_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__3_in_rule__RepositoryComponent_Impl__Group__26064);
+            rule__RepositoryComponent_Impl__Group__3();
 
             state._fsp--;
 
@@ -7914,25 +8040,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__0"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__2"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2976:1: rule__CompositeDataType__Group_3__0__Impl : ( 'parentTypes' ) ;
-    public final void rule__CompositeDataType__Group_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3016:1: rule__RepositoryComponent_Impl__Group__2__Impl : ( '{' ) ;
+    public final void rule__RepositoryComponent_Impl__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2980:1: ( ( 'parentTypes' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2981:1: ( 'parentTypes' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3020:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3021:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2981:1: ( 'parentTypes' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2982:1: 'parentTypes'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3021:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3022:1: '{'
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_3_0()); 
-            match(input,35,FollowSets000.FOLLOW_35_in_rule__CompositeDataType__Group_3__0__Impl6007); 
-             after(grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_3_0()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__RepositoryComponent_Impl__Group__2__Impl6092); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
 
@@ -7951,26 +8077,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__0__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__2__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2995:1: rule__CompositeDataType__Group_3__1 : rule__CompositeDataType__Group_3__1__Impl rule__CompositeDataType__Group_3__2 ;
-    public final void rule__CompositeDataType__Group_3__1() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3035:1: rule__RepositoryComponent_Impl__Group__3 : rule__RepositoryComponent_Impl__Group__3__Impl rule__RepositoryComponent_Impl__Group__4 ;
+    public final void rule__RepositoryComponent_Impl__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:2999:1: ( rule__CompositeDataType__Group_3__1__Impl rule__CompositeDataType__Group_3__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3000:2: rule__CompositeDataType__Group_3__1__Impl rule__CompositeDataType__Group_3__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3039:1: ( rule__RepositoryComponent_Impl__Group__3__Impl rule__RepositoryComponent_Impl__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3040:2: rule__RepositoryComponent_Impl__Group__3__Impl rule__RepositoryComponent_Impl__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__1__Impl_in_rule__CompositeDataType__Group_3__16038);
-            rule__CompositeDataType__Group_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__3__Impl_in_rule__RepositoryComponent_Impl__Group__36123);
+            rule__RepositoryComponent_Impl__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__2_in_rule__CompositeDataType__Group_3__16041);
-            rule__CompositeDataType__Group_3__2();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__4_in_rule__RepositoryComponent_Impl__Group__36126);
+            rule__RepositoryComponent_Impl__Group__4();
 
             state._fsp--;
 
@@ -7989,25 +8115,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__1"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__3"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3007:1: rule__CompositeDataType__Group_3__1__Impl : ( '(' ) ;
-    public final void rule__CompositeDataType__Group_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3047:1: rule__RepositoryComponent_Impl__Group__3__Impl : ( ( rule__RepositoryComponent_Impl__Group_3__0 )? ) ;
+    public final void rule__RepositoryComponent_Impl__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3011:1: ( ( '(' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3012:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3051:1: ( ( ( rule__RepositoryComponent_Impl__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3052:1: ( ( rule__RepositoryComponent_Impl__Group_3__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3012:1: ( '(' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3013:1: '('
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3052:1: ( ( rule__RepositoryComponent_Impl__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3053:1: ( rule__RepositoryComponent_Impl__Group_3__0 )?
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_3_1()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__CompositeDataType__Group_3__1__Impl6069); 
-             after(grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_3_1()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3054:1: ( rule__RepositoryComponent_Impl__Group_3__0 )?
+            int alt20=2;
+            int LA20_0 = input.LA(1);
+
+            if ( (LA20_0==36) ) {
+                alt20=1;
+            }
+            switch (alt20) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3054:2: rule__RepositoryComponent_Impl__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__0_in_rule__RepositoryComponent_Impl__Group__3__Impl6153);
+                    rule__RepositoryComponent_Impl__Group_3__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3()); 
 
             }
 
@@ -8026,26 +8173,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__1__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__3__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3026:1: rule__CompositeDataType__Group_3__2 : rule__CompositeDataType__Group_3__2__Impl rule__CompositeDataType__Group_3__3 ;
-    public final void rule__CompositeDataType__Group_3__2() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3064:1: rule__RepositoryComponent_Impl__Group__4 : rule__RepositoryComponent_Impl__Group__4__Impl rule__RepositoryComponent_Impl__Group__5 ;
+    public final void rule__RepositoryComponent_Impl__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3030:1: ( rule__CompositeDataType__Group_3__2__Impl rule__CompositeDataType__Group_3__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3031:2: rule__CompositeDataType__Group_3__2__Impl rule__CompositeDataType__Group_3__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3068:1: ( rule__RepositoryComponent_Impl__Group__4__Impl rule__RepositoryComponent_Impl__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3069:2: rule__RepositoryComponent_Impl__Group__4__Impl rule__RepositoryComponent_Impl__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__2__Impl_in_rule__CompositeDataType__Group_3__26100);
-            rule__CompositeDataType__Group_3__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__4__Impl_in_rule__RepositoryComponent_Impl__Group__46184);
+            rule__RepositoryComponent_Impl__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__3_in_rule__CompositeDataType__Group_3__26103);
-            rule__CompositeDataType__Group_3__3();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__5_in_rule__RepositoryComponent_Impl__Group__46187);
+            rule__RepositoryComponent_Impl__Group__5();
 
             state._fsp--;
 
@@ -8064,35 +8211,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__2"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__4"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3038:1: rule__CompositeDataType__Group_3__2__Impl : ( ( rule__CompositeDataType__ParentTypesAssignment_3_2 ) ) ;
-    public final void rule__CompositeDataType__Group_3__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3076:1: rule__RepositoryComponent_Impl__Group__4__Impl : ( ( rule__RepositoryComponent_Impl__Group_4__0 )? ) ;
+    public final void rule__RepositoryComponent_Impl__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3042:1: ( ( ( rule__CompositeDataType__ParentTypesAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3043:1: ( ( rule__CompositeDataType__ParentTypesAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3080:1: ( ( ( rule__RepositoryComponent_Impl__Group_4__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3081:1: ( ( rule__RepositoryComponent_Impl__Group_4__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3043:1: ( ( rule__CompositeDataType__ParentTypesAssignment_3_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3044:1: ( rule__CompositeDataType__ParentTypesAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3081:1: ( ( rule__RepositoryComponent_Impl__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3082:1: ( rule__RepositoryComponent_Impl__Group_4__0 )?
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_3_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3045:1: ( rule__CompositeDataType__ParentTypesAssignment_3_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3045:2: rule__CompositeDataType__ParentTypesAssignment_3_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__ParentTypesAssignment_3_2_in_rule__CompositeDataType__Group_3__2__Impl6130);
-            rule__CompositeDataType__ParentTypesAssignment_3_2();
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_4()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3083:1: ( rule__RepositoryComponent_Impl__Group_4__0 )?
+            int alt21=2;
+            int LA21_0 = input.LA(1);
+
+            if ( (LA21_0==37) ) {
+                alt21=1;
+            }
+            switch (alt21) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3083:2: rule__RepositoryComponent_Impl__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__0_in_rule__RepositoryComponent_Impl__Group__4__Impl6214);
+                    rule__RepositoryComponent_Impl__Group_4__0();
+
+                    state._fsp--;
 
-            state._fsp--;
 
+                    }
+                    break;
 
             }
 
-             after(grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_3_2()); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_4()); 
 
             }
 
@@ -8111,26 +8269,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__2__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__4__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3055:1: rule__CompositeDataType__Group_3__3 : rule__CompositeDataType__Group_3__3__Impl rule__CompositeDataType__Group_3__4 ;
-    public final void rule__CompositeDataType__Group_3__3() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__5"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3093:1: rule__RepositoryComponent_Impl__Group__5 : rule__RepositoryComponent_Impl__Group__5__Impl rule__RepositoryComponent_Impl__Group__6 ;
+    public final void rule__RepositoryComponent_Impl__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3059:1: ( rule__CompositeDataType__Group_3__3__Impl rule__CompositeDataType__Group_3__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3060:2: rule__CompositeDataType__Group_3__3__Impl rule__CompositeDataType__Group_3__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3097:1: ( rule__RepositoryComponent_Impl__Group__5__Impl rule__RepositoryComponent_Impl__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3098:2: rule__RepositoryComponent_Impl__Group__5__Impl rule__RepositoryComponent_Impl__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__3__Impl_in_rule__CompositeDataType__Group_3__36160);
-            rule__CompositeDataType__Group_3__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__5__Impl_in_rule__RepositoryComponent_Impl__Group__56245);
+            rule__RepositoryComponent_Impl__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__4_in_rule__CompositeDataType__Group_3__36163);
-            rule__CompositeDataType__Group_3__4();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__6_in_rule__RepositoryComponent_Impl__Group__56248);
+            rule__RepositoryComponent_Impl__Group__6();
 
             state._fsp--;
 
@@ -8149,53 +8307,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__3"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__5"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3067:1: rule__CompositeDataType__Group_3__3__Impl : ( ( rule__CompositeDataType__Group_3_3__0 )* ) ;
-    public final void rule__CompositeDataType__Group_3__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__5__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3105:1: rule__RepositoryComponent_Impl__Group__5__Impl : ( ( rule__RepositoryComponent_Impl__Group_5__0 )? ) ;
+    public final void rule__RepositoryComponent_Impl__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3071:1: ( ( ( rule__CompositeDataType__Group_3_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3072:1: ( ( rule__CompositeDataType__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3109:1: ( ( ( rule__RepositoryComponent_Impl__Group_5__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3110:1: ( ( rule__RepositoryComponent_Impl__Group_5__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3072:1: ( ( rule__CompositeDataType__Group_3_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3073:1: ( rule__CompositeDataType__Group_3_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3110:1: ( ( rule__RepositoryComponent_Impl__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3111:1: ( rule__RepositoryComponent_Impl__Group_5__0 )?
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getGroup_3_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3074:1: ( rule__CompositeDataType__Group_3_3__0 )*
-            loop20:
-            do {
-                int alt20=2;
-                int LA20_0 = input.LA(1);
-
-                if ( (LA20_0==26) ) {
-                    alt20=1;
-                }
-
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3112:1: ( rule__RepositoryComponent_Impl__Group_5__0 )?
+            int alt22=2;
+            int LA22_0 = input.LA(1);
 
-                switch (alt20) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3074:2: rule__CompositeDataType__Group_3_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3_3__0_in_rule__CompositeDataType__Group_3__3__Impl6190);
-            	    rule__CompositeDataType__Group_3_3__0();
+            if ( (LA22_0==38) ) {
+                alt22=1;
+            }
+            switch (alt22) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3112:2: rule__RepositoryComponent_Impl__Group_5__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__0_in_rule__RepositoryComponent_Impl__Group__5__Impl6275);
+                    rule__RepositoryComponent_Impl__Group_5__0();
 
-            	    state._fsp--;
+                    state._fsp--;
 
 
-            	    }
-            	    break;
+                    }
+                    break;
 
-            	default :
-            	    break loop20;
-                }
-            } while (true);
+            }
 
-             after(grammarAccess.getCompositeDataTypeAccess().getGroup_3_3()); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5()); 
 
             }
 
@@ -8214,21 +8365,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__3__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__5__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3084:1: rule__CompositeDataType__Group_3__4 : rule__CompositeDataType__Group_3__4__Impl ;
-    public final void rule__CompositeDataType__Group_3__4() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__6"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3122:1: rule__RepositoryComponent_Impl__Group__6 : rule__RepositoryComponent_Impl__Group__6__Impl ;
+    public final void rule__RepositoryComponent_Impl__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3088:1: ( rule__CompositeDataType__Group_3__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3089:2: rule__CompositeDataType__Group_3__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3126:1: ( rule__RepositoryComponent_Impl__Group__6__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3127:2: rule__RepositoryComponent_Impl__Group__6__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__4__Impl_in_rule__CompositeDataType__Group_3__46221);
-            rule__CompositeDataType__Group_3__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group__6__Impl_in_rule__RepositoryComponent_Impl__Group__66306);
+            rule__RepositoryComponent_Impl__Group__6__Impl();
 
             state._fsp--;
 
@@ -8247,25 +8398,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__4"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__6"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3095:1: rule__CompositeDataType__Group_3__4__Impl : ( ')' ) ;
-    public final void rule__CompositeDataType__Group_3__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group__6__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3133:1: rule__RepositoryComponent_Impl__Group__6__Impl : ( '}' ) ;
+    public final void rule__RepositoryComponent_Impl__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3099:1: ( ( ')' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3100:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3137:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3138:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3100:1: ( ')' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3101:1: ')'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3138:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3139:1: '}'
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_3_4()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__CompositeDataType__Group_3__4__Impl6249); 
-             after(grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_3_4()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__RepositoryComponent_Impl__Group__6__Impl6334); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6()); 
 
             }
 
@@ -8284,26 +8435,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3__4__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group__6__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3124:1: rule__CompositeDataType__Group_3_3__0 : rule__CompositeDataType__Group_3_3__0__Impl rule__CompositeDataType__Group_3_3__1 ;
-    public final void rule__CompositeDataType__Group_3_3__0() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3166:1: rule__RepositoryComponent_Impl__Group_3__0 : rule__RepositoryComponent_Impl__Group_3__0__Impl rule__RepositoryComponent_Impl__Group_3__1 ;
+    public final void rule__RepositoryComponent_Impl__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3128:1: ( rule__CompositeDataType__Group_3_3__0__Impl rule__CompositeDataType__Group_3_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3129:2: rule__CompositeDataType__Group_3_3__0__Impl rule__CompositeDataType__Group_3_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3170:1: ( rule__RepositoryComponent_Impl__Group_3__0__Impl rule__RepositoryComponent_Impl__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3171:2: rule__RepositoryComponent_Impl__Group_3__0__Impl rule__RepositoryComponent_Impl__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3_3__0__Impl_in_rule__CompositeDataType__Group_3_3__06290);
-            rule__CompositeDataType__Group_3_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_3__06379);
+            rule__RepositoryComponent_Impl__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3_3__1_in_rule__CompositeDataType__Group_3_3__06293);
-            rule__CompositeDataType__Group_3_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__1_in_rule__RepositoryComponent_Impl__Group_3__06382);
+            rule__RepositoryComponent_Impl__Group_3__1();
 
             state._fsp--;
 
@@ -8322,25 +8473,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3_3__0"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__0"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3136:1: rule__CompositeDataType__Group_3_3__0__Impl : ( ',' ) ;
-    public final void rule__CompositeDataType__Group_3_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3178:1: rule__RepositoryComponent_Impl__Group_3__0__Impl : ( 'relationship' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3140:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3141:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3182:1: ( ( 'relationship' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3183:1: ( 'relationship' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3141:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3142:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3183:1: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3184:1: 'relationship'
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_3_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__CompositeDataType__Group_3_3__0__Impl6321); 
-             after(grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_3_3_0()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_3_0()); 
+            match(input,36,FollowSets000.FOLLOW_36_in_rule__RepositoryComponent_Impl__Group_3__0__Impl6410); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_3_0()); 
 
             }
 
@@ -8359,21 +8510,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3_3__0__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3155:1: rule__CompositeDataType__Group_3_3__1 : rule__CompositeDataType__Group_3_3__1__Impl ;
-    public final void rule__CompositeDataType__Group_3_3__1() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3197:1: rule__RepositoryComponent_Impl__Group_3__1 : rule__RepositoryComponent_Impl__Group_3__1__Impl rule__RepositoryComponent_Impl__Group_3__2 ;
+    public final void rule__RepositoryComponent_Impl__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3159:1: ( rule__CompositeDataType__Group_3_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3160:2: rule__CompositeDataType__Group_3_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3201:1: ( rule__RepositoryComponent_Impl__Group_3__1__Impl rule__RepositoryComponent_Impl__Group_3__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3202:2: rule__RepositoryComponent_Impl__Group_3__1__Impl rule__RepositoryComponent_Impl__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3_3__1__Impl_in_rule__CompositeDataType__Group_3_3__16352);
-            rule__CompositeDataType__Group_3_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_3__16441);
+            rule__RepositoryComponent_Impl__Group_3__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__2_in_rule__RepositoryComponent_Impl__Group_3__16444);
+            rule__RepositoryComponent_Impl__Group_3__2();
 
             state._fsp--;
 
@@ -8392,35 +8548,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3_3__1"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__1"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_3_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3166:1: rule__CompositeDataType__Group_3_3__1__Impl : ( ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 ) ) ;
-    public final void rule__CompositeDataType__Group_3_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3209:1: rule__RepositoryComponent_Impl__Group_3__1__Impl : ( '(' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3170:1: ( ( ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3171:1: ( ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 ) )
-            {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3171:1: ( ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3172:1: ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3213:1: ( ( '(' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3214:1: ( '(' )
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_3_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3173:1: ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3173:2: rule__CompositeDataType__ParentTypesAssignment_3_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3214:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3215:1: '('
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__ParentTypesAssignment_3_3_1_in_rule__CompositeDataType__Group_3_3__1__Impl6379);
-            rule__CompositeDataType__ParentTypesAssignment_3_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_3_3_1()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_3_1()); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__RepositoryComponent_Impl__Group_3__1__Impl6472); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_3_1()); 
 
             }
 
@@ -8439,26 +8585,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_3_3__1__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3187:1: rule__CompositeDataType__Group_4__0 : rule__CompositeDataType__Group_4__0__Impl rule__CompositeDataType__Group_4__1 ;
-    public final void rule__CompositeDataType__Group_4__0() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3228:1: rule__RepositoryComponent_Impl__Group_3__2 : rule__RepositoryComponent_Impl__Group_3__2__Impl rule__RepositoryComponent_Impl__Group_3__3 ;
+    public final void rule__RepositoryComponent_Impl__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3191:1: ( rule__CompositeDataType__Group_4__0__Impl rule__CompositeDataType__Group_4__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3192:2: rule__CompositeDataType__Group_4__0__Impl rule__CompositeDataType__Group_4__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3232:1: ( rule__RepositoryComponent_Impl__Group_3__2__Impl rule__RepositoryComponent_Impl__Group_3__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3233:2: rule__RepositoryComponent_Impl__Group_3__2__Impl rule__RepositoryComponent_Impl__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__0__Impl_in_rule__CompositeDataType__Group_4__06413);
-            rule__CompositeDataType__Group_4__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__2__Impl_in_rule__RepositoryComponent_Impl__Group_3__26503);
+            rule__RepositoryComponent_Impl__Group_3__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__1_in_rule__CompositeDataType__Group_4__06416);
-            rule__CompositeDataType__Group_4__1();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__3_in_rule__RepositoryComponent_Impl__Group_3__26506);
+            rule__RepositoryComponent_Impl__Group_3__3();
 
             state._fsp--;
 
@@ -8477,25 +8623,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__0"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__2"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3199:1: rule__CompositeDataType__Group_4__0__Impl : ( 'innerDeclarations' ) ;
-    public final void rule__CompositeDataType__Group_4__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3240:1: rule__RepositoryComponent_Impl__Group_3__2__Impl : ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 ) ) ;
+    public final void rule__RepositoryComponent_Impl__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3203:1: ( ( 'innerDeclarations' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3204:1: ( 'innerDeclarations' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3244:1: ( ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3245:1: ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3204:1: ( 'innerDeclarations' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3205:1: 'innerDeclarations'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3245:1: ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3246:1: ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 )
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_4_0()); 
-            match(input,36,FollowSets000.FOLLOW_36_in_rule__CompositeDataType__Group_4__0__Impl6444); 
-             after(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_4_0()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3247:1: ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3247:2: rule__RepositoryComponent_Impl__RelationshipAssignment_3_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__RelationshipAssignment_3_2_in_rule__RepositoryComponent_Impl__Group_3__2__Impl6533);
+            rule__RepositoryComponent_Impl__RelationshipAssignment_3_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_2()); 
 
             }
 
@@ -8514,26 +8670,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__0__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__2__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3218:1: rule__CompositeDataType__Group_4__1 : rule__CompositeDataType__Group_4__1__Impl rule__CompositeDataType__Group_4__2 ;
-    public final void rule__CompositeDataType__Group_4__1() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3257:1: rule__RepositoryComponent_Impl__Group_3__3 : rule__RepositoryComponent_Impl__Group_3__3__Impl rule__RepositoryComponent_Impl__Group_3__4 ;
+    public final void rule__RepositoryComponent_Impl__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3222:1: ( rule__CompositeDataType__Group_4__1__Impl rule__CompositeDataType__Group_4__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3223:2: rule__CompositeDataType__Group_4__1__Impl rule__CompositeDataType__Group_4__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3261:1: ( rule__RepositoryComponent_Impl__Group_3__3__Impl rule__RepositoryComponent_Impl__Group_3__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3262:2: rule__RepositoryComponent_Impl__Group_3__3__Impl rule__RepositoryComponent_Impl__Group_3__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__1__Impl_in_rule__CompositeDataType__Group_4__16475);
-            rule__CompositeDataType__Group_4__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__3__Impl_in_rule__RepositoryComponent_Impl__Group_3__36563);
+            rule__RepositoryComponent_Impl__Group_3__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__2_in_rule__CompositeDataType__Group_4__16478);
-            rule__CompositeDataType__Group_4__2();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__4_in_rule__RepositoryComponent_Impl__Group_3__36566);
+            rule__RepositoryComponent_Impl__Group_3__4();
 
             state._fsp--;
 
@@ -8552,25 +8708,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__1"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__3"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3230:1: rule__CompositeDataType__Group_4__1__Impl : ( '{' ) ;
-    public final void rule__CompositeDataType__Group_4__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3269:1: rule__RepositoryComponent_Impl__Group_3__3__Impl : ( ( rule__RepositoryComponent_Impl__Group_3_3__0 )* ) ;
+    public final void rule__RepositoryComponent_Impl__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3234:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3235:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3273:1: ( ( ( rule__RepositoryComponent_Impl__Group_3_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3274:1: ( ( rule__RepositoryComponent_Impl__Group_3_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3235:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3236:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3274:1: ( ( rule__RepositoryComponent_Impl__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3275:1: ( rule__RepositoryComponent_Impl__Group_3_3__0 )*
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_4_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__CompositeDataType__Group_4__1__Impl6506); 
-             after(grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_4_1()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3276:1: ( rule__RepositoryComponent_Impl__Group_3_3__0 )*
+            loop23:
+            do {
+                int alt23=2;
+                int LA23_0 = input.LA(1);
+
+                if ( (LA23_0==23) ) {
+                    alt23=1;
+                }
+
+
+                switch (alt23) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3276:2: rule__RepositoryComponent_Impl__Group_3_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__0_in_rule__RepositoryComponent_Impl__Group_3__3__Impl6593);
+            	    rule__RepositoryComponent_Impl__Group_3_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop23;
+                }
+            } while (true);
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_3_3()); 
 
             }
 
@@ -8589,26 +8773,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__1__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__3__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3249:1: rule__CompositeDataType__Group_4__2 : rule__CompositeDataType__Group_4__2__Impl rule__CompositeDataType__Group_4__3 ;
-    public final void rule__CompositeDataType__Group_4__2() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3286:1: rule__RepositoryComponent_Impl__Group_3__4 : rule__RepositoryComponent_Impl__Group_3__4__Impl ;
+    public final void rule__RepositoryComponent_Impl__Group_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3253:1: ( rule__CompositeDataType__Group_4__2__Impl rule__CompositeDataType__Group_4__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3254:2: rule__CompositeDataType__Group_4__2__Impl rule__CompositeDataType__Group_4__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3290:1: ( rule__RepositoryComponent_Impl__Group_3__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3291:2: rule__RepositoryComponent_Impl__Group_3__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__2__Impl_in_rule__CompositeDataType__Group_4__26537);
-            rule__CompositeDataType__Group_4__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__3_in_rule__CompositeDataType__Group_4__26540);
-            rule__CompositeDataType__Group_4__3();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3__4__Impl_in_rule__RepositoryComponent_Impl__Group_3__46624);
+            rule__RepositoryComponent_Impl__Group_3__4__Impl();
 
             state._fsp--;
 
@@ -8627,35 +8806,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__2"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__4"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3261:1: rule__CompositeDataType__Group_4__2__Impl : ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 ) ) ;
-    public final void rule__CompositeDataType__Group_4__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3297:1: rule__RepositoryComponent_Impl__Group_3__4__Impl : ( ')' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3265:1: ( ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3266:1: ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3301:1: ( ( ')' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3302:1: ( ')' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3266:1: ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3267:1: ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3302:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3303:1: ')'
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_4_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3268:1: ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3268:2: rule__CompositeDataType__InnerDeclarationsAssignment_4_2
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__InnerDeclarationsAssignment_4_2_in_rule__CompositeDataType__Group_4__2__Impl6567);
-            rule__CompositeDataType__InnerDeclarationsAssignment_4_2();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_4_2()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_3_4()); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__RepositoryComponent_Impl__Group_3__4__Impl6652); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_3_4()); 
 
             }
 
@@ -8674,26 +8843,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__2__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3__4__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3278:1: rule__CompositeDataType__Group_4__3 : rule__CompositeDataType__Group_4__3__Impl rule__CompositeDataType__Group_4__4 ;
-    public final void rule__CompositeDataType__Group_4__3() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3326:1: rule__RepositoryComponent_Impl__Group_3_3__0 : rule__RepositoryComponent_Impl__Group_3_3__0__Impl rule__RepositoryComponent_Impl__Group_3_3__1 ;
+    public final void rule__RepositoryComponent_Impl__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3282:1: ( rule__CompositeDataType__Group_4__3__Impl rule__CompositeDataType__Group_4__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3283:2: rule__CompositeDataType__Group_4__3__Impl rule__CompositeDataType__Group_4__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3330:1: ( rule__RepositoryComponent_Impl__Group_3_3__0__Impl rule__RepositoryComponent_Impl__Group_3_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3331:2: rule__RepositoryComponent_Impl__Group_3_3__0__Impl rule__RepositoryComponent_Impl__Group_3_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__3__Impl_in_rule__CompositeDataType__Group_4__36597);
-            rule__CompositeDataType__Group_4__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_3_3__06693);
+            rule__RepositoryComponent_Impl__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__4_in_rule__CompositeDataType__Group_4__36600);
-            rule__CompositeDataType__Group_4__4();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__1_in_rule__RepositoryComponent_Impl__Group_3_3__06696);
+            rule__RepositoryComponent_Impl__Group_3_3__1();
 
             state._fsp--;
 
@@ -8712,53 +8881,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__3"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3_3__0"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3290:1: rule__CompositeDataType__Group_4__3__Impl : ( ( rule__CompositeDataType__Group_4_3__0 )* ) ;
-    public final void rule__CompositeDataType__Group_4__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3338:1: rule__RepositoryComponent_Impl__Group_3_3__0__Impl : ( ',' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3294:1: ( ( ( rule__CompositeDataType__Group_4_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3295:1: ( ( rule__CompositeDataType__Group_4_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3342:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3343:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3295:1: ( ( rule__CompositeDataType__Group_4_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3296:1: ( rule__CompositeDataType__Group_4_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3343:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3344:1: ','
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getGroup_4_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3297:1: ( rule__CompositeDataType__Group_4_3__0 )*
-            loop21:
-            do {
-                int alt21=2;
-                int LA21_0 = input.LA(1);
-
-                if ( (LA21_0==26) ) {
-                    alt21=1;
-                }
-
-
-                switch (alt21) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3297:2: rule__CompositeDataType__Group_4_3__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4_3__0_in_rule__CompositeDataType__Group_4__3__Impl6627);
-            	    rule__CompositeDataType__Group_4_3__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop21;
-                }
-            } while (true);
-
-             after(grammarAccess.getCompositeDataTypeAccess().getGroup_4_3()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_3_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__RepositoryComponent_Impl__Group_3_3__0__Impl6724); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_3_3_0()); 
 
             }
 
@@ -8777,21 +8918,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__3__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3_3__0__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3307:1: rule__CompositeDataType__Group_4__4 : rule__CompositeDataType__Group_4__4__Impl ;
-    public final void rule__CompositeDataType__Group_4__4() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3357:1: rule__RepositoryComponent_Impl__Group_3_3__1 : rule__RepositoryComponent_Impl__Group_3_3__1__Impl ;
+    public final void rule__RepositoryComponent_Impl__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3311:1: ( rule__CompositeDataType__Group_4__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3312:2: rule__CompositeDataType__Group_4__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3361:1: ( rule__RepositoryComponent_Impl__Group_3_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3362:2: rule__RepositoryComponent_Impl__Group_3_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__4__Impl_in_rule__CompositeDataType__Group_4__46658);
-            rule__CompositeDataType__Group_4__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_3_3__16755);
+            rule__RepositoryComponent_Impl__Group_3_3__1__Impl();
 
             state._fsp--;
 
@@ -8810,25 +8951,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__4"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3_3__1"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3318:1: rule__CompositeDataType__Group_4__4__Impl : ( '}' ) ;
-    public final void rule__CompositeDataType__Group_4__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_3_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3368:1: rule__RepositoryComponent_Impl__Group_3_3__1__Impl : ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 ) ) ;
+    public final void rule__RepositoryComponent_Impl__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3322:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3323:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3372:1: ( ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3373:1: ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3323:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3324:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3373:1: ( ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3374:1: ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 )
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_4_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__CompositeDataType__Group_4__4__Impl6686); 
-             after(grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_4_4()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3375:1: ( rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3375:2: rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1_in_rule__RepositoryComponent_Impl__Group_3_3__1__Impl6782);
+            rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_3_3_1()); 
 
             }
 
@@ -8847,26 +8998,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4__4__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_3_3__1__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3347:1: rule__CompositeDataType__Group_4_3__0 : rule__CompositeDataType__Group_4_3__0__Impl rule__CompositeDataType__Group_4_3__1 ;
-    public final void rule__CompositeDataType__Group_4_3__0() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3389:1: rule__RepositoryComponent_Impl__Group_4__0 : rule__RepositoryComponent_Impl__Group_4__0__Impl rule__RepositoryComponent_Impl__Group_4__1 ;
+    public final void rule__RepositoryComponent_Impl__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3351:1: ( rule__CompositeDataType__Group_4_3__0__Impl rule__CompositeDataType__Group_4_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3352:2: rule__CompositeDataType__Group_4_3__0__Impl rule__CompositeDataType__Group_4_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3393:1: ( rule__RepositoryComponent_Impl__Group_4__0__Impl rule__RepositoryComponent_Impl__Group_4__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3394:2: rule__RepositoryComponent_Impl__Group_4__0__Impl rule__RepositoryComponent_Impl__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4_3__0__Impl_in_rule__CompositeDataType__Group_4_3__06727);
-            rule__CompositeDataType__Group_4_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__0__Impl_in_rule__RepositoryComponent_Impl__Group_4__06816);
+            rule__RepositoryComponent_Impl__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4_3__1_in_rule__CompositeDataType__Group_4_3__06730);
-            rule__CompositeDataType__Group_4_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__1_in_rule__RepositoryComponent_Impl__Group_4__06819);
+            rule__RepositoryComponent_Impl__Group_4__1();
 
             state._fsp--;
 
@@ -8885,25 +9036,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4_3__0"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__0"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3359:1: rule__CompositeDataType__Group_4_3__0__Impl : ( ',' ) ;
-    public final void rule__CompositeDataType__Group_4_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3401:1: rule__RepositoryComponent_Impl__Group_4__0__Impl : ( 'providedRoles' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3363:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3364:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3405:1: ( ( 'providedRoles' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3406:1: ( 'providedRoles' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3364:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3365:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3406:1: ( 'providedRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3407:1: 'providedRoles'
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_4_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__CompositeDataType__Group_4_3__0__Impl6758); 
-             after(grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_4_3_0()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_4_0()); 
+            match(input,37,FollowSets000.FOLLOW_37_in_rule__RepositoryComponent_Impl__Group_4__0__Impl6847); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_4_0()); 
 
             }
 
@@ -8922,21 +9073,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4_3__0__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__0__Impl"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3378:1: rule__CompositeDataType__Group_4_3__1 : rule__CompositeDataType__Group_4_3__1__Impl ;
-    public final void rule__CompositeDataType__Group_4_3__1() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3420:1: rule__RepositoryComponent_Impl__Group_4__1 : rule__RepositoryComponent_Impl__Group_4__1__Impl rule__RepositoryComponent_Impl__Group_4__2 ;
+    public final void rule__RepositoryComponent_Impl__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3382:1: ( rule__CompositeDataType__Group_4_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3383:2: rule__CompositeDataType__Group_4_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3424:1: ( rule__RepositoryComponent_Impl__Group_4__1__Impl rule__RepositoryComponent_Impl__Group_4__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3425:2: rule__RepositoryComponent_Impl__Group_4__1__Impl rule__RepositoryComponent_Impl__Group_4__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4_3__1__Impl_in_rule__CompositeDataType__Group_4_3__16789);
-            rule__CompositeDataType__Group_4_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__1__Impl_in_rule__RepositoryComponent_Impl__Group_4__16878);
+            rule__RepositoryComponent_Impl__Group_4__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__2_in_rule__RepositoryComponent_Impl__Group_4__16881);
+            rule__RepositoryComponent_Impl__Group_4__2();
 
             state._fsp--;
 
@@ -8955,35 +9111,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4_3__1"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__1"
 
 
-    // $ANTLR start "rule__CompositeDataType__Group_4_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3389:1: rule__CompositeDataType__Group_4_3__1__Impl : ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 ) ) ;
-    public final void rule__CompositeDataType__Group_4_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3432:1: rule__RepositoryComponent_Impl__Group_4__1__Impl : ( '{' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3393:1: ( ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3394:1: ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 ) )
-            {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3394:1: ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3395:1: ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3436:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3437:1: ( '{' )
             {
-             before(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_4_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3396:1: ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3396:2: rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3437:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3438:1: '{'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1_in_rule__CompositeDataType__Group_4_3__1__Impl6816);
-            rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_4_3_1()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_4_1()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__RepositoryComponent_Impl__Group_4__1__Impl6909); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_4_1()); 
 
             }
 
@@ -9002,26 +9148,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__CompositeDataType__Group_4_3__1__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__1__Impl"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3410:1: rule__PrimitiveDataType__Group__0 : rule__PrimitiveDataType__Group__0__Impl rule__PrimitiveDataType__Group__1 ;
-    public final void rule__PrimitiveDataType__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3451:1: rule__RepositoryComponent_Impl__Group_4__2 : rule__RepositoryComponent_Impl__Group_4__2__Impl rule__RepositoryComponent_Impl__Group_4__3 ;
+    public final void rule__RepositoryComponent_Impl__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3414:1: ( rule__PrimitiveDataType__Group__0__Impl rule__PrimitiveDataType__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3415:2: rule__PrimitiveDataType__Group__0__Impl rule__PrimitiveDataType__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3455:1: ( rule__RepositoryComponent_Impl__Group_4__2__Impl rule__RepositoryComponent_Impl__Group_4__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3456:2: rule__RepositoryComponent_Impl__Group_4__2__Impl rule__RepositoryComponent_Impl__Group_4__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__0__Impl_in_rule__PrimitiveDataType__Group__06850);
-            rule__PrimitiveDataType__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__2__Impl_in_rule__RepositoryComponent_Impl__Group_4__26940);
+            rule__RepositoryComponent_Impl__Group_4__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__1_in_rule__PrimitiveDataType__Group__06853);
-            rule__PrimitiveDataType__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__3_in_rule__RepositoryComponent_Impl__Group_4__26943);
+            rule__RepositoryComponent_Impl__Group_4__3();
 
             state._fsp--;
 
@@ -9040,25 +9186,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__0"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__2"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3422:1: rule__PrimitiveDataType__Group__0__Impl : ( 'PrimitiveDataType' ) ;
-    public final void rule__PrimitiveDataType__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3463:1: rule__RepositoryComponent_Impl__Group_4__2__Impl : ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 ) ) ;
+    public final void rule__RepositoryComponent_Impl__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3426:1: ( ( 'PrimitiveDataType' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3427:1: ( 'PrimitiveDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3467:1: ( ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3468:1: ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3427:1: ( 'PrimitiveDataType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3428:1: 'PrimitiveDataType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3468:1: ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3469:1: ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 )
             {
-             before(grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0()); 
-            match(input,37,FollowSets000.FOLLOW_37_in_rule__PrimitiveDataType__Group__0__Impl6881); 
-             after(grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_4_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3470:1: ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3470:2: rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2_in_rule__RepositoryComponent_Impl__Group_4__2__Impl6970);
+            rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_4_2()); 
 
             }
 
@@ -9077,26 +9233,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__0__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__2__Impl"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3441:1: rule__PrimitiveDataType__Group__1 : rule__PrimitiveDataType__Group__1__Impl rule__PrimitiveDataType__Group__2 ;
-    public final void rule__PrimitiveDataType__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3480:1: rule__RepositoryComponent_Impl__Group_4__3 : rule__RepositoryComponent_Impl__Group_4__3__Impl rule__RepositoryComponent_Impl__Group_4__4 ;
+    public final void rule__RepositoryComponent_Impl__Group_4__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3445:1: ( rule__PrimitiveDataType__Group__1__Impl rule__PrimitiveDataType__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3446:2: rule__PrimitiveDataType__Group__1__Impl rule__PrimitiveDataType__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3484:1: ( rule__RepositoryComponent_Impl__Group_4__3__Impl rule__RepositoryComponent_Impl__Group_4__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3485:2: rule__RepositoryComponent_Impl__Group_4__3__Impl rule__RepositoryComponent_Impl__Group_4__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__1__Impl_in_rule__PrimitiveDataType__Group__16912);
-            rule__PrimitiveDataType__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__3__Impl_in_rule__RepositoryComponent_Impl__Group_4__37000);
+            rule__RepositoryComponent_Impl__Group_4__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__2_in_rule__PrimitiveDataType__Group__16915);
-            rule__PrimitiveDataType__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__4_in_rule__RepositoryComponent_Impl__Group_4__37003);
+            rule__RepositoryComponent_Impl__Group_4__4();
 
             state._fsp--;
 
@@ -9115,25 +9271,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__1"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__3"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3453:1: rule__PrimitiveDataType__Group__1__Impl : ( '{' ) ;
-    public final void rule__PrimitiveDataType__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3492:1: rule__RepositoryComponent_Impl__Group_4__3__Impl : ( ( rule__RepositoryComponent_Impl__Group_4_3__0 )* ) ;
+    public final void rule__RepositoryComponent_Impl__Group_4__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3457:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3458:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3496:1: ( ( ( rule__RepositoryComponent_Impl__Group_4_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3497:1: ( ( rule__RepositoryComponent_Impl__Group_4_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3458:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3459:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3497:1: ( ( rule__RepositoryComponent_Impl__Group_4_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3498:1: ( rule__RepositoryComponent_Impl__Group_4_3__0 )*
             {
-             before(grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__PrimitiveDataType__Group__1__Impl6943); 
-             after(grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_4_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3499:1: ( rule__RepositoryComponent_Impl__Group_4_3__0 )*
+            loop24:
+            do {
+                int alt24=2;
+                int LA24_0 = input.LA(1);
+
+                if ( (LA24_0==23) ) {
+                    alt24=1;
+                }
+
+
+                switch (alt24) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3499:2: rule__RepositoryComponent_Impl__Group_4_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__0_in_rule__RepositoryComponent_Impl__Group_4__3__Impl7030);
+            	    rule__RepositoryComponent_Impl__Group_4_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop24;
+                }
+            } while (true);
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_4_3()); 
 
             }
 
@@ -9152,26 +9336,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__1__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__3__Impl"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3472:1: rule__PrimitiveDataType__Group__2 : rule__PrimitiveDataType__Group__2__Impl rule__PrimitiveDataType__Group__3 ;
-    public final void rule__PrimitiveDataType__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3509:1: rule__RepositoryComponent_Impl__Group_4__4 : rule__RepositoryComponent_Impl__Group_4__4__Impl ;
+    public final void rule__RepositoryComponent_Impl__Group_4__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3476:1: ( rule__PrimitiveDataType__Group__2__Impl rule__PrimitiveDataType__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3477:2: rule__PrimitiveDataType__Group__2__Impl rule__PrimitiveDataType__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3513:1: ( rule__RepositoryComponent_Impl__Group_4__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3514:2: rule__RepositoryComponent_Impl__Group_4__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__2__Impl_in_rule__PrimitiveDataType__Group__26974);
-            rule__PrimitiveDataType__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__3_in_rule__PrimitiveDataType__Group__26977);
-            rule__PrimitiveDataType__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4__4__Impl_in_rule__RepositoryComponent_Impl__Group_4__47061);
+            rule__RepositoryComponent_Impl__Group_4__4__Impl();
 
             state._fsp--;
 
@@ -9190,25 +9369,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__2"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__4"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3484:1: rule__PrimitiveDataType__Group__2__Impl : ( 'type' ) ;
-    public final void rule__PrimitiveDataType__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3520:1: rule__RepositoryComponent_Impl__Group_4__4__Impl : ( '}' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_4__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3488:1: ( ( 'type' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3489:1: ( 'type' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3524:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3525:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3489:1: ( 'type' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3490:1: 'type'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3525:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3526:1: '}'
             {
-             before(grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2()); 
-            match(input,38,FollowSets000.FOLLOW_38_in_rule__PrimitiveDataType__Group__2__Impl7005); 
-             after(grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_4_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__RepositoryComponent_Impl__Group_4__4__Impl7089); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_4_4()); 
 
             }
 
@@ -9227,26 +9406,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__2__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4__4__Impl"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3503:1: rule__PrimitiveDataType__Group__3 : rule__PrimitiveDataType__Group__3__Impl rule__PrimitiveDataType__Group__4 ;
-    public final void rule__PrimitiveDataType__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3549:1: rule__RepositoryComponent_Impl__Group_4_3__0 : rule__RepositoryComponent_Impl__Group_4_3__0__Impl rule__RepositoryComponent_Impl__Group_4_3__1 ;
+    public final void rule__RepositoryComponent_Impl__Group_4_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3507:1: ( rule__PrimitiveDataType__Group__3__Impl rule__PrimitiveDataType__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3508:2: rule__PrimitiveDataType__Group__3__Impl rule__PrimitiveDataType__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3553:1: ( rule__RepositoryComponent_Impl__Group_4_3__0__Impl rule__RepositoryComponent_Impl__Group_4_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3554:2: rule__RepositoryComponent_Impl__Group_4_3__0__Impl rule__RepositoryComponent_Impl__Group_4_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__3__Impl_in_rule__PrimitiveDataType__Group__37036);
-            rule__PrimitiveDataType__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_4_3__07130);
+            rule__RepositoryComponent_Impl__Group_4_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__4_in_rule__PrimitiveDataType__Group__37039);
-            rule__PrimitiveDataType__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__1_in_rule__RepositoryComponent_Impl__Group_4_3__07133);
+            rule__RepositoryComponent_Impl__Group_4_3__1();
 
             state._fsp--;
 
@@ -9265,35 +9444,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__3"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4_3__0"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3515:1: rule__PrimitiveDataType__Group__3__Impl : ( ( rule__PrimitiveDataType__TypeAssignment_3 ) ) ;
-    public final void rule__PrimitiveDataType__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3561:1: rule__RepositoryComponent_Impl__Group_4_3__0__Impl : ( ',' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_4_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3519:1: ( ( ( rule__PrimitiveDataType__TypeAssignment_3 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3520:1: ( ( rule__PrimitiveDataType__TypeAssignment_3 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3565:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3566:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3520:1: ( ( rule__PrimitiveDataType__TypeAssignment_3 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3521:1: ( rule__PrimitiveDataType__TypeAssignment_3 )
-            {
-             before(grammarAccess.getPrimitiveDataTypeAccess().getTypeAssignment_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3522:1: ( rule__PrimitiveDataType__TypeAssignment_3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3522:2: rule__PrimitiveDataType__TypeAssignment_3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3566:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3567:1: ','
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__TypeAssignment_3_in_rule__PrimitiveDataType__Group__3__Impl7066);
-            rule__PrimitiveDataType__TypeAssignment_3();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPrimitiveDataTypeAccess().getTypeAssignment_3()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_4_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__RepositoryComponent_Impl__Group_4_3__0__Impl7161); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_4_3_0()); 
 
             }
 
@@ -9312,26 +9481,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__3__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4_3__0__Impl"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3532:1: rule__PrimitiveDataType__Group__4 : rule__PrimitiveDataType__Group__4__Impl rule__PrimitiveDataType__Group__5 ;
-    public final void rule__PrimitiveDataType__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3580:1: rule__RepositoryComponent_Impl__Group_4_3__1 : rule__RepositoryComponent_Impl__Group_4_3__1__Impl ;
+    public final void rule__RepositoryComponent_Impl__Group_4_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3536:1: ( rule__PrimitiveDataType__Group__4__Impl rule__PrimitiveDataType__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3537:2: rule__PrimitiveDataType__Group__4__Impl rule__PrimitiveDataType__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3584:1: ( rule__RepositoryComponent_Impl__Group_4_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3585:2: rule__RepositoryComponent_Impl__Group_4_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__4__Impl_in_rule__PrimitiveDataType__Group__47096);
-            rule__PrimitiveDataType__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__5_in_rule__PrimitiveDataType__Group__47099);
-            rule__PrimitiveDataType__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_4_3__17192);
+            rule__RepositoryComponent_Impl__Group_4_3__1__Impl();
 
             state._fsp--;
 
@@ -9350,25 +9514,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__4"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4_3__1"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3544:1: rule__PrimitiveDataType__Group__4__Impl : ( 'ref' ) ;
-    public final void rule__PrimitiveDataType__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_4_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3591:1: rule__RepositoryComponent_Impl__Group_4_3__1__Impl : ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 ) ) ;
+    public final void rule__RepositoryComponent_Impl__Group_4_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3548:1: ( ( 'ref' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3549:1: ( 'ref' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3595:1: ( ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3596:1: ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3549:1: ( 'ref' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3550:1: 'ref'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3596:1: ( ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3597:1: ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 )
             {
-             before(grammarAccess.getPrimitiveDataTypeAccess().getRefKeyword_4()); 
-            match(input,39,FollowSets000.FOLLOW_39_in_rule__PrimitiveDataType__Group__4__Impl7127); 
-             after(grammarAccess.getPrimitiveDataTypeAccess().getRefKeyword_4()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_4_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3598:1: ( rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3598:2: rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1_in_rule__RepositoryComponent_Impl__Group_4_3__1__Impl7219);
+            rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_4_3_1()); 
 
             }
 
@@ -9387,26 +9561,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__4__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_4_3__1__Impl"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3563:1: rule__PrimitiveDataType__Group__5 : rule__PrimitiveDataType__Group__5__Impl rule__PrimitiveDataType__Group__6 ;
-    public final void rule__PrimitiveDataType__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3612:1: rule__RepositoryComponent_Impl__Group_5__0 : rule__RepositoryComponent_Impl__Group_5__0__Impl rule__RepositoryComponent_Impl__Group_5__1 ;
+    public final void rule__RepositoryComponent_Impl__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3567:1: ( rule__PrimitiveDataType__Group__5__Impl rule__PrimitiveDataType__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3568:2: rule__PrimitiveDataType__Group__5__Impl rule__PrimitiveDataType__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3616:1: ( rule__RepositoryComponent_Impl__Group_5__0__Impl rule__RepositoryComponent_Impl__Group_5__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3617:2: rule__RepositoryComponent_Impl__Group_5__0__Impl rule__RepositoryComponent_Impl__Group_5__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__5__Impl_in_rule__PrimitiveDataType__Group__57158);
-            rule__PrimitiveDataType__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__0__Impl_in_rule__RepositoryComponent_Impl__Group_5__07253);
+            rule__RepositoryComponent_Impl__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__6_in_rule__PrimitiveDataType__Group__57161);
-            rule__PrimitiveDataType__Group__6();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__1_in_rule__RepositoryComponent_Impl__Group_5__07256);
+            rule__RepositoryComponent_Impl__Group_5__1();
 
             state._fsp--;
 
@@ -9425,35 +9599,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__5"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__0"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3575:1: rule__PrimitiveDataType__Group__5__Impl : ( ( rule__PrimitiveDataType__NameAssignment_5 ) ) ;
-    public final void rule__PrimitiveDataType__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3624:1: rule__RepositoryComponent_Impl__Group_5__0__Impl : ( 'requiredRoles' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3579:1: ( ( ( rule__PrimitiveDataType__NameAssignment_5 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3580:1: ( ( rule__PrimitiveDataType__NameAssignment_5 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3628:1: ( ( 'requiredRoles' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3629:1: ( 'requiredRoles' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3580:1: ( ( rule__PrimitiveDataType__NameAssignment_5 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3581:1: ( rule__PrimitiveDataType__NameAssignment_5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3629:1: ( 'requiredRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3630:1: 'requiredRoles'
             {
-             before(grammarAccess.getPrimitiveDataTypeAccess().getNameAssignment_5()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3582:1: ( rule__PrimitiveDataType__NameAssignment_5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3582:2: rule__PrimitiveDataType__NameAssignment_5
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__NameAssignment_5_in_rule__PrimitiveDataType__Group__5__Impl7188);
-            rule__PrimitiveDataType__NameAssignment_5();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPrimitiveDataTypeAccess().getNameAssignment_5()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_5_0()); 
+            match(input,38,FollowSets000.FOLLOW_38_in_rule__RepositoryComponent_Impl__Group_5__0__Impl7284); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_5_0()); 
 
             }
 
@@ -9472,21 +9636,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__5__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__0__Impl"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3592:1: rule__PrimitiveDataType__Group__6 : rule__PrimitiveDataType__Group__6__Impl ;
-    public final void rule__PrimitiveDataType__Group__6() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3643:1: rule__RepositoryComponent_Impl__Group_5__1 : rule__RepositoryComponent_Impl__Group_5__1__Impl rule__RepositoryComponent_Impl__Group_5__2 ;
+    public final void rule__RepositoryComponent_Impl__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3596:1: ( rule__PrimitiveDataType__Group__6__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3597:2: rule__PrimitiveDataType__Group__6__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3647:1: ( rule__RepositoryComponent_Impl__Group_5__1__Impl rule__RepositoryComponent_Impl__Group_5__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3648:2: rule__RepositoryComponent_Impl__Group_5__1__Impl rule__RepositoryComponent_Impl__Group_5__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__6__Impl_in_rule__PrimitiveDataType__Group__67218);
-            rule__PrimitiveDataType__Group__6__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__1__Impl_in_rule__RepositoryComponent_Impl__Group_5__17315);
+            rule__RepositoryComponent_Impl__Group_5__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__2_in_rule__RepositoryComponent_Impl__Group_5__17318);
+            rule__RepositoryComponent_Impl__Group_5__2();
 
             state._fsp--;
 
@@ -9505,25 +9674,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__6"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__1"
 
 
-    // $ANTLR start "rule__PrimitiveDataType__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3603:1: rule__PrimitiveDataType__Group__6__Impl : ( '}' ) ;
-    public final void rule__PrimitiveDataType__Group__6__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3655:1: rule__RepositoryComponent_Impl__Group_5__1__Impl : ( '{' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3607:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3608:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3659:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3660:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3608:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3609:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3660:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3661:1: '{'
             {
-             before(grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__PrimitiveDataType__Group__6__Impl7246); 
-             after(grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_6()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_5_1()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__RepositoryComponent_Impl__Group_5__1__Impl7346); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_5_1()); 
 
             }
 
@@ -9542,26 +9711,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__PrimitiveDataType__Group__6__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__1__Impl"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3636:1: rule__InnerDeclaration__Group__0 : rule__InnerDeclaration__Group__0__Impl rule__InnerDeclaration__Group__1 ;
-    public final void rule__InnerDeclaration__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3674:1: rule__RepositoryComponent_Impl__Group_5__2 : rule__RepositoryComponent_Impl__Group_5__2__Impl rule__RepositoryComponent_Impl__Group_5__3 ;
+    public final void rule__RepositoryComponent_Impl__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3640:1: ( rule__InnerDeclaration__Group__0__Impl rule__InnerDeclaration__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3641:2: rule__InnerDeclaration__Group__0__Impl rule__InnerDeclaration__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3678:1: ( rule__RepositoryComponent_Impl__Group_5__2__Impl rule__RepositoryComponent_Impl__Group_5__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3679:2: rule__RepositoryComponent_Impl__Group_5__2__Impl rule__RepositoryComponent_Impl__Group_5__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__0__Impl_in_rule__InnerDeclaration__Group__07291);
-            rule__InnerDeclaration__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__2__Impl_in_rule__RepositoryComponent_Impl__Group_5__27377);
+            rule__RepositoryComponent_Impl__Group_5__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__1_in_rule__InnerDeclaration__Group__07294);
-            rule__InnerDeclaration__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__3_in_rule__RepositoryComponent_Impl__Group_5__27380);
+            rule__RepositoryComponent_Impl__Group_5__3();
 
             state._fsp--;
 
@@ -9580,25 +9749,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__0"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__2"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3648:1: rule__InnerDeclaration__Group__0__Impl : ( 'InnerDeclaration' ) ;
-    public final void rule__InnerDeclaration__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3686:1: rule__RepositoryComponent_Impl__Group_5__2__Impl : ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 ) ) ;
+    public final void rule__RepositoryComponent_Impl__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3652:1: ( ( 'InnerDeclaration' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3653:1: ( 'InnerDeclaration' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3690:1: ( ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3691:1: ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3653:1: ( 'InnerDeclaration' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3654:1: 'InnerDeclaration'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3691:1: ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3692:1: ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 )
             {
-             before(grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0()); 
-            match(input,40,FollowSets000.FOLLOW_40_in_rule__InnerDeclaration__Group__0__Impl7322); 
-             after(grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_5_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3693:1: ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3693:2: rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2_in_rule__RepositoryComponent_Impl__Group_5__2__Impl7407);
+            rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_5_2()); 
 
             }
 
@@ -9617,26 +9796,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__0__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__2__Impl"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3667:1: rule__InnerDeclaration__Group__1 : rule__InnerDeclaration__Group__1__Impl rule__InnerDeclaration__Group__2 ;
-    public final void rule__InnerDeclaration__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3703:1: rule__RepositoryComponent_Impl__Group_5__3 : rule__RepositoryComponent_Impl__Group_5__3__Impl rule__RepositoryComponent_Impl__Group_5__4 ;
+    public final void rule__RepositoryComponent_Impl__Group_5__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3671:1: ( rule__InnerDeclaration__Group__1__Impl rule__InnerDeclaration__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3672:2: rule__InnerDeclaration__Group__1__Impl rule__InnerDeclaration__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3707:1: ( rule__RepositoryComponent_Impl__Group_5__3__Impl rule__RepositoryComponent_Impl__Group_5__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3708:2: rule__RepositoryComponent_Impl__Group_5__3__Impl rule__RepositoryComponent_Impl__Group_5__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__1__Impl_in_rule__InnerDeclaration__Group__17353);
-            rule__InnerDeclaration__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__3__Impl_in_rule__RepositoryComponent_Impl__Group_5__37437);
+            rule__RepositoryComponent_Impl__Group_5__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__2_in_rule__InnerDeclaration__Group__17356);
-            rule__InnerDeclaration__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__4_in_rule__RepositoryComponent_Impl__Group_5__37440);
+            rule__RepositoryComponent_Impl__Group_5__4();
 
             state._fsp--;
 
@@ -9655,35 +9834,53 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__1"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__3"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3679:1: rule__InnerDeclaration__Group__1__Impl : ( ( rule__InnerDeclaration__NameAssignment_1 ) ) ;
-    public final void rule__InnerDeclaration__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3715:1: rule__RepositoryComponent_Impl__Group_5__3__Impl : ( ( rule__RepositoryComponent_Impl__Group_5_3__0 )* ) ;
+    public final void rule__RepositoryComponent_Impl__Group_5__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3683:1: ( ( ( rule__InnerDeclaration__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3684:1: ( ( rule__InnerDeclaration__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3719:1: ( ( ( rule__RepositoryComponent_Impl__Group_5_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3720:1: ( ( rule__RepositoryComponent_Impl__Group_5_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3684:1: ( ( rule__InnerDeclaration__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3685:1: ( rule__InnerDeclaration__NameAssignment_1 )
-            {
-             before(grammarAccess.getInnerDeclarationAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3686:1: ( rule__InnerDeclaration__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3686:2: rule__InnerDeclaration__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3720:1: ( ( rule__RepositoryComponent_Impl__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3721:1: ( rule__RepositoryComponent_Impl__Group_5_3__0 )*
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__NameAssignment_1_in_rule__InnerDeclaration__Group__1__Impl7383);
-            rule__InnerDeclaration__NameAssignment_1();
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3722:1: ( rule__RepositoryComponent_Impl__Group_5_3__0 )*
+            loop25:
+            do {
+                int alt25=2;
+                int LA25_0 = input.LA(1);
 
-            state._fsp--;
+                if ( (LA25_0==23) ) {
+                    alt25=1;
+                }
 
 
-            }
+                switch (alt25) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3722:2: rule__RepositoryComponent_Impl__Group_5_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__0_in_rule__RepositoryComponent_Impl__Group_5__3__Impl7467);
+            	    rule__RepositoryComponent_Impl__Group_5_3__0();
 
-             after(grammarAccess.getInnerDeclarationAccess().getNameAssignment_1()); 
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop25;
+                }
+            } while (true);
+
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5_3()); 
 
             }
 
@@ -9702,26 +9899,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__1__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__3__Impl"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3696:1: rule__InnerDeclaration__Group__2 : rule__InnerDeclaration__Group__2__Impl rule__InnerDeclaration__Group__3 ;
-    public final void rule__InnerDeclaration__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3732:1: rule__RepositoryComponent_Impl__Group_5__4 : rule__RepositoryComponent_Impl__Group_5__4__Impl ;
+    public final void rule__RepositoryComponent_Impl__Group_5__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3700:1: ( rule__InnerDeclaration__Group__2__Impl rule__InnerDeclaration__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3701:2: rule__InnerDeclaration__Group__2__Impl rule__InnerDeclaration__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3736:1: ( rule__RepositoryComponent_Impl__Group_5__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3737:2: rule__RepositoryComponent_Impl__Group_5__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__2__Impl_in_rule__InnerDeclaration__Group__27413);
-            rule__InnerDeclaration__Group__2__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__3_in_rule__InnerDeclaration__Group__27416);
-            rule__InnerDeclaration__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5__4__Impl_in_rule__RepositoryComponent_Impl__Group_5__47498);
+            rule__RepositoryComponent_Impl__Group_5__4__Impl();
 
             state._fsp--;
 
@@ -9740,25 +9932,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__2"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__4"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3708:1: rule__InnerDeclaration__Group__2__Impl : ( '{' ) ;
-    public final void rule__InnerDeclaration__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3743:1: rule__RepositoryComponent_Impl__Group_5__4__Impl : ( '}' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_5__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3712:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3713:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3747:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3748:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3713:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3714:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3748:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3749:1: '}'
             {
-             before(grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__InnerDeclaration__Group__2__Impl7444); 
-             after(grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_5_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__RepositoryComponent_Impl__Group_5__4__Impl7526); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_5_4()); 
 
             }
 
@@ -9777,26 +9969,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__2__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5__4__Impl"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3727:1: rule__InnerDeclaration__Group__3 : rule__InnerDeclaration__Group__3__Impl rule__InnerDeclaration__Group__4 ;
-    public final void rule__InnerDeclaration__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3772:1: rule__RepositoryComponent_Impl__Group_5_3__0 : rule__RepositoryComponent_Impl__Group_5_3__0__Impl rule__RepositoryComponent_Impl__Group_5_3__1 ;
+    public final void rule__RepositoryComponent_Impl__Group_5_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3731:1: ( rule__InnerDeclaration__Group__3__Impl rule__InnerDeclaration__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3732:2: rule__InnerDeclaration__Group__3__Impl rule__InnerDeclaration__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3776:1: ( rule__RepositoryComponent_Impl__Group_5_3__0__Impl rule__RepositoryComponent_Impl__Group_5_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3777:2: rule__RepositoryComponent_Impl__Group_5_3__0__Impl rule__RepositoryComponent_Impl__Group_5_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__3__Impl_in_rule__InnerDeclaration__Group__37475);
-            rule__InnerDeclaration__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_5_3__07567);
+            rule__RepositoryComponent_Impl__Group_5_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__4_in_rule__InnerDeclaration__Group__37478);
-            rule__InnerDeclaration__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__1_in_rule__RepositoryComponent_Impl__Group_5_3__07570);
+            rule__RepositoryComponent_Impl__Group_5_3__1();
 
             state._fsp--;
 
@@ -9815,25 +10007,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__3"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5_3__0"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3739:1: rule__InnerDeclaration__Group__3__Impl : ( 'dataType' ) ;
-    public final void rule__InnerDeclaration__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3784:1: rule__RepositoryComponent_Impl__Group_5_3__0__Impl : ( ',' ) ;
+    public final void rule__RepositoryComponent_Impl__Group_5_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3743:1: ( ( 'dataType' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3744:1: ( 'dataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3788:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3789:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3744:1: ( 'dataType' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3745:1: 'dataType'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3789:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3790:1: ','
             {
-             before(grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_3()); 
-            match(input,41,FollowSets000.FOLLOW_41_in_rule__InnerDeclaration__Group__3__Impl7506); 
-             after(grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_3()); 
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__RepositoryComponent_Impl__Group_5_3__0__Impl7598); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0()); 
 
             }
 
@@ -9852,26 +10044,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__3__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5_3__0__Impl"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3758:1: rule__InnerDeclaration__Group__4 : rule__InnerDeclaration__Group__4__Impl rule__InnerDeclaration__Group__5 ;
-    public final void rule__InnerDeclaration__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3803:1: rule__RepositoryComponent_Impl__Group_5_3__1 : rule__RepositoryComponent_Impl__Group_5_3__1__Impl ;
+    public final void rule__RepositoryComponent_Impl__Group_5_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3762:1: ( rule__InnerDeclaration__Group__4__Impl rule__InnerDeclaration__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3763:2: rule__InnerDeclaration__Group__4__Impl rule__InnerDeclaration__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3807:1: ( rule__RepositoryComponent_Impl__Group_5_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3808:2: rule__RepositoryComponent_Impl__Group_5_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__4__Impl_in_rule__InnerDeclaration__Group__47537);
-            rule__InnerDeclaration__Group__4__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__5_in_rule__InnerDeclaration__Group__47540);
-            rule__InnerDeclaration__Group__5();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_5_3__17629);
+            rule__RepositoryComponent_Impl__Group_5_3__1__Impl();
 
             state._fsp--;
 
@@ -9890,35 +10077,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__4"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5_3__1"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3770:1: rule__InnerDeclaration__Group__4__Impl : ( ( rule__InnerDeclaration__DataTypeAssignment_4 ) ) ;
-    public final void rule__InnerDeclaration__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RepositoryComponent_Impl__Group_5_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3814:1: rule__RepositoryComponent_Impl__Group_5_3__1__Impl : ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 ) ) ;
+    public final void rule__RepositoryComponent_Impl__Group_5_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3774:1: ( ( ( rule__InnerDeclaration__DataTypeAssignment_4 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3775:1: ( ( rule__InnerDeclaration__DataTypeAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3818:1: ( ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3819:1: ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3775:1: ( ( rule__InnerDeclaration__DataTypeAssignment_4 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3776:1: ( rule__InnerDeclaration__DataTypeAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3819:1: ( ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3820:1: ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 )
             {
-             before(grammarAccess.getInnerDeclarationAccess().getDataTypeAssignment_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3777:1: ( rule__InnerDeclaration__DataTypeAssignment_4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3777:2: rule__InnerDeclaration__DataTypeAssignment_4
+             before(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_5_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3821:1: ( rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3821:2: rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__DataTypeAssignment_4_in_rule__InnerDeclaration__Group__4__Impl7567);
-            rule__InnerDeclaration__DataTypeAssignment_4();
+            pushFollow(FollowSets000.FOLLOW_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1_in_rule__RepositoryComponent_Impl__Group_5_3__1__Impl7656);
+            rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getInnerDeclarationAccess().getDataTypeAssignment_4()); 
+             after(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_5_3_1()); 
 
             }
 
@@ -9937,21 +10124,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__4__Impl"
+    // $ANTLR end "rule__RepositoryComponent_Impl__Group_5_3__1__Impl"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3787:1: rule__InnerDeclaration__Group__5 : rule__InnerDeclaration__Group__5__Impl ;
-    public final void rule__InnerDeclaration__Group__5() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3835:1: rule__CollectionDataType__Group__0 : rule__CollectionDataType__Group__0__Impl rule__CollectionDataType__Group__1 ;
+    public final void rule__CollectionDataType__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3791:1: ( rule__InnerDeclaration__Group__5__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3792:2: rule__InnerDeclaration__Group__5__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3839:1: ( rule__CollectionDataType__Group__0__Impl rule__CollectionDataType__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3840:2: rule__CollectionDataType__Group__0__Impl rule__CollectionDataType__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__5__Impl_in_rule__InnerDeclaration__Group__57597);
-            rule__InnerDeclaration__Group__5__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__0__Impl_in_rule__CollectionDataType__Group__07690);
+            rule__CollectionDataType__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__1_in_rule__CollectionDataType__Group__07693);
+            rule__CollectionDataType__Group__1();
 
             state._fsp--;
 
@@ -9970,25 +10162,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__5"
+    // $ANTLR end "rule__CollectionDataType__Group__0"
 
 
-    // $ANTLR start "rule__InnerDeclaration__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3798:1: rule__InnerDeclaration__Group__5__Impl : ( '}' ) ;
-    public final void rule__InnerDeclaration__Group__5__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3847:1: rule__CollectionDataType__Group__0__Impl : ( 'CollectionDataType' ) ;
+    public final void rule__CollectionDataType__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3802:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3803:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3851:1: ( ( 'CollectionDataType' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3852:1: ( 'CollectionDataType' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3803:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3804:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3852:1: ( 'CollectionDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3853:1: 'CollectionDataType'
             {
-             before(grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__InnerDeclaration__Group__5__Impl7625); 
-             after(grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_5()); 
+             before(grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0()); 
+            match(input,39,FollowSets000.FOLLOW_39_in_rule__CollectionDataType__Group__0__Impl7721); 
+             after(grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0()); 
 
             }
 
@@ -10007,26 +10199,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__InnerDeclaration__Group__5__Impl"
+    // $ANTLR end "rule__CollectionDataType__Group__0__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3829:1: rule__Signature__Group__0 : rule__Signature__Group__0__Impl rule__Signature__Group__1 ;
-    public final void rule__Signature__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3866:1: rule__CollectionDataType__Group__1 : rule__CollectionDataType__Group__1__Impl rule__CollectionDataType__Group__2 ;
+    public final void rule__CollectionDataType__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3833:1: ( rule__Signature__Group__0__Impl rule__Signature__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3834:2: rule__Signature__Group__0__Impl rule__Signature__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3870:1: ( rule__CollectionDataType__Group__1__Impl rule__CollectionDataType__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3871:2: rule__CollectionDataType__Group__1__Impl rule__CollectionDataType__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__0__Impl_in_rule__Signature__Group__07668);
-            rule__Signature__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__1__Impl_in_rule__CollectionDataType__Group__17752);
+            rule__CollectionDataType__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__1_in_rule__Signature__Group__07671);
-            rule__Signature__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__2_in_rule__CollectionDataType__Group__17755);
+            rule__CollectionDataType__Group__2();
 
             state._fsp--;
 
@@ -10045,35 +10237,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__0"
+    // $ANTLR end "rule__CollectionDataType__Group__1"
 
 
-    // $ANTLR start "rule__Signature__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3841:1: rule__Signature__Group__0__Impl : ( ( rule__Signature__Alternatives_0 ) ) ;
-    public final void rule__Signature__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3878:1: rule__CollectionDataType__Group__1__Impl : ( ( rule__CollectionDataType__NameAssignment_1 ) ) ;
+    public final void rule__CollectionDataType__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3845:1: ( ( ( rule__Signature__Alternatives_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3846:1: ( ( rule__Signature__Alternatives_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3882:1: ( ( ( rule__CollectionDataType__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3883:1: ( ( rule__CollectionDataType__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3846:1: ( ( rule__Signature__Alternatives_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3847:1: ( rule__Signature__Alternatives_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3883:1: ( ( rule__CollectionDataType__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3884:1: ( rule__CollectionDataType__NameAssignment_1 )
             {
-             before(grammarAccess.getSignatureAccess().getAlternatives_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3848:1: ( rule__Signature__Alternatives_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3848:2: rule__Signature__Alternatives_0
+             before(grammarAccess.getCollectionDataTypeAccess().getNameAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3885:1: ( rule__CollectionDataType__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3885:2: rule__CollectionDataType__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Alternatives_0_in_rule__Signature__Group__0__Impl7698);
-            rule__Signature__Alternatives_0();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__NameAssignment_1_in_rule__CollectionDataType__Group__1__Impl7782);
+            rule__CollectionDataType__NameAssignment_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getSignatureAccess().getAlternatives_0()); 
+             after(grammarAccess.getCollectionDataTypeAccess().getNameAssignment_1()); 
 
             }
 
@@ -10092,26 +10284,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__0__Impl"
+    // $ANTLR end "rule__CollectionDataType__Group__1__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3858:1: rule__Signature__Group__1 : rule__Signature__Group__1__Impl rule__Signature__Group__2 ;
-    public final void rule__Signature__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3895:1: rule__CollectionDataType__Group__2 : rule__CollectionDataType__Group__2__Impl rule__CollectionDataType__Group__3 ;
+    public final void rule__CollectionDataType__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3862:1: ( rule__Signature__Group__1__Impl rule__Signature__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3863:2: rule__Signature__Group__1__Impl rule__Signature__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3899:1: ( rule__CollectionDataType__Group__2__Impl rule__CollectionDataType__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3900:2: rule__CollectionDataType__Group__2__Impl rule__CollectionDataType__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__1__Impl_in_rule__Signature__Group__17728);
-            rule__Signature__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__2__Impl_in_rule__CollectionDataType__Group__27812);
+            rule__CollectionDataType__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__2_in_rule__Signature__Group__17731);
-            rule__Signature__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__3_in_rule__CollectionDataType__Group__27815);
+            rule__CollectionDataType__Group__3();
 
             state._fsp--;
 
@@ -10130,35 +10322,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__1"
+    // $ANTLR end "rule__CollectionDataType__Group__2"
 
 
-    // $ANTLR start "rule__Signature__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3870:1: rule__Signature__Group__1__Impl : ( ( rule__Signature__NameAssignment_1 ) ) ;
-    public final void rule__Signature__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3907:1: rule__CollectionDataType__Group__2__Impl : ( '{' ) ;
+    public final void rule__CollectionDataType__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3874:1: ( ( ( rule__Signature__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3875:1: ( ( rule__Signature__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3911:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3912:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3875:1: ( ( rule__Signature__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3876:1: ( rule__Signature__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3912:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3913:1: '{'
             {
-             before(grammarAccess.getSignatureAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3877:1: ( rule__Signature__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3877:2: rule__Signature__NameAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__NameAssignment_1_in_rule__Signature__Group__1__Impl7758);
-            rule__Signature__NameAssignment_1();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSignatureAccess().getNameAssignment_1()); 
+             before(grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__CollectionDataType__Group__2__Impl7843); 
+             after(grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
 
@@ -10177,26 +10359,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__1__Impl"
+    // $ANTLR end "rule__CollectionDataType__Group__2__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3887:1: rule__Signature__Group__2 : rule__Signature__Group__2__Impl rule__Signature__Group__3 ;
-    public final void rule__Signature__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3926:1: rule__CollectionDataType__Group__3 : rule__CollectionDataType__Group__3__Impl rule__CollectionDataType__Group__4 ;
+    public final void rule__CollectionDataType__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3891:1: ( rule__Signature__Group__2__Impl rule__Signature__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3892:2: rule__Signature__Group__2__Impl rule__Signature__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3930:1: ( rule__CollectionDataType__Group__3__Impl rule__CollectionDataType__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3931:2: rule__CollectionDataType__Group__3__Impl rule__CollectionDataType__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__2__Impl_in_rule__Signature__Group__27788);
-            rule__Signature__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__3__Impl_in_rule__CollectionDataType__Group__37874);
+            rule__CollectionDataType__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__3_in_rule__Signature__Group__27791);
-            rule__Signature__Group__3();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__4_in_rule__CollectionDataType__Group__37877);
+            rule__CollectionDataType__Group__4();
 
             state._fsp--;
 
@@ -10215,25 +10397,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__2"
+    // $ANTLR end "rule__CollectionDataType__Group__3"
 
 
-    // $ANTLR start "rule__Signature__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3899:1: rule__Signature__Group__2__Impl : ( '(' ) ;
-    public final void rule__Signature__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3938:1: rule__CollectionDataType__Group__3__Impl : ( 'innerType' ) ;
+    public final void rule__CollectionDataType__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3903:1: ( ( '(' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3904:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3942:1: ( ( 'innerType' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3943:1: ( 'innerType' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3904:1: ( '(' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3905:1: '('
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3943:1: ( 'innerType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3944:1: 'innerType'
             {
-             before(grammarAccess.getSignatureAccess().getLeftParenthesisKeyword_2()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__Signature__Group__2__Impl7819); 
-             after(grammarAccess.getSignatureAccess().getLeftParenthesisKeyword_2()); 
+             before(grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_3()); 
+            match(input,40,FollowSets000.FOLLOW_40_in_rule__CollectionDataType__Group__3__Impl7905); 
+             after(grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_3()); 
 
             }
 
@@ -10252,26 +10434,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__2__Impl"
+    // $ANTLR end "rule__CollectionDataType__Group__3__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3918:1: rule__Signature__Group__3 : rule__Signature__Group__3__Impl rule__Signature__Group__4 ;
-    public final void rule__Signature__Group__3() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3957:1: rule__CollectionDataType__Group__4 : rule__CollectionDataType__Group__4__Impl rule__CollectionDataType__Group__5 ;
+    public final void rule__CollectionDataType__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3922:1: ( rule__Signature__Group__3__Impl rule__Signature__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3923:2: rule__Signature__Group__3__Impl rule__Signature__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3961:1: ( rule__CollectionDataType__Group__4__Impl rule__CollectionDataType__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3962:2: rule__CollectionDataType__Group__4__Impl rule__CollectionDataType__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__3__Impl_in_rule__Signature__Group__37850);
-            rule__Signature__Group__3__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__4__Impl_in_rule__CollectionDataType__Group__47936);
+            rule__CollectionDataType__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__4_in_rule__Signature__Group__37853);
-            rule__Signature__Group__4();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__5_in_rule__CollectionDataType__Group__47939);
+            rule__CollectionDataType__Group__5();
 
             state._fsp--;
 
@@ -10290,46 +10472,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__3"
+    // $ANTLR end "rule__CollectionDataType__Group__4"
 
 
-    // $ANTLR start "rule__Signature__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3930:1: rule__Signature__Group__3__Impl : ( ( rule__Signature__Group_3__0 )? ) ;
-    public final void rule__Signature__Group__3__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3969:1: rule__CollectionDataType__Group__4__Impl : ( ( rule__CollectionDataType__InnerTypeAssignment_4 ) ) ;
+    public final void rule__CollectionDataType__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3934:1: ( ( ( rule__Signature__Group_3__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3935:1: ( ( rule__Signature__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3973:1: ( ( ( rule__CollectionDataType__InnerTypeAssignment_4 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3974:1: ( ( rule__CollectionDataType__InnerTypeAssignment_4 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3935:1: ( ( rule__Signature__Group_3__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3936:1: ( rule__Signature__Group_3__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3974:1: ( ( rule__CollectionDataType__InnerTypeAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3975:1: ( rule__CollectionDataType__InnerTypeAssignment_4 )
             {
-             before(grammarAccess.getSignatureAccess().getGroup_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3937:1: ( rule__Signature__Group_3__0 )?
-            int alt22=2;
-            int LA22_0 = input.LA(1);
-
-            if ( ((LA22_0>=RULE_STRING && LA22_0<=RULE_ID)) ) {
-                alt22=1;
-            }
-            switch (alt22) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3937:2: rule__Signature__Group_3__0
-                    {
-                    pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3__0_in_rule__Signature__Group__3__Impl7880);
-                    rule__Signature__Group_3__0();
-
-                    state._fsp--;
+             before(grammarAccess.getCollectionDataTypeAccess().getInnerTypeAssignment_4()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3976:1: ( rule__CollectionDataType__InnerTypeAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3976:2: rule__CollectionDataType__InnerTypeAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__InnerTypeAssignment_4_in_rule__CollectionDataType__Group__4__Impl7966);
+            rule__CollectionDataType__InnerTypeAssignment_4();
 
+            state._fsp--;
 
-                    }
-                    break;
 
             }
 
-             after(grammarAccess.getSignatureAccess().getGroup_3()); 
+             after(grammarAccess.getCollectionDataTypeAccess().getInnerTypeAssignment_4()); 
 
             }
 
@@ -10348,21 +10519,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__3__Impl"
+    // $ANTLR end "rule__CollectionDataType__Group__4__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3947:1: rule__Signature__Group__4 : rule__Signature__Group__4__Impl ;
-    public final void rule__Signature__Group__4() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__5"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3986:1: rule__CollectionDataType__Group__5 : rule__CollectionDataType__Group__5__Impl ;
+    public final void rule__CollectionDataType__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3951:1: ( rule__Signature__Group__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3952:2: rule__Signature__Group__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3990:1: ( rule__CollectionDataType__Group__5__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3991:2: rule__CollectionDataType__Group__5__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__4__Impl_in_rule__Signature__Group__47911);
-            rule__Signature__Group__4__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CollectionDataType__Group__5__Impl_in_rule__CollectionDataType__Group__57996);
+            rule__CollectionDataType__Group__5__Impl();
 
             state._fsp--;
 
@@ -10381,25 +10552,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__4"
+    // $ANTLR end "rule__CollectionDataType__Group__5"
 
 
-    // $ANTLR start "rule__Signature__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3958:1: rule__Signature__Group__4__Impl : ( ')' ) ;
-    public final void rule__Signature__Group__4__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CollectionDataType__Group__5__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3997:1: rule__CollectionDataType__Group__5__Impl : ( '}' ) ;
+    public final void rule__CollectionDataType__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3962:1: ( ( ')' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3963:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4001:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4002:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3963:1: ( ')' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3964:1: ')'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4002:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4003:1: '}'
             {
-             before(grammarAccess.getSignatureAccess().getRightParenthesisKeyword_4()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__Signature__Group__4__Impl7939); 
-             after(grammarAccess.getSignatureAccess().getRightParenthesisKeyword_4()); 
+             before(grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_5()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__CollectionDataType__Group__5__Impl8024); 
+             after(grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_5()); 
 
             }
 
@@ -10418,26 +10589,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group__4__Impl"
+    // $ANTLR end "rule__CollectionDataType__Group__5__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3987:1: rule__Signature__Group_3__0 : rule__Signature__Group_3__0__Impl rule__Signature__Group_3__1 ;
-    public final void rule__Signature__Group_3__0() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4028:1: rule__CompositeDataType__Group__0 : rule__CompositeDataType__Group__0__Impl rule__CompositeDataType__Group__1 ;
+    public final void rule__CompositeDataType__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3991:1: ( rule__Signature__Group_3__0__Impl rule__Signature__Group_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3992:2: rule__Signature__Group_3__0__Impl rule__Signature__Group_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4032:1: ( rule__CompositeDataType__Group__0__Impl rule__CompositeDataType__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4033:2: rule__CompositeDataType__Group__0__Impl rule__CompositeDataType__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3__0__Impl_in_rule__Signature__Group_3__07980);
-            rule__Signature__Group_3__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__0__Impl_in_rule__CompositeDataType__Group__08067);
+            rule__CompositeDataType__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3__1_in_rule__Signature__Group_3__07983);
-            rule__Signature__Group_3__1();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__1_in_rule__CompositeDataType__Group__08070);
+            rule__CompositeDataType__Group__1();
 
             state._fsp--;
 
@@ -10456,35 +10627,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group_3__0"
+    // $ANTLR end "rule__CompositeDataType__Group__0"
 
 
-    // $ANTLR start "rule__Signature__Group_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:3999:1: rule__Signature__Group_3__0__Impl : ( ( rule__Signature__ParametersAssignment_3_0 ) ) ;
-    public final void rule__Signature__Group_3__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4040:1: rule__CompositeDataType__Group__0__Impl : ( 'CompositeDataType' ) ;
+    public final void rule__CompositeDataType__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4003:1: ( ( ( rule__Signature__ParametersAssignment_3_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4004:1: ( ( rule__Signature__ParametersAssignment_3_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4044:1: ( ( 'CompositeDataType' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4045:1: ( 'CompositeDataType' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4004:1: ( ( rule__Signature__ParametersAssignment_3_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4005:1: ( rule__Signature__ParametersAssignment_3_0 )
-            {
-             before(grammarAccess.getSignatureAccess().getParametersAssignment_3_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4006:1: ( rule__Signature__ParametersAssignment_3_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4006:2: rule__Signature__ParametersAssignment_3_0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4045:1: ( 'CompositeDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4046:1: 'CompositeDataType'
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__ParametersAssignment_3_0_in_rule__Signature__Group_3__0__Impl8010);
-            rule__Signature__ParametersAssignment_3_0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSignatureAccess().getParametersAssignment_3_0()); 
+             before(grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0()); 
+            match(input,41,FollowSets000.FOLLOW_41_in_rule__CompositeDataType__Group__0__Impl8098); 
+             after(grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0()); 
 
             }
 
@@ -10503,21 +10664,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group_3__0__Impl"
+    // $ANTLR end "rule__CompositeDataType__Group__0__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4016:1: rule__Signature__Group_3__1 : rule__Signature__Group_3__1__Impl ;
-    public final void rule__Signature__Group_3__1() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4059:1: rule__CompositeDataType__Group__1 : rule__CompositeDataType__Group__1__Impl rule__CompositeDataType__Group__2 ;
+    public final void rule__CompositeDataType__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4020:1: ( rule__Signature__Group_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4021:2: rule__Signature__Group_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4063:1: ( rule__CompositeDataType__Group__1__Impl rule__CompositeDataType__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4064:2: rule__CompositeDataType__Group__1__Impl rule__CompositeDataType__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3__1__Impl_in_rule__Signature__Group_3__18040);
-            rule__Signature__Group_3__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__1__Impl_in_rule__CompositeDataType__Group__18129);
+            rule__CompositeDataType__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__2_in_rule__CompositeDataType__Group__18132);
+            rule__CompositeDataType__Group__2();
 
             state._fsp--;
 
@@ -10536,53 +10702,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group_3__1"
+    // $ANTLR end "rule__CompositeDataType__Group__1"
 
 
-    // $ANTLR start "rule__Signature__Group_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4027:1: rule__Signature__Group_3__1__Impl : ( ( rule__Signature__Group_3_1__0 )* ) ;
-    public final void rule__Signature__Group_3__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4071:1: rule__CompositeDataType__Group__1__Impl : ( ( rule__CompositeDataType__NameAssignment_1 ) ) ;
+    public final void rule__CompositeDataType__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4031:1: ( ( ( rule__Signature__Group_3_1__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4032:1: ( ( rule__Signature__Group_3_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4075:1: ( ( ( rule__CompositeDataType__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4076:1: ( ( rule__CompositeDataType__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4032:1: ( ( rule__Signature__Group_3_1__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4033:1: ( rule__Signature__Group_3_1__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4076:1: ( ( rule__CompositeDataType__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4077:1: ( rule__CompositeDataType__NameAssignment_1 )
             {
-             before(grammarAccess.getSignatureAccess().getGroup_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4034:1: ( rule__Signature__Group_3_1__0 )*
-            loop23:
-            do {
-                int alt23=2;
-                int LA23_0 = input.LA(1);
-
-                if ( (LA23_0==26) ) {
-                    alt23=1;
-                }
-
-
-                switch (alt23) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4034:2: rule__Signature__Group_3_1__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3_1__0_in_rule__Signature__Group_3__1__Impl8067);
-            	    rule__Signature__Group_3_1__0();
-
-            	    state._fsp--;
+             before(grammarAccess.getCompositeDataTypeAccess().getNameAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4078:1: ( rule__CompositeDataType__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4078:2: rule__CompositeDataType__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__NameAssignment_1_in_rule__CompositeDataType__Group__1__Impl8159);
+            rule__CompositeDataType__NameAssignment_1();
 
+            state._fsp--;
 
-            	    }
-            	    break;
 
-            	default :
-            	    break loop23;
-                }
-            } while (true);
+            }
 
-             after(grammarAccess.getSignatureAccess().getGroup_3_1()); 
+             after(grammarAccess.getCompositeDataTypeAccess().getNameAssignment_1()); 
 
             }
 
@@ -10601,26 +10749,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group_3__1__Impl"
+    // $ANTLR end "rule__CompositeDataType__Group__1__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group_3_1__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4048:1: rule__Signature__Group_3_1__0 : rule__Signature__Group_3_1__0__Impl rule__Signature__Group_3_1__1 ;
-    public final void rule__Signature__Group_3_1__0() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4088:1: rule__CompositeDataType__Group__2 : rule__CompositeDataType__Group__2__Impl rule__CompositeDataType__Group__3 ;
+    public final void rule__CompositeDataType__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4052:1: ( rule__Signature__Group_3_1__0__Impl rule__Signature__Group_3_1__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4053:2: rule__Signature__Group_3_1__0__Impl rule__Signature__Group_3_1__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4092:1: ( rule__CompositeDataType__Group__2__Impl rule__CompositeDataType__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4093:2: rule__CompositeDataType__Group__2__Impl rule__CompositeDataType__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3_1__0__Impl_in_rule__Signature__Group_3_1__08102);
-            rule__Signature__Group_3_1__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__2__Impl_in_rule__CompositeDataType__Group__28189);
+            rule__CompositeDataType__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3_1__1_in_rule__Signature__Group_3_1__08105);
-            rule__Signature__Group_3_1__1();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__3_in_rule__CompositeDataType__Group__28192);
+            rule__CompositeDataType__Group__3();
 
             state._fsp--;
 
@@ -10639,25 +10787,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group_3_1__0"
+    // $ANTLR end "rule__CompositeDataType__Group__2"
 
 
-    // $ANTLR start "rule__Signature__Group_3_1__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4060:1: rule__Signature__Group_3_1__0__Impl : ( ',' ) ;
-    public final void rule__Signature__Group_3_1__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4100:1: rule__CompositeDataType__Group__2__Impl : ( '{' ) ;
+    public final void rule__CompositeDataType__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4064:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4065:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4104:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4105:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4065:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4066:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4105:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4106:1: '{'
             {
-             before(grammarAccess.getSignatureAccess().getCommaKeyword_3_1_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__Signature__Group_3_1__0__Impl8133); 
-             after(grammarAccess.getSignatureAccess().getCommaKeyword_3_1_0()); 
+             before(grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__CompositeDataType__Group__2__Impl8220); 
+             after(grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
 
@@ -10676,21 +10824,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group_3_1__0__Impl"
+    // $ANTLR end "rule__CompositeDataType__Group__2__Impl"
 
 
-    // $ANTLR start "rule__Signature__Group_3_1__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4079:1: rule__Signature__Group_3_1__1 : rule__Signature__Group_3_1__1__Impl ;
-    public final void rule__Signature__Group_3_1__1() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4119:1: rule__CompositeDataType__Group__3 : rule__CompositeDataType__Group__3__Impl rule__CompositeDataType__Group__4 ;
+    public final void rule__CompositeDataType__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4083:1: ( rule__Signature__Group_3_1__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4084:2: rule__Signature__Group_3_1__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4123:1: ( rule__CompositeDataType__Group__3__Impl rule__CompositeDataType__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4124:2: rule__CompositeDataType__Group__3__Impl rule__CompositeDataType__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3_1__1__Impl_in_rule__Signature__Group_3_1__18164);
-            rule__Signature__Group_3_1__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__3__Impl_in_rule__CompositeDataType__Group__38251);
+            rule__CompositeDataType__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__4_in_rule__CompositeDataType__Group__38254);
+            rule__CompositeDataType__Group__4();
 
             state._fsp--;
 
@@ -10709,35 +10862,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group_3_1__1"
+    // $ANTLR end "rule__CompositeDataType__Group__3"
 
 
-    // $ANTLR start "rule__Signature__Group_3_1__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4090:1: rule__Signature__Group_3_1__1__Impl : ( ( rule__Signature__ParametersAssignment_3_1_1 ) ) ;
-    public final void rule__Signature__Group_3_1__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4131:1: rule__CompositeDataType__Group__3__Impl : ( ( rule__CompositeDataType__Group_3__0 )? ) ;
+    public final void rule__CompositeDataType__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4094:1: ( ( ( rule__Signature__ParametersAssignment_3_1_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4095:1: ( ( rule__Signature__ParametersAssignment_3_1_1 ) )
-            {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4095:1: ( ( rule__Signature__ParametersAssignment_3_1_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4096:1: ( rule__Signature__ParametersAssignment_3_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4135:1: ( ( ( rule__CompositeDataType__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4136:1: ( ( rule__CompositeDataType__Group_3__0 )? )
             {
-             before(grammarAccess.getSignatureAccess().getParametersAssignment_3_1_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4097:1: ( rule__Signature__ParametersAssignment_3_1_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4097:2: rule__Signature__ParametersAssignment_3_1_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4136:1: ( ( rule__CompositeDataType__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4137:1: ( rule__CompositeDataType__Group_3__0 )?
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Signature__ParametersAssignment_3_1_1_in_rule__Signature__Group_3_1__1__Impl8191);
-            rule__Signature__ParametersAssignment_3_1_1();
+             before(grammarAccess.getCompositeDataTypeAccess().getGroup_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4138:1: ( rule__CompositeDataType__Group_3__0 )?
+            int alt26=2;
+            int LA26_0 = input.LA(1);
 
-            state._fsp--;
+            if ( (LA26_0==42) ) {
+                alt26=1;
+            }
+            switch (alt26) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4138:2: rule__CompositeDataType__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__0_in_rule__CompositeDataType__Group__3__Impl8281);
+                    rule__CompositeDataType__Group_3__0();
 
+                    state._fsp--;
+
+
+                    }
+                    break;
 
             }
 
-             after(grammarAccess.getSignatureAccess().getParametersAssignment_3_1_1()); 
+             after(grammarAccess.getCompositeDataTypeAccess().getGroup_3()); 
 
             }
 
@@ -10756,26 +10920,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Signature__Group_3_1__1__Impl"
+    // $ANTLR end "rule__CompositeDataType__Group__3__Impl"
 
 
-    // $ANTLR start "rule__Parameter__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4111:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ;
-    public final void rule__Parameter__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4148:1: rule__CompositeDataType__Group__4 : rule__CompositeDataType__Group__4__Impl rule__CompositeDataType__Group__5 ;
+    public final void rule__CompositeDataType__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4115:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4116:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4152:1: ( rule__CompositeDataType__Group__4__Impl rule__CompositeDataType__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4153:2: rule__CompositeDataType__Group__4__Impl rule__CompositeDataType__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__08225);
-            rule__Parameter__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__4__Impl_in_rule__CompositeDataType__Group__48312);
+            rule__CompositeDataType__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__08228);
-            rule__Parameter__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__5_in_rule__CompositeDataType__Group__48315);
+            rule__CompositeDataType__Group__5();
 
             state._fsp--;
 
@@ -10794,35 +10958,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Parameter__Group__0"
+    // $ANTLR end "rule__CompositeDataType__Group__4"
 
 
-    // $ANTLR start "rule__Parameter__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4123:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__DataTypeAssignment_0 ) ) ;
-    public final void rule__Parameter__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4160:1: rule__CompositeDataType__Group__4__Impl : ( ( rule__CompositeDataType__Group_4__0 )? ) ;
+    public final void rule__CompositeDataType__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4127:1: ( ( ( rule__Parameter__DataTypeAssignment_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4128:1: ( ( rule__Parameter__DataTypeAssignment_0 ) )
-            {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4128:1: ( ( rule__Parameter__DataTypeAssignment_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4129:1: ( rule__Parameter__DataTypeAssignment_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4164:1: ( ( ( rule__CompositeDataType__Group_4__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4165:1: ( ( rule__CompositeDataType__Group_4__0 )? )
             {
-             before(grammarAccess.getParameterAccess().getDataTypeAssignment_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4130:1: ( rule__Parameter__DataTypeAssignment_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4130:2: rule__Parameter__DataTypeAssignment_0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4165:1: ( ( rule__CompositeDataType__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4166:1: ( rule__CompositeDataType__Group_4__0 )?
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__DataTypeAssignment_0_in_rule__Parameter__Group__0__Impl8255);
-            rule__Parameter__DataTypeAssignment_0();
+             before(grammarAccess.getCompositeDataTypeAccess().getGroup_4()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4167:1: ( rule__CompositeDataType__Group_4__0 )?
+            int alt27=2;
+            int LA27_0 = input.LA(1);
+
+            if ( (LA27_0==43) ) {
+                alt27=1;
+            }
+            switch (alt27) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4167:2: rule__CompositeDataType__Group_4__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__0_in_rule__CompositeDataType__Group__4__Impl8342);
+                    rule__CompositeDataType__Group_4__0();
+
+                    state._fsp--;
 
-            state._fsp--;
 
+                    }
+                    break;
 
             }
 
-             after(grammarAccess.getParameterAccess().getDataTypeAssignment_0()); 
+             after(grammarAccess.getCompositeDataTypeAccess().getGroup_4()); 
 
             }
 
@@ -10841,21 +11016,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Parameter__Group__0__Impl"
+    // $ANTLR end "rule__CompositeDataType__Group__4__Impl"
 
 
-    // $ANTLR start "rule__Parameter__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4140:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ;
-    public final void rule__Parameter__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__5"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4177:1: rule__CompositeDataType__Group__5 : rule__CompositeDataType__Group__5__Impl ;
+    public final void rule__CompositeDataType__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4144:1: ( rule__Parameter__Group__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4145:2: rule__Parameter__Group__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4181:1: ( rule__CompositeDataType__Group__5__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4182:2: rule__CompositeDataType__Group__5__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__18285);
-            rule__Parameter__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group__5__Impl_in_rule__CompositeDataType__Group__58373);
+            rule__CompositeDataType__Group__5__Impl();
 
             state._fsp--;
 
@@ -10874,35 +11049,100 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Parameter__Group__1"
+    // $ANTLR end "rule__CompositeDataType__Group__5"
 
 
-    // $ANTLR start "rule__Parameter__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4151:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__NameAssignment_1 ) ) ;
-    public final void rule__Parameter__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group__5__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4188:1: rule__CompositeDataType__Group__5__Impl : ( '}' ) ;
+    public final void rule__CompositeDataType__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4155:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4156:1: ( ( rule__Parameter__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4192:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4193:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4156:1: ( ( rule__Parameter__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4157:1: ( rule__Parameter__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4193:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4194:1: '}'
             {
-             before(grammarAccess.getParameterAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4158:1: ( rule__Parameter__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4158:2: rule__Parameter__NameAssignment_1
-            {
-            pushFollow(FollowSets000.FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl8312);
-            rule__Parameter__NameAssignment_1();
-
+             before(grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_5()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__CompositeDataType__Group__5__Impl8401); 
+             after(grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group__5__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4219:1: rule__CompositeDataType__Group_3__0 : rule__CompositeDataType__Group_3__0__Impl rule__CompositeDataType__Group_3__1 ;
+    public final void rule__CompositeDataType__Group_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4223:1: ( rule__CompositeDataType__Group_3__0__Impl rule__CompositeDataType__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4224:2: rule__CompositeDataType__Group_3__0__Impl rule__CompositeDataType__Group_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__0__Impl_in_rule__CompositeDataType__Group_3__08444);
+            rule__CompositeDataType__Group_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__1_in_rule__CompositeDataType__Group_3__08447);
+            rule__CompositeDataType__Group_3__1();
+
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getParameterAccess().getNameAssignment_1()); 
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_3__0"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4231:1: rule__CompositeDataType__Group_3__0__Impl : ( 'parentTypes' ) ;
+    public final void rule__CompositeDataType__Group_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4235:1: ( ( 'parentTypes' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4236:1: ( 'parentTypes' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4236:1: ( 'parentTypes' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4237:1: 'parentTypes'
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_3_0()); 
+            match(input,42,FollowSets000.FOLLOW_42_in_rule__CompositeDataType__Group_3__0__Impl8475); 
+             after(grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_3_0()); 
 
             }
 
@@ -10921,26 +11161,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Parameter__Group__1__Impl"
+    // $ANTLR end "rule__CompositeDataType__Group_3__0__Impl"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4172:1: rule__ProvidedRole__Group__0 : rule__ProvidedRole__Group__0__Impl rule__ProvidedRole__Group__1 ;
-    public final void rule__ProvidedRole__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4250:1: rule__CompositeDataType__Group_3__1 : rule__CompositeDataType__Group_3__1__Impl rule__CompositeDataType__Group_3__2 ;
+    public final void rule__CompositeDataType__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4176:1: ( rule__ProvidedRole__Group__0__Impl rule__ProvidedRole__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4177:2: rule__ProvidedRole__Group__0__Impl rule__ProvidedRole__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4254:1: ( rule__CompositeDataType__Group_3__1__Impl rule__CompositeDataType__Group_3__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4255:2: rule__CompositeDataType__Group_3__1__Impl rule__CompositeDataType__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__0__Impl_in_rule__ProvidedRole__Group__08346);
-            rule__ProvidedRole__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__1__Impl_in_rule__CompositeDataType__Group_3__18506);
+            rule__CompositeDataType__Group_3__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__1_in_rule__ProvidedRole__Group__08349);
-            rule__ProvidedRole__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__2_in_rule__CompositeDataType__Group_3__18509);
+            rule__CompositeDataType__Group_3__2();
 
             state._fsp--;
 
@@ -10959,29 +11199,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group__0"
+    // $ANTLR end "rule__CompositeDataType__Group_3__1"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4184:1: rule__ProvidedRole__Group__0__Impl : ( () ) ;
-    public final void rule__ProvidedRole__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4262:1: rule__CompositeDataType__Group_3__1__Impl : ( '(' ) ;
+    public final void rule__CompositeDataType__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4188:1: ( ( () ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4189:1: ( () )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4266:1: ( ( '(' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4267:1: ( '(' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4189:1: ( () )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4190:1: ()
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4267:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4268:1: '('
             {
-             before(grammarAccess.getProvidedRoleAccess().getProvidedRoleAction_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4191:1: ()
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4193:1: 
-            {
-            }
-
-             after(grammarAccess.getProvidedRoleAccess().getProvidedRoleAction_0()); 
+             before(grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_3_1()); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__CompositeDataType__Group_3__1__Impl8537); 
+             after(grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_3_1()); 
 
             }
 
@@ -10989,6 +11225,10 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             }
 
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
         finally {
 
             	restoreStackSize(stackSize);
@@ -10996,26 +11236,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group__0__Impl"
+    // $ANTLR end "rule__CompositeDataType__Group_3__1__Impl"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4203:1: rule__ProvidedRole__Group__1 : rule__ProvidedRole__Group__1__Impl rule__ProvidedRole__Group__2 ;
-    public final void rule__ProvidedRole__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group_3__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4281:1: rule__CompositeDataType__Group_3__2 : rule__CompositeDataType__Group_3__2__Impl rule__CompositeDataType__Group_3__3 ;
+    public final void rule__CompositeDataType__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4207:1: ( rule__ProvidedRole__Group__1__Impl rule__ProvidedRole__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4208:2: rule__ProvidedRole__Group__1__Impl rule__ProvidedRole__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4285:1: ( rule__CompositeDataType__Group_3__2__Impl rule__CompositeDataType__Group_3__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4286:2: rule__CompositeDataType__Group_3__2__Impl rule__CompositeDataType__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__1__Impl_in_rule__ProvidedRole__Group__18407);
-            rule__ProvidedRole__Group__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__2__Impl_in_rule__CompositeDataType__Group_3__28568);
+            rule__CompositeDataType__Group_3__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__2_in_rule__ProvidedRole__Group__18410);
-            rule__ProvidedRole__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__3_in_rule__CompositeDataType__Group_3__28571);
+            rule__CompositeDataType__Group_3__3();
 
             state._fsp--;
 
@@ -11034,25 +11274,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group__1"
+    // $ANTLR end "rule__CompositeDataType__Group_3__2"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4215:1: rule__ProvidedRole__Group__1__Impl : ( 'ProvidedRole' ) ;
-    public final void rule__ProvidedRole__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group_3__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4293:1: rule__CompositeDataType__Group_3__2__Impl : ( ( rule__CompositeDataType__ParentTypesAssignment_3_2 ) ) ;
+    public final void rule__CompositeDataType__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4219:1: ( ( 'ProvidedRole' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4220:1: ( 'ProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4297:1: ( ( ( rule__CompositeDataType__ParentTypesAssignment_3_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4298:1: ( ( rule__CompositeDataType__ParentTypesAssignment_3_2 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4298:1: ( ( rule__CompositeDataType__ParentTypesAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4299:1: ( rule__CompositeDataType__ParentTypesAssignment_3_2 )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4220:1: ( 'ProvidedRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4221:1: 'ProvidedRole'
+             before(grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_3_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4300:1: ( rule__CompositeDataType__ParentTypesAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4300:2: rule__CompositeDataType__ParentTypesAssignment_3_2
             {
-             before(grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_1()); 
-            match(input,42,FollowSets000.FOLLOW_42_in_rule__ProvidedRole__Group__1__Impl8438); 
-             after(grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_1()); 
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__ParentTypesAssignment_3_2_in_rule__CompositeDataType__Group_3__2__Impl8598);
+            rule__CompositeDataType__ParentTypesAssignment_3_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_3_2()); 
 
             }
 
@@ -11071,21 +11321,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group__1__Impl"
+    // $ANTLR end "rule__CompositeDataType__Group_3__2__Impl"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4234:1: rule__ProvidedRole__Group__2 : rule__ProvidedRole__Group__2__Impl ;
-    public final void rule__ProvidedRole__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group_3__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4310:1: rule__CompositeDataType__Group_3__3 : rule__CompositeDataType__Group_3__3__Impl rule__CompositeDataType__Group_3__4 ;
+    public final void rule__CompositeDataType__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4238:1: ( rule__ProvidedRole__Group__2__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4239:2: rule__ProvidedRole__Group__2__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4314:1: ( rule__CompositeDataType__Group_3__3__Impl rule__CompositeDataType__Group_3__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4315:2: rule__CompositeDataType__Group_3__3__Impl rule__CompositeDataType__Group_3__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__2__Impl_in_rule__ProvidedRole__Group__28469);
-            rule__ProvidedRole__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__3__Impl_in_rule__CompositeDataType__Group_3__38628);
+            rule__CompositeDataType__Group_3__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__4_in_rule__CompositeDataType__Group_3__38631);
+            rule__CompositeDataType__Group_3__4();
 
             state._fsp--;
 
@@ -11104,53 +11359,2680 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group__2"
+    // $ANTLR end "rule__CompositeDataType__Group_3__3"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4245:1: rule__ProvidedRole__Group__2__Impl : ( ( rule__ProvidedRole__Group_2__0 )* ) ;
-    public final void rule__ProvidedRole__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__CompositeDataType__Group_3__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4322:1: rule__CompositeDataType__Group_3__3__Impl : ( ( rule__CompositeDataType__Group_3_3__0 )* ) ;
+    public final void rule__CompositeDataType__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4249:1: ( ( ( rule__ProvidedRole__Group_2__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4250:1: ( ( rule__ProvidedRole__Group_2__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4326:1: ( ( ( rule__CompositeDataType__Group_3_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4327:1: ( ( rule__CompositeDataType__Group_3_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4250:1: ( ( rule__ProvidedRole__Group_2__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4251:1: ( rule__ProvidedRole__Group_2__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4327:1: ( ( rule__CompositeDataType__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4328:1: ( rule__CompositeDataType__Group_3_3__0 )*
             {
-             before(grammarAccess.getProvidedRoleAccess().getGroup_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4252:1: ( rule__ProvidedRole__Group_2__0 )*
-            loop24:
+             before(grammarAccess.getCompositeDataTypeAccess().getGroup_3_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4329:1: ( rule__CompositeDataType__Group_3_3__0 )*
+            loop28:
             do {
-                int alt24=2;
-                int LA24_0 = input.LA(1);
+                int alt28=2;
+                int LA28_0 = input.LA(1);
 
-                if ( ((LA24_0>=RULE_STRING && LA24_0<=RULE_ID)) ) {
-                    alt24=1;
+                if ( (LA28_0==23) ) {
+                    alt28=1;
                 }
 
 
-                switch (alt24) {
+                switch (alt28) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4252:2: rule__ProvidedRole__Group_2__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4329:2: rule__CompositeDataType__Group_3_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group_2__0_in_rule__ProvidedRole__Group__2__Impl8496);
-            	    rule__ProvidedRole__Group_2__0();
+            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3_3__0_in_rule__CompositeDataType__Group_3__3__Impl8658);
+            	    rule__CompositeDataType__Group_3_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop28;
+                }
+            } while (true);
+
+             after(grammarAccess.getCompositeDataTypeAccess().getGroup_3_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_3__3__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_3__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4339:1: rule__CompositeDataType__Group_3__4 : rule__CompositeDataType__Group_3__4__Impl ;
+    public final void rule__CompositeDataType__Group_3__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4343:1: ( rule__CompositeDataType__Group_3__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4344:2: rule__CompositeDataType__Group_3__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3__4__Impl_in_rule__CompositeDataType__Group_3__48689);
+            rule__CompositeDataType__Group_3__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_3__4"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_3__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4350:1: rule__CompositeDataType__Group_3__4__Impl : ( ')' ) ;
+    public final void rule__CompositeDataType__Group_3__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4354:1: ( ( ')' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4355:1: ( ')' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4355:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4356:1: ')'
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_3_4()); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__CompositeDataType__Group_3__4__Impl8717); 
+             after(grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_3_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_3__4__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_3_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4379:1: rule__CompositeDataType__Group_3_3__0 : rule__CompositeDataType__Group_3_3__0__Impl rule__CompositeDataType__Group_3_3__1 ;
+    public final void rule__CompositeDataType__Group_3_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4383:1: ( rule__CompositeDataType__Group_3_3__0__Impl rule__CompositeDataType__Group_3_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4384:2: rule__CompositeDataType__Group_3_3__0__Impl rule__CompositeDataType__Group_3_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3_3__0__Impl_in_rule__CompositeDataType__Group_3_3__08758);
+            rule__CompositeDataType__Group_3_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3_3__1_in_rule__CompositeDataType__Group_3_3__08761);
+            rule__CompositeDataType__Group_3_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_3_3__0"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_3_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4391:1: rule__CompositeDataType__Group_3_3__0__Impl : ( ',' ) ;
+    public final void rule__CompositeDataType__Group_3_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4395:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4396:1: ( ',' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4396:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4397:1: ','
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_3_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__CompositeDataType__Group_3_3__0__Impl8789); 
+             after(grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_3_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_3_3__0__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_3_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4410:1: rule__CompositeDataType__Group_3_3__1 : rule__CompositeDataType__Group_3_3__1__Impl ;
+    public final void rule__CompositeDataType__Group_3_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4414:1: ( rule__CompositeDataType__Group_3_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4415:2: rule__CompositeDataType__Group_3_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_3_3__1__Impl_in_rule__CompositeDataType__Group_3_3__18820);
+            rule__CompositeDataType__Group_3_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_3_3__1"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_3_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4421:1: rule__CompositeDataType__Group_3_3__1__Impl : ( ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 ) ) ;
+    public final void rule__CompositeDataType__Group_3_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4425:1: ( ( ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4426:1: ( ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4426:1: ( ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4427:1: ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 )
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_3_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4428:1: ( rule__CompositeDataType__ParentTypesAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4428:2: rule__CompositeDataType__ParentTypesAssignment_3_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__ParentTypesAssignment_3_3_1_in_rule__CompositeDataType__Group_3_3__1__Impl8847);
+            rule__CompositeDataType__ParentTypesAssignment_3_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_3_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_3_3__1__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4442:1: rule__CompositeDataType__Group_4__0 : rule__CompositeDataType__Group_4__0__Impl rule__CompositeDataType__Group_4__1 ;
+    public final void rule__CompositeDataType__Group_4__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4446:1: ( rule__CompositeDataType__Group_4__0__Impl rule__CompositeDataType__Group_4__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4447:2: rule__CompositeDataType__Group_4__0__Impl rule__CompositeDataType__Group_4__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__0__Impl_in_rule__CompositeDataType__Group_4__08881);
+            rule__CompositeDataType__Group_4__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__1_in_rule__CompositeDataType__Group_4__08884);
+            rule__CompositeDataType__Group_4__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__0"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4454:1: rule__CompositeDataType__Group_4__0__Impl : ( 'innerDeclarations' ) ;
+    public final void rule__CompositeDataType__Group_4__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4458:1: ( ( 'innerDeclarations' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4459:1: ( 'innerDeclarations' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4459:1: ( 'innerDeclarations' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4460:1: 'innerDeclarations'
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_4_0()); 
+            match(input,43,FollowSets000.FOLLOW_43_in_rule__CompositeDataType__Group_4__0__Impl8912); 
+             after(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_4_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__0__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4473:1: rule__CompositeDataType__Group_4__1 : rule__CompositeDataType__Group_4__1__Impl rule__CompositeDataType__Group_4__2 ;
+    public final void rule__CompositeDataType__Group_4__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4477:1: ( rule__CompositeDataType__Group_4__1__Impl rule__CompositeDataType__Group_4__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4478:2: rule__CompositeDataType__Group_4__1__Impl rule__CompositeDataType__Group_4__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__1__Impl_in_rule__CompositeDataType__Group_4__18943);
+            rule__CompositeDataType__Group_4__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__2_in_rule__CompositeDataType__Group_4__18946);
+            rule__CompositeDataType__Group_4__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__1"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4485:1: rule__CompositeDataType__Group_4__1__Impl : ( '{' ) ;
+    public final void rule__CompositeDataType__Group_4__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4489:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4490:1: ( '{' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4490:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4491:1: '{'
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_4_1()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__CompositeDataType__Group_4__1__Impl8974); 
+             after(grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_4_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__1__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4504:1: rule__CompositeDataType__Group_4__2 : rule__CompositeDataType__Group_4__2__Impl rule__CompositeDataType__Group_4__3 ;
+    public final void rule__CompositeDataType__Group_4__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4508:1: ( rule__CompositeDataType__Group_4__2__Impl rule__CompositeDataType__Group_4__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4509:2: rule__CompositeDataType__Group_4__2__Impl rule__CompositeDataType__Group_4__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__2__Impl_in_rule__CompositeDataType__Group_4__29005);
+            rule__CompositeDataType__Group_4__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__3_in_rule__CompositeDataType__Group_4__29008);
+            rule__CompositeDataType__Group_4__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__2"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4516:1: rule__CompositeDataType__Group_4__2__Impl : ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 ) ) ;
+    public final void rule__CompositeDataType__Group_4__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4520:1: ( ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4521:1: ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4521:1: ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4522:1: ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 )
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_4_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4523:1: ( rule__CompositeDataType__InnerDeclarationsAssignment_4_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4523:2: rule__CompositeDataType__InnerDeclarationsAssignment_4_2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__InnerDeclarationsAssignment_4_2_in_rule__CompositeDataType__Group_4__2__Impl9035);
+            rule__CompositeDataType__InnerDeclarationsAssignment_4_2();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_4_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__2__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4533:1: rule__CompositeDataType__Group_4__3 : rule__CompositeDataType__Group_4__3__Impl rule__CompositeDataType__Group_4__4 ;
+    public final void rule__CompositeDataType__Group_4__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4537:1: ( rule__CompositeDataType__Group_4__3__Impl rule__CompositeDataType__Group_4__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4538:2: rule__CompositeDataType__Group_4__3__Impl rule__CompositeDataType__Group_4__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__3__Impl_in_rule__CompositeDataType__Group_4__39065);
+            rule__CompositeDataType__Group_4__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__4_in_rule__CompositeDataType__Group_4__39068);
+            rule__CompositeDataType__Group_4__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__3"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4545:1: rule__CompositeDataType__Group_4__3__Impl : ( ( rule__CompositeDataType__Group_4_3__0 )* ) ;
+    public final void rule__CompositeDataType__Group_4__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4549:1: ( ( ( rule__CompositeDataType__Group_4_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4550:1: ( ( rule__CompositeDataType__Group_4_3__0 )* )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4550:1: ( ( rule__CompositeDataType__Group_4_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4551:1: ( rule__CompositeDataType__Group_4_3__0 )*
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getGroup_4_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4552:1: ( rule__CompositeDataType__Group_4_3__0 )*
+            loop29:
+            do {
+                int alt29=2;
+                int LA29_0 = input.LA(1);
+
+                if ( (LA29_0==23) ) {
+                    alt29=1;
+                }
+
+
+                switch (alt29) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4552:2: rule__CompositeDataType__Group_4_3__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4_3__0_in_rule__CompositeDataType__Group_4__3__Impl9095);
+            	    rule__CompositeDataType__Group_4_3__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop29;
+                }
+            } while (true);
+
+             after(grammarAccess.getCompositeDataTypeAccess().getGroup_4_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__3__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4562:1: rule__CompositeDataType__Group_4__4 : rule__CompositeDataType__Group_4__4__Impl ;
+    public final void rule__CompositeDataType__Group_4__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4566:1: ( rule__CompositeDataType__Group_4__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4567:2: rule__CompositeDataType__Group_4__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4__4__Impl_in_rule__CompositeDataType__Group_4__49126);
+            rule__CompositeDataType__Group_4__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__4"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4573:1: rule__CompositeDataType__Group_4__4__Impl : ( '}' ) ;
+    public final void rule__CompositeDataType__Group_4__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4577:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4578:1: ( '}' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4578:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4579:1: '}'
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_4_4()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__CompositeDataType__Group_4__4__Impl9154); 
+             after(grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_4_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4__4__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4602:1: rule__CompositeDataType__Group_4_3__0 : rule__CompositeDataType__Group_4_3__0__Impl rule__CompositeDataType__Group_4_3__1 ;
+    public final void rule__CompositeDataType__Group_4_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4606:1: ( rule__CompositeDataType__Group_4_3__0__Impl rule__CompositeDataType__Group_4_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4607:2: rule__CompositeDataType__Group_4_3__0__Impl rule__CompositeDataType__Group_4_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4_3__0__Impl_in_rule__CompositeDataType__Group_4_3__09195);
+            rule__CompositeDataType__Group_4_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4_3__1_in_rule__CompositeDataType__Group_4_3__09198);
+            rule__CompositeDataType__Group_4_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4_3__0"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4614:1: rule__CompositeDataType__Group_4_3__0__Impl : ( ',' ) ;
+    public final void rule__CompositeDataType__Group_4_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4618:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4619:1: ( ',' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4619:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4620:1: ','
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_4_3_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__CompositeDataType__Group_4_3__0__Impl9226); 
+             after(grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_4_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4_3__0__Impl"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4633:1: rule__CompositeDataType__Group_4_3__1 : rule__CompositeDataType__Group_4_3__1__Impl ;
+    public final void rule__CompositeDataType__Group_4_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4637:1: ( rule__CompositeDataType__Group_4_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4638:2: rule__CompositeDataType__Group_4_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__Group_4_3__1__Impl_in_rule__CompositeDataType__Group_4_3__19257);
+            rule__CompositeDataType__Group_4_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4_3__1"
+
+
+    // $ANTLR start "rule__CompositeDataType__Group_4_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4644:1: rule__CompositeDataType__Group_4_3__1__Impl : ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 ) ) ;
+    public final void rule__CompositeDataType__Group_4_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4648:1: ( ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4649:1: ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4649:1: ( ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4650:1: ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 )
+            {
+             before(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_4_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4651:1: ( rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4651:2: rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1_in_rule__CompositeDataType__Group_4_3__1__Impl9284);
+            rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_4_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__CompositeDataType__Group_4_3__1__Impl"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4665:1: rule__PrimitiveDataType__Group__0 : rule__PrimitiveDataType__Group__0__Impl rule__PrimitiveDataType__Group__1 ;
+    public final void rule__PrimitiveDataType__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4669:1: ( rule__PrimitiveDataType__Group__0__Impl rule__PrimitiveDataType__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4670:2: rule__PrimitiveDataType__Group__0__Impl rule__PrimitiveDataType__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__0__Impl_in_rule__PrimitiveDataType__Group__09318);
+            rule__PrimitiveDataType__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__1_in_rule__PrimitiveDataType__Group__09321);
+            rule__PrimitiveDataType__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__0"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4677:1: rule__PrimitiveDataType__Group__0__Impl : ( 'PrimitiveDataType' ) ;
+    public final void rule__PrimitiveDataType__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4681:1: ( ( 'PrimitiveDataType' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4682:1: ( 'PrimitiveDataType' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4682:1: ( 'PrimitiveDataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4683:1: 'PrimitiveDataType'
+            {
+             before(grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0()); 
+            match(input,44,FollowSets000.FOLLOW_44_in_rule__PrimitiveDataType__Group__0__Impl9349); 
+             after(grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__0__Impl"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4696:1: rule__PrimitiveDataType__Group__1 : rule__PrimitiveDataType__Group__1__Impl rule__PrimitiveDataType__Group__2 ;
+    public final void rule__PrimitiveDataType__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4700:1: ( rule__PrimitiveDataType__Group__1__Impl rule__PrimitiveDataType__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4701:2: rule__PrimitiveDataType__Group__1__Impl rule__PrimitiveDataType__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__1__Impl_in_rule__PrimitiveDataType__Group__19380);
+            rule__PrimitiveDataType__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__2_in_rule__PrimitiveDataType__Group__19383);
+            rule__PrimitiveDataType__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__1"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4708:1: rule__PrimitiveDataType__Group__1__Impl : ( '{' ) ;
+    public final void rule__PrimitiveDataType__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4712:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4713:1: ( '{' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4713:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4714:1: '{'
+            {
+             before(grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__PrimitiveDataType__Group__1__Impl9411); 
+             after(grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__1__Impl"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4727:1: rule__PrimitiveDataType__Group__2 : rule__PrimitiveDataType__Group__2__Impl rule__PrimitiveDataType__Group__3 ;
+    public final void rule__PrimitiveDataType__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4731:1: ( rule__PrimitiveDataType__Group__2__Impl rule__PrimitiveDataType__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4732:2: rule__PrimitiveDataType__Group__2__Impl rule__PrimitiveDataType__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__2__Impl_in_rule__PrimitiveDataType__Group__29442);
+            rule__PrimitiveDataType__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__3_in_rule__PrimitiveDataType__Group__29445);
+            rule__PrimitiveDataType__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__2"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4739:1: rule__PrimitiveDataType__Group__2__Impl : ( 'type' ) ;
+    public final void rule__PrimitiveDataType__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4743:1: ( ( 'type' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4744:1: ( 'type' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4744:1: ( 'type' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4745:1: 'type'
+            {
+             before(grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2()); 
+            match(input,45,FollowSets000.FOLLOW_45_in_rule__PrimitiveDataType__Group__2__Impl9473); 
+             after(grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__2__Impl"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4758:1: rule__PrimitiveDataType__Group__3 : rule__PrimitiveDataType__Group__3__Impl rule__PrimitiveDataType__Group__4 ;
+    public final void rule__PrimitiveDataType__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4762:1: ( rule__PrimitiveDataType__Group__3__Impl rule__PrimitiveDataType__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4763:2: rule__PrimitiveDataType__Group__3__Impl rule__PrimitiveDataType__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__3__Impl_in_rule__PrimitiveDataType__Group__39504);
+            rule__PrimitiveDataType__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__4_in_rule__PrimitiveDataType__Group__39507);
+            rule__PrimitiveDataType__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__3"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4770:1: rule__PrimitiveDataType__Group__3__Impl : ( ( rule__PrimitiveDataType__TypeAssignment_3 ) ) ;
+    public final void rule__PrimitiveDataType__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4774:1: ( ( ( rule__PrimitiveDataType__TypeAssignment_3 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4775:1: ( ( rule__PrimitiveDataType__TypeAssignment_3 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4775:1: ( ( rule__PrimitiveDataType__TypeAssignment_3 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4776:1: ( rule__PrimitiveDataType__TypeAssignment_3 )
+            {
+             before(grammarAccess.getPrimitiveDataTypeAccess().getTypeAssignment_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4777:1: ( rule__PrimitiveDataType__TypeAssignment_3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4777:2: rule__PrimitiveDataType__TypeAssignment_3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__TypeAssignment_3_in_rule__PrimitiveDataType__Group__3__Impl9534);
+            rule__PrimitiveDataType__TypeAssignment_3();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getPrimitiveDataTypeAccess().getTypeAssignment_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__3__Impl"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4787:1: rule__PrimitiveDataType__Group__4 : rule__PrimitiveDataType__Group__4__Impl rule__PrimitiveDataType__Group__5 ;
+    public final void rule__PrimitiveDataType__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4791:1: ( rule__PrimitiveDataType__Group__4__Impl rule__PrimitiveDataType__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4792:2: rule__PrimitiveDataType__Group__4__Impl rule__PrimitiveDataType__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__4__Impl_in_rule__PrimitiveDataType__Group__49564);
+            rule__PrimitiveDataType__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__5_in_rule__PrimitiveDataType__Group__49567);
+            rule__PrimitiveDataType__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__4"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4799:1: rule__PrimitiveDataType__Group__4__Impl : ( 'ref' ) ;
+    public final void rule__PrimitiveDataType__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4803:1: ( ( 'ref' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4804:1: ( 'ref' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4804:1: ( 'ref' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4805:1: 'ref'
+            {
+             before(grammarAccess.getPrimitiveDataTypeAccess().getRefKeyword_4()); 
+            match(input,46,FollowSets000.FOLLOW_46_in_rule__PrimitiveDataType__Group__4__Impl9595); 
+             after(grammarAccess.getPrimitiveDataTypeAccess().getRefKeyword_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__4__Impl"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__5"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4818:1: rule__PrimitiveDataType__Group__5 : rule__PrimitiveDataType__Group__5__Impl rule__PrimitiveDataType__Group__6 ;
+    public final void rule__PrimitiveDataType__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4822:1: ( rule__PrimitiveDataType__Group__5__Impl rule__PrimitiveDataType__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4823:2: rule__PrimitiveDataType__Group__5__Impl rule__PrimitiveDataType__Group__6
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__5__Impl_in_rule__PrimitiveDataType__Group__59626);
+            rule__PrimitiveDataType__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__6_in_rule__PrimitiveDataType__Group__59629);
+            rule__PrimitiveDataType__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__5"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__5__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4830:1: rule__PrimitiveDataType__Group__5__Impl : ( ( rule__PrimitiveDataType__NameAssignment_5 ) ) ;
+    public final void rule__PrimitiveDataType__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4834:1: ( ( ( rule__PrimitiveDataType__NameAssignment_5 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4835:1: ( ( rule__PrimitiveDataType__NameAssignment_5 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4835:1: ( ( rule__PrimitiveDataType__NameAssignment_5 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4836:1: ( rule__PrimitiveDataType__NameAssignment_5 )
+            {
+             before(grammarAccess.getPrimitiveDataTypeAccess().getNameAssignment_5()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4837:1: ( rule__PrimitiveDataType__NameAssignment_5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4837:2: rule__PrimitiveDataType__NameAssignment_5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__NameAssignment_5_in_rule__PrimitiveDataType__Group__5__Impl9656);
+            rule__PrimitiveDataType__NameAssignment_5();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getPrimitiveDataTypeAccess().getNameAssignment_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__5__Impl"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__6"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4847:1: rule__PrimitiveDataType__Group__6 : rule__PrimitiveDataType__Group__6__Impl ;
+    public final void rule__PrimitiveDataType__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4851:1: ( rule__PrimitiveDataType__Group__6__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4852:2: rule__PrimitiveDataType__Group__6__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__PrimitiveDataType__Group__6__Impl_in_rule__PrimitiveDataType__Group__69686);
+            rule__PrimitiveDataType__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__6"
+
+
+    // $ANTLR start "rule__PrimitiveDataType__Group__6__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4858:1: rule__PrimitiveDataType__Group__6__Impl : ( '}' ) ;
+    public final void rule__PrimitiveDataType__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4862:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4863:1: ( '}' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4863:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4864:1: '}'
+            {
+             before(grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_6()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__PrimitiveDataType__Group__6__Impl9714); 
+             after(grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__PrimitiveDataType__Group__6__Impl"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4891:1: rule__InnerDeclaration__Group__0 : rule__InnerDeclaration__Group__0__Impl rule__InnerDeclaration__Group__1 ;
+    public final void rule__InnerDeclaration__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4895:1: ( rule__InnerDeclaration__Group__0__Impl rule__InnerDeclaration__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4896:2: rule__InnerDeclaration__Group__0__Impl rule__InnerDeclaration__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__0__Impl_in_rule__InnerDeclaration__Group__09759);
+            rule__InnerDeclaration__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__1_in_rule__InnerDeclaration__Group__09762);
+            rule__InnerDeclaration__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__0"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4903:1: rule__InnerDeclaration__Group__0__Impl : ( 'InnerDeclaration' ) ;
+    public final void rule__InnerDeclaration__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4907:1: ( ( 'InnerDeclaration' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4908:1: ( 'InnerDeclaration' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4908:1: ( 'InnerDeclaration' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4909:1: 'InnerDeclaration'
+            {
+             before(grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0()); 
+            match(input,47,FollowSets000.FOLLOW_47_in_rule__InnerDeclaration__Group__0__Impl9790); 
+             after(grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__0__Impl"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4922:1: rule__InnerDeclaration__Group__1 : rule__InnerDeclaration__Group__1__Impl rule__InnerDeclaration__Group__2 ;
+    public final void rule__InnerDeclaration__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4926:1: ( rule__InnerDeclaration__Group__1__Impl rule__InnerDeclaration__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4927:2: rule__InnerDeclaration__Group__1__Impl rule__InnerDeclaration__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__1__Impl_in_rule__InnerDeclaration__Group__19821);
+            rule__InnerDeclaration__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__2_in_rule__InnerDeclaration__Group__19824);
+            rule__InnerDeclaration__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__1"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4934:1: rule__InnerDeclaration__Group__1__Impl : ( ( rule__InnerDeclaration__NameAssignment_1 ) ) ;
+    public final void rule__InnerDeclaration__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4938:1: ( ( ( rule__InnerDeclaration__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4939:1: ( ( rule__InnerDeclaration__NameAssignment_1 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4939:1: ( ( rule__InnerDeclaration__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4940:1: ( rule__InnerDeclaration__NameAssignment_1 )
+            {
+             before(grammarAccess.getInnerDeclarationAccess().getNameAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4941:1: ( rule__InnerDeclaration__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4941:2: rule__InnerDeclaration__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__NameAssignment_1_in_rule__InnerDeclaration__Group__1__Impl9851);
+            rule__InnerDeclaration__NameAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getInnerDeclarationAccess().getNameAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__1__Impl"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4951:1: rule__InnerDeclaration__Group__2 : rule__InnerDeclaration__Group__2__Impl rule__InnerDeclaration__Group__3 ;
+    public final void rule__InnerDeclaration__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4955:1: ( rule__InnerDeclaration__Group__2__Impl rule__InnerDeclaration__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4956:2: rule__InnerDeclaration__Group__2__Impl rule__InnerDeclaration__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__2__Impl_in_rule__InnerDeclaration__Group__29881);
+            rule__InnerDeclaration__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__3_in_rule__InnerDeclaration__Group__29884);
+            rule__InnerDeclaration__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__2"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4963:1: rule__InnerDeclaration__Group__2__Impl : ( '{' ) ;
+    public final void rule__InnerDeclaration__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4967:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4968:1: ( '{' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4968:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4969:1: '{'
+            {
+             before(grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2()); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__InnerDeclaration__Group__2__Impl9912); 
+             after(grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__2__Impl"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4982:1: rule__InnerDeclaration__Group__3 : rule__InnerDeclaration__Group__3__Impl rule__InnerDeclaration__Group__4 ;
+    public final void rule__InnerDeclaration__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4986:1: ( rule__InnerDeclaration__Group__3__Impl rule__InnerDeclaration__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4987:2: rule__InnerDeclaration__Group__3__Impl rule__InnerDeclaration__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__3__Impl_in_rule__InnerDeclaration__Group__39943);
+            rule__InnerDeclaration__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__4_in_rule__InnerDeclaration__Group__39946);
+            rule__InnerDeclaration__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__3"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4994:1: rule__InnerDeclaration__Group__3__Impl : ( 'dataType' ) ;
+    public final void rule__InnerDeclaration__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4998:1: ( ( 'dataType' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4999:1: ( 'dataType' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4999:1: ( 'dataType' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5000:1: 'dataType'
+            {
+             before(grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_3()); 
+            match(input,48,FollowSets000.FOLLOW_48_in_rule__InnerDeclaration__Group__3__Impl9974); 
+             after(grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__3__Impl"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5013:1: rule__InnerDeclaration__Group__4 : rule__InnerDeclaration__Group__4__Impl rule__InnerDeclaration__Group__5 ;
+    public final void rule__InnerDeclaration__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5017:1: ( rule__InnerDeclaration__Group__4__Impl rule__InnerDeclaration__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5018:2: rule__InnerDeclaration__Group__4__Impl rule__InnerDeclaration__Group__5
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__4__Impl_in_rule__InnerDeclaration__Group__410005);
+            rule__InnerDeclaration__Group__4__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__5_in_rule__InnerDeclaration__Group__410008);
+            rule__InnerDeclaration__Group__5();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__4"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5025:1: rule__InnerDeclaration__Group__4__Impl : ( ( rule__InnerDeclaration__DataTypeAssignment_4 ) ) ;
+    public final void rule__InnerDeclaration__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5029:1: ( ( ( rule__InnerDeclaration__DataTypeAssignment_4 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5030:1: ( ( rule__InnerDeclaration__DataTypeAssignment_4 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5030:1: ( ( rule__InnerDeclaration__DataTypeAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5031:1: ( rule__InnerDeclaration__DataTypeAssignment_4 )
+            {
+             before(grammarAccess.getInnerDeclarationAccess().getDataTypeAssignment_4()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5032:1: ( rule__InnerDeclaration__DataTypeAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5032:2: rule__InnerDeclaration__DataTypeAssignment_4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__DataTypeAssignment_4_in_rule__InnerDeclaration__Group__4__Impl10035);
+            rule__InnerDeclaration__DataTypeAssignment_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getInnerDeclarationAccess().getDataTypeAssignment_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__4__Impl"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__5"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5042:1: rule__InnerDeclaration__Group__5 : rule__InnerDeclaration__Group__5__Impl ;
+    public final void rule__InnerDeclaration__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5046:1: ( rule__InnerDeclaration__Group__5__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5047:2: rule__InnerDeclaration__Group__5__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__InnerDeclaration__Group__5__Impl_in_rule__InnerDeclaration__Group__510065);
+            rule__InnerDeclaration__Group__5__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__5"
+
+
+    // $ANTLR start "rule__InnerDeclaration__Group__5__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5053:1: rule__InnerDeclaration__Group__5__Impl : ( '}' ) ;
+    public final void rule__InnerDeclaration__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5057:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5058:1: ( '}' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5058:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5059:1: '}'
+            {
+             before(grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_5()); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__InnerDeclaration__Group__5__Impl10093); 
+             after(grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__InnerDeclaration__Group__5__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5084:1: rule__Signature__Group__0 : rule__Signature__Group__0__Impl rule__Signature__Group__1 ;
+    public final void rule__Signature__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5088:1: ( rule__Signature__Group__0__Impl rule__Signature__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5089:2: rule__Signature__Group__0__Impl rule__Signature__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__0__Impl_in_rule__Signature__Group__010136);
+            rule__Signature__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__1_in_rule__Signature__Group__010139);
+            rule__Signature__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__0"
+
+
+    // $ANTLR start "rule__Signature__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5096:1: rule__Signature__Group__0__Impl : ( ( rule__Signature__Alternatives_0 ) ) ;
+    public final void rule__Signature__Group__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5100:1: ( ( ( rule__Signature__Alternatives_0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5101:1: ( ( rule__Signature__Alternatives_0 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5101:1: ( ( rule__Signature__Alternatives_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5102:1: ( rule__Signature__Alternatives_0 )
+            {
+             before(grammarAccess.getSignatureAccess().getAlternatives_0()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5103:1: ( rule__Signature__Alternatives_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5103:2: rule__Signature__Alternatives_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Alternatives_0_in_rule__Signature__Group__0__Impl10166);
+            rule__Signature__Alternatives_0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSignatureAccess().getAlternatives_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__0__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5113:1: rule__Signature__Group__1 : rule__Signature__Group__1__Impl rule__Signature__Group__2 ;
+    public final void rule__Signature__Group__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5117:1: ( rule__Signature__Group__1__Impl rule__Signature__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5118:2: rule__Signature__Group__1__Impl rule__Signature__Group__2
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__1__Impl_in_rule__Signature__Group__110196);
+            rule__Signature__Group__1__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__2_in_rule__Signature__Group__110199);
+            rule__Signature__Group__2();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__1"
+
+
+    // $ANTLR start "rule__Signature__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5125:1: rule__Signature__Group__1__Impl : ( ( rule__Signature__NameAssignment_1 ) ) ;
+    public final void rule__Signature__Group__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5129:1: ( ( ( rule__Signature__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5130:1: ( ( rule__Signature__NameAssignment_1 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5130:1: ( ( rule__Signature__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5131:1: ( rule__Signature__NameAssignment_1 )
+            {
+             before(grammarAccess.getSignatureAccess().getNameAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5132:1: ( rule__Signature__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5132:2: rule__Signature__NameAssignment_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__NameAssignment_1_in_rule__Signature__Group__1__Impl10226);
+            rule__Signature__NameAssignment_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSignatureAccess().getNameAssignment_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__1__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5142:1: rule__Signature__Group__2 : rule__Signature__Group__2__Impl rule__Signature__Group__3 ;
+    public final void rule__Signature__Group__2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5146:1: ( rule__Signature__Group__2__Impl rule__Signature__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5147:2: rule__Signature__Group__2__Impl rule__Signature__Group__3
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__2__Impl_in_rule__Signature__Group__210256);
+            rule__Signature__Group__2__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__3_in_rule__Signature__Group__210259);
+            rule__Signature__Group__3();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__2"
+
+
+    // $ANTLR start "rule__Signature__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5154:1: rule__Signature__Group__2__Impl : ( '(' ) ;
+    public final void rule__Signature__Group__2__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5158:1: ( ( '(' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5159:1: ( '(' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5159:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5160:1: '('
+            {
+             before(grammarAccess.getSignatureAccess().getLeftParenthesisKeyword_2()); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__Signature__Group__2__Impl10287); 
+             after(grammarAccess.getSignatureAccess().getLeftParenthesisKeyword_2()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__2__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group__3"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5173:1: rule__Signature__Group__3 : rule__Signature__Group__3__Impl rule__Signature__Group__4 ;
+    public final void rule__Signature__Group__3() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5177:1: ( rule__Signature__Group__3__Impl rule__Signature__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5178:2: rule__Signature__Group__3__Impl rule__Signature__Group__4
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__3__Impl_in_rule__Signature__Group__310318);
+            rule__Signature__Group__3__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__4_in_rule__Signature__Group__310321);
+            rule__Signature__Group__4();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__3"
+
+
+    // $ANTLR start "rule__Signature__Group__3__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5185:1: rule__Signature__Group__3__Impl : ( ( rule__Signature__Group_3__0 )? ) ;
+    public final void rule__Signature__Group__3__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5189:1: ( ( ( rule__Signature__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5190:1: ( ( rule__Signature__Group_3__0 )? )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5190:1: ( ( rule__Signature__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5191:1: ( rule__Signature__Group_3__0 )?
+            {
+             before(grammarAccess.getSignatureAccess().getGroup_3()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5192:1: ( rule__Signature__Group_3__0 )?
+            int alt30=2;
+            int LA30_0 = input.LA(1);
+
+            if ( ((LA30_0>=RULE_STRING && LA30_0<=RULE_ID)) ) {
+                alt30=1;
+            }
+            switch (alt30) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5192:2: rule__Signature__Group_3__0
+                    {
+                    pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3__0_in_rule__Signature__Group__3__Impl10348);
+                    rule__Signature__Group_3__0();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getSignatureAccess().getGroup_3()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__3__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group__4"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5202:1: rule__Signature__Group__4 : rule__Signature__Group__4__Impl ;
+    public final void rule__Signature__Group__4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5206:1: ( rule__Signature__Group__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5207:2: rule__Signature__Group__4__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group__4__Impl_in_rule__Signature__Group__410379);
+            rule__Signature__Group__4__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__4"
+
+
+    // $ANTLR start "rule__Signature__Group__4__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5213:1: rule__Signature__Group__4__Impl : ( ')' ) ;
+    public final void rule__Signature__Group__4__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5217:1: ( ( ')' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5218:1: ( ')' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5218:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5219:1: ')'
+            {
+             before(grammarAccess.getSignatureAccess().getRightParenthesisKeyword_4()); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__Signature__Group__4__Impl10407); 
+             after(grammarAccess.getSignatureAccess().getRightParenthesisKeyword_4()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group__4__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group_3__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5242:1: rule__Signature__Group_3__0 : rule__Signature__Group_3__0__Impl rule__Signature__Group_3__1 ;
+    public final void rule__Signature__Group_3__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5246:1: ( rule__Signature__Group_3__0__Impl rule__Signature__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5247:2: rule__Signature__Group_3__0__Impl rule__Signature__Group_3__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3__0__Impl_in_rule__Signature__Group_3__010448);
+            rule__Signature__Group_3__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3__1_in_rule__Signature__Group_3__010451);
+            rule__Signature__Group_3__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group_3__0"
+
+
+    // $ANTLR start "rule__Signature__Group_3__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5254:1: rule__Signature__Group_3__0__Impl : ( ( rule__Signature__ParametersAssignment_3_0 ) ) ;
+    public final void rule__Signature__Group_3__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5258:1: ( ( ( rule__Signature__ParametersAssignment_3_0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5259:1: ( ( rule__Signature__ParametersAssignment_3_0 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5259:1: ( ( rule__Signature__ParametersAssignment_3_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5260:1: ( rule__Signature__ParametersAssignment_3_0 )
+            {
+             before(grammarAccess.getSignatureAccess().getParametersAssignment_3_0()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5261:1: ( rule__Signature__ParametersAssignment_3_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5261:2: rule__Signature__ParametersAssignment_3_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__ParametersAssignment_3_0_in_rule__Signature__Group_3__0__Impl10478);
+            rule__Signature__ParametersAssignment_3_0();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSignatureAccess().getParametersAssignment_3_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group_3__0__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group_3__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5271:1: rule__Signature__Group_3__1 : rule__Signature__Group_3__1__Impl ;
+    public final void rule__Signature__Group_3__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5275:1: ( rule__Signature__Group_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5276:2: rule__Signature__Group_3__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3__1__Impl_in_rule__Signature__Group_3__110508);
+            rule__Signature__Group_3__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group_3__1"
+
+
+    // $ANTLR start "rule__Signature__Group_3__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5282:1: rule__Signature__Group_3__1__Impl : ( ( rule__Signature__Group_3_1__0 )* ) ;
+    public final void rule__Signature__Group_3__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5286:1: ( ( ( rule__Signature__Group_3_1__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5287:1: ( ( rule__Signature__Group_3_1__0 )* )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5287:1: ( ( rule__Signature__Group_3_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5288:1: ( rule__Signature__Group_3_1__0 )*
+            {
+             before(grammarAccess.getSignatureAccess().getGroup_3_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5289:1: ( rule__Signature__Group_3_1__0 )*
+            loop31:
+            do {
+                int alt31=2;
+                int LA31_0 = input.LA(1);
+
+                if ( (LA31_0==23) ) {
+                    alt31=1;
+                }
+
+
+                switch (alt31) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5289:2: rule__Signature__Group_3_1__0
+            	    {
+            	    pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3_1__0_in_rule__Signature__Group_3__1__Impl10535);
+            	    rule__Signature__Group_3_1__0();
+
+            	    state._fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop31;
+                }
+            } while (true);
+
+             after(grammarAccess.getSignatureAccess().getGroup_3_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group_3__1__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group_3_1__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5303:1: rule__Signature__Group_3_1__0 : rule__Signature__Group_3_1__0__Impl rule__Signature__Group_3_1__1 ;
+    public final void rule__Signature__Group_3_1__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5307:1: ( rule__Signature__Group_3_1__0__Impl rule__Signature__Group_3_1__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5308:2: rule__Signature__Group_3_1__0__Impl rule__Signature__Group_3_1__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3_1__0__Impl_in_rule__Signature__Group_3_1__010570);
+            rule__Signature__Group_3_1__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3_1__1_in_rule__Signature__Group_3_1__010573);
+            rule__Signature__Group_3_1__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group_3_1__0"
+
+
+    // $ANTLR start "rule__Signature__Group_3_1__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5315:1: rule__Signature__Group_3_1__0__Impl : ( ',' ) ;
+    public final void rule__Signature__Group_3_1__0__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5319:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5320:1: ( ',' )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5320:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5321:1: ','
+            {
+             before(grammarAccess.getSignatureAccess().getCommaKeyword_3_1_0()); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__Signature__Group_3_1__0__Impl10601); 
+             after(grammarAccess.getSignatureAccess().getCommaKeyword_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group_3_1__0__Impl"
+
+
+    // $ANTLR start "rule__Signature__Group_3_1__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5334:1: rule__Signature__Group_3_1__1 : rule__Signature__Group_3_1__1__Impl ;
+    public final void rule__Signature__Group_3_1__1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5338:1: ( rule__Signature__Group_3_1__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5339:2: rule__Signature__Group_3_1__1__Impl
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__Group_3_1__1__Impl_in_rule__Signature__Group_3_1__110632);
+            rule__Signature__Group_3_1__1__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group_3_1__1"
+
+
+    // $ANTLR start "rule__Signature__Group_3_1__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5345:1: rule__Signature__Group_3_1__1__Impl : ( ( rule__Signature__ParametersAssignment_3_1_1 ) ) ;
+    public final void rule__Signature__Group_3_1__1__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5349:1: ( ( ( rule__Signature__ParametersAssignment_3_1_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5350:1: ( ( rule__Signature__ParametersAssignment_3_1_1 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5350:1: ( ( rule__Signature__ParametersAssignment_3_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5351:1: ( rule__Signature__ParametersAssignment_3_1_1 )
+            {
+             before(grammarAccess.getSignatureAccess().getParametersAssignment_3_1_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5352:1: ( rule__Signature__ParametersAssignment_3_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5352:2: rule__Signature__ParametersAssignment_3_1_1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Signature__ParametersAssignment_3_1_1_in_rule__Signature__Group_3_1__1__Impl10659);
+            rule__Signature__ParametersAssignment_3_1_1();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getSignatureAccess().getParametersAssignment_3_1_1()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Signature__Group_3_1__1__Impl"
+
+
+    // $ANTLR start "rule__Parameter__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5366:1: rule__Parameter__Group__0 : rule__Parameter__Group__0__Impl rule__Parameter__Group__1 ;
+    public final void rule__Parameter__Group__0() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5370:1: ( rule__Parameter__Group__0__Impl rule__Parameter__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5371:2: rule__Parameter__Group__0__Impl rule__Parameter__Group__1
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__010693);
+            rule__Parameter__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__010696);
+            rule__Parameter__Group__1();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Parameter__Group__0"
+
 
-            	    state._fsp--;
+    // $ANTLR start "rule__Parameter__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5378:1: rule__Parameter__Group__0__Impl : ( ( rule__Parameter__DataTypeAssignment_0 ) ) ;
+    public final void rule__Parameter__Group__0__Impl() throws RecognitionException {
 
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5382:1: ( ( ( rule__Parameter__DataTypeAssignment_0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5383:1: ( ( rule__Parameter__DataTypeAssignment_0 ) )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5383:1: ( ( rule__Parameter__DataTypeAssignment_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5384:1: ( rule__Parameter__DataTypeAssignment_0 )
+            {
+             before(grammarAccess.getParameterAccess().getDataTypeAssignment_0()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5385:1: ( rule__Parameter__DataTypeAssignment_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5385:2: rule__Parameter__DataTypeAssignment_0
+            {
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__DataTypeAssignment_0_in_rule__Parameter__Group__0__Impl10723);
+            rule__Parameter__DataTypeAssignment_0();
 
-            	    }
-            	    break;
+            state._fsp--;
 
-            	default :
-            	    break loop24;
-                }
-            } while (true);
 
-             after(grammarAccess.getProvidedRoleAccess().getGroup_2()); 
+            }
+
+             after(grammarAccess.getParameterAccess().getDataTypeAssignment_0()); 
 
             }
 
@@ -11169,26 +14051,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group__2__Impl"
+    // $ANTLR end "rule__Parameter__Group__0__Impl"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group_2__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4268:1: rule__ProvidedRole__Group_2__0 : rule__ProvidedRole__Group_2__0__Impl rule__ProvidedRole__Group_2__1 ;
-    public final void rule__ProvidedRole__Group_2__0() throws RecognitionException {
+    // $ANTLR start "rule__Parameter__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5395:1: rule__Parameter__Group__1 : rule__Parameter__Group__1__Impl ;
+    public final void rule__Parameter__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4272:1: ( rule__ProvidedRole__Group_2__0__Impl rule__ProvidedRole__Group_2__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4273:2: rule__ProvidedRole__Group_2__0__Impl rule__ProvidedRole__Group_2__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5399:1: ( rule__Parameter__Group__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5400:2: rule__Parameter__Group__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group_2__0__Impl_in_rule__ProvidedRole__Group_2__08533);
-            rule__ProvidedRole__Group_2__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group_2__1_in_rule__ProvidedRole__Group_2__08536);
-            rule__ProvidedRole__Group_2__1();
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__110753);
+            rule__Parameter__Group__1__Impl();
 
             state._fsp--;
 
@@ -11207,35 +14084,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group_2__0"
+    // $ANTLR end "rule__Parameter__Group__1"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group_2__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4280:1: rule__ProvidedRole__Group_2__0__Impl : ( ( rule__ProvidedRole__InterfaceAssignment_2_0 ) ) ;
-    public final void rule__ProvidedRole__Group_2__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Parameter__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5406:1: rule__Parameter__Group__1__Impl : ( ( rule__Parameter__NameAssignment_1 ) ) ;
+    public final void rule__Parameter__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4284:1: ( ( ( rule__ProvidedRole__InterfaceAssignment_2_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4285:1: ( ( rule__ProvidedRole__InterfaceAssignment_2_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5410:1: ( ( ( rule__Parameter__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5411:1: ( ( rule__Parameter__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4285:1: ( ( rule__ProvidedRole__InterfaceAssignment_2_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4286:1: ( rule__ProvidedRole__InterfaceAssignment_2_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5411:1: ( ( rule__Parameter__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5412:1: ( rule__Parameter__NameAssignment_1 )
             {
-             before(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4287:1: ( rule__ProvidedRole__InterfaceAssignment_2_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4287:2: rule__ProvidedRole__InterfaceAssignment_2_0
+             before(grammarAccess.getParameterAccess().getNameAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5413:1: ( rule__Parameter__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5413:2: rule__Parameter__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__InterfaceAssignment_2_0_in_rule__ProvidedRole__Group_2__0__Impl8563);
-            rule__ProvidedRole__InterfaceAssignment_2_0();
+            pushFollow(FollowSets000.FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl10780);
+            rule__Parameter__NameAssignment_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_2_0()); 
+             after(grammarAccess.getParameterAccess().getNameAssignment_1()); 
 
             }
 
@@ -11254,21 +14131,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group_2__0__Impl"
+    // $ANTLR end "rule__Parameter__Group__1__Impl"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group_2__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4297:1: rule__ProvidedRole__Group_2__1 : rule__ProvidedRole__Group_2__1__Impl ;
-    public final void rule__ProvidedRole__Group_2__1() throws RecognitionException {
+    // $ANTLR start "rule__ProvidedRole__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5427:1: rule__ProvidedRole__Group__0 : rule__ProvidedRole__Group__0__Impl rule__ProvidedRole__Group__1 ;
+    public final void rule__ProvidedRole__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4301:1: ( rule__ProvidedRole__Group_2__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4302:2: rule__ProvidedRole__Group_2__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5431:1: ( rule__ProvidedRole__Group__0__Impl rule__ProvidedRole__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5432:2: rule__ProvidedRole__Group__0__Impl rule__ProvidedRole__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group_2__1__Impl_in_rule__ProvidedRole__Group_2__18593);
-            rule__ProvidedRole__Group_2__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__0__Impl_in_rule__ProvidedRole__Group__010814);
+            rule__ProvidedRole__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__1_in_rule__ProvidedRole__Group__010817);
+            rule__ProvidedRole__Group__1();
 
             state._fsp--;
 
@@ -11287,46 +14169,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group_2__1"
+    // $ANTLR end "rule__ProvidedRole__Group__0"
 
 
-    // $ANTLR start "rule__ProvidedRole__Group_2__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4308:1: rule__ProvidedRole__Group_2__1__Impl : ( ( ',' )? ) ;
-    public final void rule__ProvidedRole__Group_2__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__ProvidedRole__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5439:1: rule__ProvidedRole__Group__0__Impl : ( 'ProvidedRole' ) ;
+    public final void rule__ProvidedRole__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4312:1: ( ( ( ',' )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4313:1: ( ( ',' )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5443:1: ( ( 'ProvidedRole' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5444:1: ( 'ProvidedRole' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4313:1: ( ( ',' )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4314:1: ( ',' )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5444:1: ( 'ProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5445:1: 'ProvidedRole'
             {
-             before(grammarAccess.getProvidedRoleAccess().getCommaKeyword_2_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4315:1: ( ',' )?
-            int alt25=2;
-            int LA25_0 = input.LA(1);
-
-            if ( (LA25_0==26) ) {
-                int LA25_1 = input.LA(2);
-
-                if ( (LA25_1==EOF||(LA25_1>=RULE_STRING && LA25_1<=RULE_ID)||(LA25_1>=20 && LA25_1<=21)||LA25_1==26||LA25_1==43) ) {
-                    alt25=1;
-                }
-            }
-            switch (alt25) {
-                case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4316:2: ','
-                    {
-                    match(input,26,FollowSets000.FOLLOW_26_in_rule__ProvidedRole__Group_2__1__Impl8622); 
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getProvidedRoleAccess().getCommaKeyword_2_1()); 
+             before(grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0()); 
+            match(input,49,FollowSets000.FOLLOW_49_in_rule__ProvidedRole__Group__0__Impl10845); 
+             after(grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0()); 
 
             }
 
@@ -11345,26 +14206,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__Group_2__1__Impl"
+    // $ANTLR end "rule__ProvidedRole__Group__0__Impl"
 
 
-    // $ANTLR start "rule__RequiredRole__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4331:1: rule__RequiredRole__Group__0 : rule__RequiredRole__Group__0__Impl rule__RequiredRole__Group__1 ;
-    public final void rule__RequiredRole__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__ProvidedRole__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5458:1: rule__ProvidedRole__Group__1 : rule__ProvidedRole__Group__1__Impl rule__ProvidedRole__Group__2 ;
+    public final void rule__ProvidedRole__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4335:1: ( rule__RequiredRole__Group__0__Impl rule__RequiredRole__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4336:2: rule__RequiredRole__Group__0__Impl rule__RequiredRole__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5462:1: ( rule__ProvidedRole__Group__1__Impl rule__ProvidedRole__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5463:2: rule__ProvidedRole__Group__1__Impl rule__ProvidedRole__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__0__Impl_in_rule__RequiredRole__Group__08659);
-            rule__RequiredRole__Group__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__1__Impl_in_rule__ProvidedRole__Group__110876);
+            rule__ProvidedRole__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__1_in_rule__RequiredRole__Group__08662);
-            rule__RequiredRole__Group__1();
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__2_in_rule__ProvidedRole__Group__110879);
+            rule__ProvidedRole__Group__2();
 
             state._fsp--;
 
@@ -11383,29 +14244,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group__0"
+    // $ANTLR end "rule__ProvidedRole__Group__1"
 
 
-    // $ANTLR start "rule__RequiredRole__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4343:1: rule__RequiredRole__Group__0__Impl : ( () ) ;
-    public final void rule__RequiredRole__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__ProvidedRole__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5470:1: rule__ProvidedRole__Group__1__Impl : ( ( rule__ProvidedRole__InterfaceAssignment_1 ) ) ;
+    public final void rule__ProvidedRole__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4347:1: ( ( () ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4348:1: ( () )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5474:1: ( ( ( rule__ProvidedRole__InterfaceAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5475:1: ( ( rule__ProvidedRole__InterfaceAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4348:1: ( () )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4349:1: ()
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5475:1: ( ( rule__ProvidedRole__InterfaceAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5476:1: ( rule__ProvidedRole__InterfaceAssignment_1 )
             {
-             before(grammarAccess.getRequiredRoleAccess().getRequiredRoleAction_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4350:1: ()
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4352:1: 
+             before(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5477:1: ( rule__ProvidedRole__InterfaceAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5477:2: rule__ProvidedRole__InterfaceAssignment_1
             {
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__InterfaceAssignment_1_in_rule__ProvidedRole__Group__1__Impl10906);
+            rule__ProvidedRole__InterfaceAssignment_1();
+
+            state._fsp--;
+
+
             }
 
-             after(grammarAccess.getRequiredRoleAccess().getRequiredRoleAction_0()); 
+             after(grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_1()); 
 
             }
 
@@ -11413,6 +14280,10 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             }
 
         }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
         finally {
 
             	restoreStackSize(stackSize);
@@ -11420,26 +14291,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group__0__Impl"
+    // $ANTLR end "rule__ProvidedRole__Group__1__Impl"
 
 
-    // $ANTLR start "rule__RequiredRole__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4362:1: rule__RequiredRole__Group__1 : rule__RequiredRole__Group__1__Impl rule__RequiredRole__Group__2 ;
-    public final void rule__RequiredRole__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__ProvidedRole__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5487:1: rule__ProvidedRole__Group__2 : rule__ProvidedRole__Group__2__Impl ;
+    public final void rule__ProvidedRole__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4366:1: ( rule__RequiredRole__Group__1__Impl rule__RequiredRole__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4367:2: rule__RequiredRole__Group__1__Impl rule__RequiredRole__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5491:1: ( rule__ProvidedRole__Group__2__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5492:2: rule__ProvidedRole__Group__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__1__Impl_in_rule__RequiredRole__Group__18720);
-            rule__RequiredRole__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__2_in_rule__RequiredRole__Group__18723);
-            rule__RequiredRole__Group__2();
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedRole__Group__2__Impl_in_rule__ProvidedRole__Group__210936);
+            rule__ProvidedRole__Group__2__Impl();
 
             state._fsp--;
 
@@ -11458,25 +14324,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group__1"
+    // $ANTLR end "rule__ProvidedRole__Group__2"
 
 
-    // $ANTLR start "rule__RequiredRole__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4374:1: rule__RequiredRole__Group__1__Impl : ( 'RequiredRole' ) ;
-    public final void rule__RequiredRole__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__ProvidedRole__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5498:1: rule__ProvidedRole__Group__2__Impl : ( ( ',' )? ) ;
+    public final void rule__ProvidedRole__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4378:1: ( ( 'RequiredRole' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4379:1: ( 'RequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5502:1: ( ( ( ',' )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5503:1: ( ( ',' )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4379:1: ( 'RequiredRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4380:1: 'RequiredRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5503:1: ( ( ',' )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5504:1: ( ',' )?
             {
-             before(grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_1()); 
-            match(input,43,FollowSets000.FOLLOW_43_in_rule__RequiredRole__Group__1__Impl8751); 
-             after(grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_1()); 
+             before(grammarAccess.getProvidedRoleAccess().getCommaKeyword_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5505:1: ( ',' )?
+            int alt32=2;
+            int LA32_0 = input.LA(1);
+
+            if ( (LA32_0==23) ) {
+                int LA32_1 = input.LA(2);
+
+                if ( (LA32_1==EOF||(LA32_1>=20 && LA32_1<=21)||LA32_1==23||LA32_1==50) ) {
+                    alt32=1;
+                }
+            }
+            switch (alt32) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5506:2: ','
+                    {
+                    match(input,23,FollowSets000.FOLLOW_23_in_rule__ProvidedRole__Group__2__Impl10965); 
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getProvidedRoleAccess().getCommaKeyword_2()); 
 
             }
 
@@ -11495,21 +14382,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group__1__Impl"
+    // $ANTLR end "rule__ProvidedRole__Group__2__Impl"
 
 
-    // $ANTLR start "rule__RequiredRole__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4393:1: rule__RequiredRole__Group__2 : rule__RequiredRole__Group__2__Impl ;
-    public final void rule__RequiredRole__Group__2() throws RecognitionException {
+    // $ANTLR start "rule__RequiredRole__Group__0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5523:1: rule__RequiredRole__Group__0 : rule__RequiredRole__Group__0__Impl rule__RequiredRole__Group__1 ;
+    public final void rule__RequiredRole__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4397:1: ( rule__RequiredRole__Group__2__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4398:2: rule__RequiredRole__Group__2__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5527:1: ( rule__RequiredRole__Group__0__Impl rule__RequiredRole__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5528:2: rule__RequiredRole__Group__0__Impl rule__RequiredRole__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__2__Impl_in_rule__RequiredRole__Group__28782);
-            rule__RequiredRole__Group__2__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__0__Impl_in_rule__RequiredRole__Group__011004);
+            rule__RequiredRole__Group__0__Impl();
+
+            state._fsp--;
+
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__1_in_rule__RequiredRole__Group__011007);
+            rule__RequiredRole__Group__1();
 
             state._fsp--;
 
@@ -11528,53 +14420,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group__2"
+    // $ANTLR end "rule__RequiredRole__Group__0"
 
 
-    // $ANTLR start "rule__RequiredRole__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4404:1: rule__RequiredRole__Group__2__Impl : ( ( rule__RequiredRole__Group_2__0 )* ) ;
-    public final void rule__RequiredRole__Group__2__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RequiredRole__Group__0__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5535:1: rule__RequiredRole__Group__0__Impl : ( 'RequiredRole' ) ;
+    public final void rule__RequiredRole__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4408:1: ( ( ( rule__RequiredRole__Group_2__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4409:1: ( ( rule__RequiredRole__Group_2__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5539:1: ( ( 'RequiredRole' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5540:1: ( 'RequiredRole' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4409:1: ( ( rule__RequiredRole__Group_2__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4410:1: ( rule__RequiredRole__Group_2__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5540:1: ( 'RequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5541:1: 'RequiredRole'
             {
-             before(grammarAccess.getRequiredRoleAccess().getGroup_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4411:1: ( rule__RequiredRole__Group_2__0 )*
-            loop26:
-            do {
-                int alt26=2;
-                int LA26_0 = input.LA(1);
-
-                if ( ((LA26_0>=RULE_STRING && LA26_0<=RULE_ID)) ) {
-                    alt26=1;
-                }
-
-
-                switch (alt26) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4411:2: rule__RequiredRole__Group_2__0
-            	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group_2__0_in_rule__RequiredRole__Group__2__Impl8809);
-            	    rule__RequiredRole__Group_2__0();
-
-            	    state._fsp--;
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    break loop26;
-                }
-            } while (true);
-
-             after(grammarAccess.getRequiredRoleAccess().getGroup_2()); 
+             before(grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0()); 
+            match(input,50,FollowSets000.FOLLOW_50_in_rule__RequiredRole__Group__0__Impl11035); 
+             after(grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0()); 
 
             }
 
@@ -11593,26 +14457,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group__2__Impl"
+    // $ANTLR end "rule__RequiredRole__Group__0__Impl"
 
 
-    // $ANTLR start "rule__RequiredRole__Group_2__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4427:1: rule__RequiredRole__Group_2__0 : rule__RequiredRole__Group_2__0__Impl rule__RequiredRole__Group_2__1 ;
-    public final void rule__RequiredRole__Group_2__0() throws RecognitionException {
+    // $ANTLR start "rule__RequiredRole__Group__1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5554:1: rule__RequiredRole__Group__1 : rule__RequiredRole__Group__1__Impl rule__RequiredRole__Group__2 ;
+    public final void rule__RequiredRole__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4431:1: ( rule__RequiredRole__Group_2__0__Impl rule__RequiredRole__Group_2__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4432:2: rule__RequiredRole__Group_2__0__Impl rule__RequiredRole__Group_2__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5558:1: ( rule__RequiredRole__Group__1__Impl rule__RequiredRole__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5559:2: rule__RequiredRole__Group__1__Impl rule__RequiredRole__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group_2__0__Impl_in_rule__RequiredRole__Group_2__08846);
-            rule__RequiredRole__Group_2__0__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__1__Impl_in_rule__RequiredRole__Group__111066);
+            rule__RequiredRole__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group_2__1_in_rule__RequiredRole__Group_2__08849);
-            rule__RequiredRole__Group_2__1();
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__2_in_rule__RequiredRole__Group__111069);
+            rule__RequiredRole__Group__2();
 
             state._fsp--;
 
@@ -11631,35 +14495,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group_2__0"
+    // $ANTLR end "rule__RequiredRole__Group__1"
 
 
-    // $ANTLR start "rule__RequiredRole__Group_2__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4439:1: rule__RequiredRole__Group_2__0__Impl : ( ( rule__RequiredRole__InterfaceAssignment_2_0 ) ) ;
-    public final void rule__RequiredRole__Group_2__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RequiredRole__Group__1__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5566:1: rule__RequiredRole__Group__1__Impl : ( ( rule__RequiredRole__InterfaceAssignment_1 ) ) ;
+    public final void rule__RequiredRole__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4443:1: ( ( ( rule__RequiredRole__InterfaceAssignment_2_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4444:1: ( ( rule__RequiredRole__InterfaceAssignment_2_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5570:1: ( ( ( rule__RequiredRole__InterfaceAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5571:1: ( ( rule__RequiredRole__InterfaceAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4444:1: ( ( rule__RequiredRole__InterfaceAssignment_2_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4445:1: ( rule__RequiredRole__InterfaceAssignment_2_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5571:1: ( ( rule__RequiredRole__InterfaceAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5572:1: ( rule__RequiredRole__InterfaceAssignment_1 )
             {
-             before(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4446:1: ( rule__RequiredRole__InterfaceAssignment_2_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4446:2: rule__RequiredRole__InterfaceAssignment_2_0
+             before(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_1()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5573:1: ( rule__RequiredRole__InterfaceAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5573:2: rule__RequiredRole__InterfaceAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__InterfaceAssignment_2_0_in_rule__RequiredRole__Group_2__0__Impl8876);
-            rule__RequiredRole__InterfaceAssignment_2_0();
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__InterfaceAssignment_1_in_rule__RequiredRole__Group__1__Impl11096);
+            rule__RequiredRole__InterfaceAssignment_1();
 
             state._fsp--;
 
 
             }
 
-             after(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_2_0()); 
+             after(grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_1()); 
 
             }
 
@@ -11678,21 +14542,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group_2__0__Impl"
+    // $ANTLR end "rule__RequiredRole__Group__1__Impl"
 
 
-    // $ANTLR start "rule__RequiredRole__Group_2__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4456:1: rule__RequiredRole__Group_2__1 : rule__RequiredRole__Group_2__1__Impl ;
-    public final void rule__RequiredRole__Group_2__1() throws RecognitionException {
+    // $ANTLR start "rule__RequiredRole__Group__2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5583:1: rule__RequiredRole__Group__2 : rule__RequiredRole__Group__2__Impl ;
+    public final void rule__RequiredRole__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4460:1: ( rule__RequiredRole__Group_2__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4461:2: rule__RequiredRole__Group_2__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5587:1: ( rule__RequiredRole__Group__2__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5588:2: rule__RequiredRole__Group__2__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group_2__1__Impl_in_rule__RequiredRole__Group_2__18906);
-            rule__RequiredRole__Group_2__1__Impl();
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredRole__Group__2__Impl_in_rule__RequiredRole__Group__211126);
+            rule__RequiredRole__Group__2__Impl();
 
             state._fsp--;
 
@@ -11711,46 +14575,46 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group_2__1"
+    // $ANTLR end "rule__RequiredRole__Group__2"
 
 
-    // $ANTLR start "rule__RequiredRole__Group_2__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4467:1: rule__RequiredRole__Group_2__1__Impl : ( ( ',' )? ) ;
-    public final void rule__RequiredRole__Group_2__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__RequiredRole__Group__2__Impl"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5594:1: rule__RequiredRole__Group__2__Impl : ( ( ',' )? ) ;
+    public final void rule__RequiredRole__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4471:1: ( ( ( ',' )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4472:1: ( ( ',' )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5598:1: ( ( ( ',' )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5599:1: ( ( ',' )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4472:1: ( ( ',' )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4473:1: ( ',' )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5599:1: ( ( ',' )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5600:1: ( ',' )?
             {
-             before(grammarAccess.getRequiredRoleAccess().getCommaKeyword_2_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4474:1: ( ',' )?
-            int alt27=2;
-            int LA27_0 = input.LA(1);
+             before(grammarAccess.getRequiredRoleAccess().getCommaKeyword_2()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5601:1: ( ',' )?
+            int alt33=2;
+            int LA33_0 = input.LA(1);
 
-            if ( (LA27_0==26) ) {
-                int LA27_1 = input.LA(2);
+            if ( (LA33_0==23) ) {
+                int LA33_1 = input.LA(2);
 
-                if ( (LA27_1==EOF||(LA27_1>=RULE_STRING && LA27_1<=RULE_ID)||(LA27_1>=20 && LA27_1<=21)||LA27_1==26) ) {
-                    alt27=1;
+                if ( (LA33_1==EOF||(LA33_1>=20 && LA33_1<=21)||LA33_1==23) ) {
+                    alt33=1;
                 }
             }
-            switch (alt27) {
+            switch (alt33) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4475:2: ','
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5602:2: ','
                     {
-                    match(input,26,FollowSets000.FOLLOW_26_in_rule__RequiredRole__Group_2__1__Impl8935); 
+                    match(input,23,FollowSets000.FOLLOW_23_in_rule__RequiredRole__Group__2__Impl11155); 
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getRequiredRoleAccess().getCommaKeyword_2_1()); 
+             after(grammarAccess.getRequiredRoleAccess().getCommaKeyword_2()); 
 
             }
 
@@ -11769,25 +14633,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__Group_2__1__Impl"
+    // $ANTLR end "rule__RequiredRole__Group__2__Impl"
 
 
     // $ANTLR start "rule__BasicComponent__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4490:1: rule__BasicComponent__Group__0 : rule__BasicComponent__Group__0__Impl rule__BasicComponent__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5619:1: rule__BasicComponent__Group__0 : rule__BasicComponent__Group__0__Impl rule__BasicComponent__Group__1 ;
     public final void rule__BasicComponent__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4494:1: ( rule__BasicComponent__Group__0__Impl rule__BasicComponent__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4495:2: rule__BasicComponent__Group__0__Impl rule__BasicComponent__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5623:1: ( rule__BasicComponent__Group__0__Impl rule__BasicComponent__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5624:2: rule__BasicComponent__Group__0__Impl rule__BasicComponent__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__0__Impl_in_rule__BasicComponent__Group__08972);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__0__Impl_in_rule__BasicComponent__Group__011194);
             rule__BasicComponent__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__1_in_rule__BasicComponent__Group__08975);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__1_in_rule__BasicComponent__Group__011197);
             rule__BasicComponent__Group__1();
 
             state._fsp--;
@@ -11811,20 +14675,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4502:1: rule__BasicComponent__Group__0__Impl : ( 'BasicComponent' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5631:1: rule__BasicComponent__Group__0__Impl : ( 'BasicComponent' ) ;
     public final void rule__BasicComponent__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4506:1: ( ( 'BasicComponent' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4507:1: ( 'BasicComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5635:1: ( ( 'BasicComponent' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5636:1: ( 'BasicComponent' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4507:1: ( 'BasicComponent' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4508:1: 'BasicComponent'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5636:1: ( 'BasicComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5637:1: 'BasicComponent'
             {
              before(grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0()); 
-            match(input,44,FollowSets000.FOLLOW_44_in_rule__BasicComponent__Group__0__Impl9003); 
+            match(input,51,FollowSets000.FOLLOW_51_in_rule__BasicComponent__Group__0__Impl11225); 
              after(grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0()); 
 
             }
@@ -11848,21 +14712,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4521:1: rule__BasicComponent__Group__1 : rule__BasicComponent__Group__1__Impl rule__BasicComponent__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5650:1: rule__BasicComponent__Group__1 : rule__BasicComponent__Group__1__Impl rule__BasicComponent__Group__2 ;
     public final void rule__BasicComponent__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4525:1: ( rule__BasicComponent__Group__1__Impl rule__BasicComponent__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4526:2: rule__BasicComponent__Group__1__Impl rule__BasicComponent__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5654:1: ( rule__BasicComponent__Group__1__Impl rule__BasicComponent__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5655:2: rule__BasicComponent__Group__1__Impl rule__BasicComponent__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__1__Impl_in_rule__BasicComponent__Group__19034);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__1__Impl_in_rule__BasicComponent__Group__111256);
             rule__BasicComponent__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__2_in_rule__BasicComponent__Group__19037);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__2_in_rule__BasicComponent__Group__111259);
             rule__BasicComponent__Group__2();
 
             state._fsp--;
@@ -11886,23 +14750,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4533:1: rule__BasicComponent__Group__1__Impl : ( ( rule__BasicComponent__NameAssignment_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5662:1: rule__BasicComponent__Group__1__Impl : ( ( rule__BasicComponent__NameAssignment_1 ) ) ;
     public final void rule__BasicComponent__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4537:1: ( ( ( rule__BasicComponent__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4538:1: ( ( rule__BasicComponent__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5666:1: ( ( ( rule__BasicComponent__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5667:1: ( ( rule__BasicComponent__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4538:1: ( ( rule__BasicComponent__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4539:1: ( rule__BasicComponent__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5667:1: ( ( rule__BasicComponent__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5668:1: ( rule__BasicComponent__NameAssignment_1 )
             {
              before(grammarAccess.getBasicComponentAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4540:1: ( rule__BasicComponent__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4540:2: rule__BasicComponent__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5669:1: ( rule__BasicComponent__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5669:2: rule__BasicComponent__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__NameAssignment_1_in_rule__BasicComponent__Group__1__Impl9064);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__NameAssignment_1_in_rule__BasicComponent__Group__1__Impl11286);
             rule__BasicComponent__NameAssignment_1();
 
             state._fsp--;
@@ -11933,21 +14797,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4550:1: rule__BasicComponent__Group__2 : rule__BasicComponent__Group__2__Impl rule__BasicComponent__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5679:1: rule__BasicComponent__Group__2 : rule__BasicComponent__Group__2__Impl rule__BasicComponent__Group__3 ;
     public final void rule__BasicComponent__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4554:1: ( rule__BasicComponent__Group__2__Impl rule__BasicComponent__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4555:2: rule__BasicComponent__Group__2__Impl rule__BasicComponent__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5683:1: ( rule__BasicComponent__Group__2__Impl rule__BasicComponent__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5684:2: rule__BasicComponent__Group__2__Impl rule__BasicComponent__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__2__Impl_in_rule__BasicComponent__Group__29094);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__2__Impl_in_rule__BasicComponent__Group__211316);
             rule__BasicComponent__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__3_in_rule__BasicComponent__Group__29097);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__3_in_rule__BasicComponent__Group__211319);
             rule__BasicComponent__Group__3();
 
             state._fsp--;
@@ -11971,31 +14835,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4562:1: rule__BasicComponent__Group__2__Impl : ( ( rule__BasicComponent__Group_2__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5691:1: rule__BasicComponent__Group__2__Impl : ( ( rule__BasicComponent__Group_2__0 )? ) ;
     public final void rule__BasicComponent__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4566:1: ( ( ( rule__BasicComponent__Group_2__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4567:1: ( ( rule__BasicComponent__Group_2__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5695:1: ( ( ( rule__BasicComponent__Group_2__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5696:1: ( ( rule__BasicComponent__Group_2__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4567:1: ( ( rule__BasicComponent__Group_2__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4568:1: ( rule__BasicComponent__Group_2__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5696:1: ( ( rule__BasicComponent__Group_2__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5697:1: ( rule__BasicComponent__Group_2__0 )?
             {
              before(grammarAccess.getBasicComponentAccess().getGroup_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4569:1: ( rule__BasicComponent__Group_2__0 )?
-            int alt28=2;
-            int LA28_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5698:1: ( rule__BasicComponent__Group_2__0 )?
+            int alt34=2;
+            int LA34_0 = input.LA(1);
 
-            if ( (LA28_0==42) ) {
-                alt28=1;
+            if ( (LA34_0==49) ) {
+                alt34=1;
             }
-            switch (alt28) {
+            switch (alt34) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4569:2: rule__BasicComponent__Group_2__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5698:2: rule__BasicComponent__Group_2__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2__0_in_rule__BasicComponent__Group__2__Impl9124);
+                    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2__0_in_rule__BasicComponent__Group__2__Impl11346);
                     rule__BasicComponent__Group_2__0();
 
                     state._fsp--;
@@ -12029,21 +14893,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4579:1: rule__BasicComponent__Group__3 : rule__BasicComponent__Group__3__Impl rule__BasicComponent__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5708:1: rule__BasicComponent__Group__3 : rule__BasicComponent__Group__3__Impl rule__BasicComponent__Group__4 ;
     public final void rule__BasicComponent__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4583:1: ( rule__BasicComponent__Group__3__Impl rule__BasicComponent__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4584:2: rule__BasicComponent__Group__3__Impl rule__BasicComponent__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5712:1: ( rule__BasicComponent__Group__3__Impl rule__BasicComponent__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5713:2: rule__BasicComponent__Group__3__Impl rule__BasicComponent__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__3__Impl_in_rule__BasicComponent__Group__39155);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__3__Impl_in_rule__BasicComponent__Group__311377);
             rule__BasicComponent__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__4_in_rule__BasicComponent__Group__39158);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__4_in_rule__BasicComponent__Group__311380);
             rule__BasicComponent__Group__4();
 
             state._fsp--;
@@ -12067,31 +14931,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4591:1: rule__BasicComponent__Group__3__Impl : ( ( rule__BasicComponent__Group_3__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5720:1: rule__BasicComponent__Group__3__Impl : ( ( rule__BasicComponent__Group_3__0 )? ) ;
     public final void rule__BasicComponent__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4595:1: ( ( ( rule__BasicComponent__Group_3__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4596:1: ( ( rule__BasicComponent__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5724:1: ( ( ( rule__BasicComponent__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5725:1: ( ( rule__BasicComponent__Group_3__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4596:1: ( ( rule__BasicComponent__Group_3__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4597:1: ( rule__BasicComponent__Group_3__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5725:1: ( ( rule__BasicComponent__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5726:1: ( rule__BasicComponent__Group_3__0 )?
             {
              before(grammarAccess.getBasicComponentAccess().getGroup_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4598:1: ( rule__BasicComponent__Group_3__0 )?
-            int alt29=2;
-            int LA29_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5727:1: ( rule__BasicComponent__Group_3__0 )?
+            int alt35=2;
+            int LA35_0 = input.LA(1);
 
-            if ( (LA29_0==43) ) {
-                alt29=1;
+            if ( (LA35_0==50) ) {
+                alt35=1;
             }
-            switch (alt29) {
+            switch (alt35) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4598:2: rule__BasicComponent__Group_3__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5727:2: rule__BasicComponent__Group_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3__0_in_rule__BasicComponent__Group__3__Impl9185);
+                    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3__0_in_rule__BasicComponent__Group__3__Impl11407);
                     rule__BasicComponent__Group_3__0();
 
                     state._fsp--;
@@ -12125,21 +14989,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4608:1: rule__BasicComponent__Group__4 : rule__BasicComponent__Group__4__Impl rule__BasicComponent__Group__5 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5737:1: rule__BasicComponent__Group__4 : rule__BasicComponent__Group__4__Impl rule__BasicComponent__Group__5 ;
     public final void rule__BasicComponent__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4612:1: ( rule__BasicComponent__Group__4__Impl rule__BasicComponent__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4613:2: rule__BasicComponent__Group__4__Impl rule__BasicComponent__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5741:1: ( rule__BasicComponent__Group__4__Impl rule__BasicComponent__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5742:2: rule__BasicComponent__Group__4__Impl rule__BasicComponent__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__4__Impl_in_rule__BasicComponent__Group__49216);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__4__Impl_in_rule__BasicComponent__Group__411438);
             rule__BasicComponent__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__5_in_rule__BasicComponent__Group__49219);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__5_in_rule__BasicComponent__Group__411441);
             rule__BasicComponent__Group__5();
 
             state._fsp--;
@@ -12163,20 +15027,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4620:1: rule__BasicComponent__Group__4__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5749:1: rule__BasicComponent__Group__4__Impl : ( '{' ) ;
     public final void rule__BasicComponent__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4624:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4625:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5753:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5754:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4625:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4626:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5754:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5755:1: '{'
             {
              before(grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__BasicComponent__Group__4__Impl9247); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__BasicComponent__Group__4__Impl11469); 
              after(grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -12200,21 +15064,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4639:1: rule__BasicComponent__Group__5 : rule__BasicComponent__Group__5__Impl rule__BasicComponent__Group__6 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5768:1: rule__BasicComponent__Group__5 : rule__BasicComponent__Group__5__Impl rule__BasicComponent__Group__6 ;
     public final void rule__BasicComponent__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4643:1: ( rule__BasicComponent__Group__5__Impl rule__BasicComponent__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4644:2: rule__BasicComponent__Group__5__Impl rule__BasicComponent__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5772:1: ( rule__BasicComponent__Group__5__Impl rule__BasicComponent__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5773:2: rule__BasicComponent__Group__5__Impl rule__BasicComponent__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__5__Impl_in_rule__BasicComponent__Group__59278);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__5__Impl_in_rule__BasicComponent__Group__511500);
             rule__BasicComponent__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__6_in_rule__BasicComponent__Group__59281);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__6_in_rule__BasicComponent__Group__511503);
             rule__BasicComponent__Group__6();
 
             state._fsp--;
@@ -12238,31 +15102,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4651:1: rule__BasicComponent__Group__5__Impl : ( ( rule__BasicComponent__Group_5__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5780:1: rule__BasicComponent__Group__5__Impl : ( ( rule__BasicComponent__Group_5__0 )? ) ;
     public final void rule__BasicComponent__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4655:1: ( ( ( rule__BasicComponent__Group_5__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4656:1: ( ( rule__BasicComponent__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5784:1: ( ( ( rule__BasicComponent__Group_5__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5785:1: ( ( rule__BasicComponent__Group_5__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4656:1: ( ( rule__BasicComponent__Group_5__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4657:1: ( rule__BasicComponent__Group_5__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5785:1: ( ( rule__BasicComponent__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5786:1: ( rule__BasicComponent__Group_5__0 )?
             {
              before(grammarAccess.getBasicComponentAccess().getGroup_5()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4658:1: ( rule__BasicComponent__Group_5__0 )?
-            int alt30=2;
-            int LA30_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5787:1: ( rule__BasicComponent__Group_5__0 )?
+            int alt36=2;
+            int LA36_0 = input.LA(1);
 
-            if ( (LA30_0==29) ) {
-                alt30=1;
+            if ( (LA36_0==36) ) {
+                alt36=1;
             }
-            switch (alt30) {
+            switch (alt36) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4658:2: rule__BasicComponent__Group_5__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5787:2: rule__BasicComponent__Group_5__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__0_in_rule__BasicComponent__Group__5__Impl9308);
+                    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__0_in_rule__BasicComponent__Group__5__Impl11530);
                     rule__BasicComponent__Group_5__0();
 
                     state._fsp--;
@@ -12296,16 +15160,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4668:1: rule__BasicComponent__Group__6 : rule__BasicComponent__Group__6__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5797:1: rule__BasicComponent__Group__6 : rule__BasicComponent__Group__6__Impl ;
     public final void rule__BasicComponent__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4672:1: ( rule__BasicComponent__Group__6__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4673:2: rule__BasicComponent__Group__6__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5801:1: ( rule__BasicComponent__Group__6__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5802:2: rule__BasicComponent__Group__6__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__6__Impl_in_rule__BasicComponent__Group__69339);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group__6__Impl_in_rule__BasicComponent__Group__611561);
             rule__BasicComponent__Group__6__Impl();
 
             state._fsp--;
@@ -12329,20 +15193,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4679:1: rule__BasicComponent__Group__6__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5808:1: rule__BasicComponent__Group__6__Impl : ( '}' ) ;
     public final void rule__BasicComponent__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4683:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4684:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5812:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5813:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4684:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4685:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5813:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5814:1: '}'
             {
              before(grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__BasicComponent__Group__6__Impl9367); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__BasicComponent__Group__6__Impl11589); 
              after(grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6()); 
 
             }
@@ -12366,21 +15230,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_2__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4712:1: rule__BasicComponent__Group_2__0 : rule__BasicComponent__Group_2__0__Impl rule__BasicComponent__Group_2__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5841:1: rule__BasicComponent__Group_2__0 : rule__BasicComponent__Group_2__0__Impl rule__BasicComponent__Group_2__1 ;
     public final void rule__BasicComponent__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4716:1: ( rule__BasicComponent__Group_2__0__Impl rule__BasicComponent__Group_2__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4717:2: rule__BasicComponent__Group_2__0__Impl rule__BasicComponent__Group_2__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5845:1: ( rule__BasicComponent__Group_2__0__Impl rule__BasicComponent__Group_2__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5846:2: rule__BasicComponent__Group_2__0__Impl rule__BasicComponent__Group_2__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2__0__Impl_in_rule__BasicComponent__Group_2__09412);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2__0__Impl_in_rule__BasicComponent__Group_2__011634);
             rule__BasicComponent__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2__1_in_rule__BasicComponent__Group_2__09415);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2__1_in_rule__BasicComponent__Group_2__011637);
             rule__BasicComponent__Group_2__1();
 
             state._fsp--;
@@ -12404,23 +15268,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_2__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4724:1: rule__BasicComponent__Group_2__0__Impl : ( ( rule__BasicComponent__ProvidedRolesAssignment_2_0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5853:1: rule__BasicComponent__Group_2__0__Impl : ( ( rule__BasicComponent__ProvidedRolesAssignment_2_0 ) ) ;
     public final void rule__BasicComponent__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4728:1: ( ( ( rule__BasicComponent__ProvidedRolesAssignment_2_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4729:1: ( ( rule__BasicComponent__ProvidedRolesAssignment_2_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5857:1: ( ( ( rule__BasicComponent__ProvidedRolesAssignment_2_0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5858:1: ( ( rule__BasicComponent__ProvidedRolesAssignment_2_0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4729:1: ( ( rule__BasicComponent__ProvidedRolesAssignment_2_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4730:1: ( rule__BasicComponent__ProvidedRolesAssignment_2_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5858:1: ( ( rule__BasicComponent__ProvidedRolesAssignment_2_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5859:1: ( rule__BasicComponent__ProvidedRolesAssignment_2_0 )
             {
              before(grammarAccess.getBasicComponentAccess().getProvidedRolesAssignment_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4731:1: ( rule__BasicComponent__ProvidedRolesAssignment_2_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4731:2: rule__BasicComponent__ProvidedRolesAssignment_2_0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5860:1: ( rule__BasicComponent__ProvidedRolesAssignment_2_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5860:2: rule__BasicComponent__ProvidedRolesAssignment_2_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__ProvidedRolesAssignment_2_0_in_rule__BasicComponent__Group_2__0__Impl9442);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__ProvidedRolesAssignment_2_0_in_rule__BasicComponent__Group_2__0__Impl11664);
             rule__BasicComponent__ProvidedRolesAssignment_2_0();
 
             state._fsp--;
@@ -12451,16 +15315,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_2__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4741:1: rule__BasicComponent__Group_2__1 : rule__BasicComponent__Group_2__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5870:1: rule__BasicComponent__Group_2__1 : rule__BasicComponent__Group_2__1__Impl ;
     public final void rule__BasicComponent__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4745:1: ( rule__BasicComponent__Group_2__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4746:2: rule__BasicComponent__Group_2__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5874:1: ( rule__BasicComponent__Group_2__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5875:2: rule__BasicComponent__Group_2__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2__1__Impl_in_rule__BasicComponent__Group_2__19472);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2__1__Impl_in_rule__BasicComponent__Group_2__111694);
             rule__BasicComponent__Group_2__1__Impl();
 
             state._fsp--;
@@ -12484,35 +15348,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_2__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4752:1: rule__BasicComponent__Group_2__1__Impl : ( ( rule__BasicComponent__Group_2_1__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5881:1: rule__BasicComponent__Group_2__1__Impl : ( ( rule__BasicComponent__Group_2_1__0 )* ) ;
     public final void rule__BasicComponent__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4756:1: ( ( ( rule__BasicComponent__Group_2_1__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4757:1: ( ( rule__BasicComponent__Group_2_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5885:1: ( ( ( rule__BasicComponent__Group_2_1__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5886:1: ( ( rule__BasicComponent__Group_2_1__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4757:1: ( ( rule__BasicComponent__Group_2_1__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4758:1: ( rule__BasicComponent__Group_2_1__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5886:1: ( ( rule__BasicComponent__Group_2_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5887:1: ( rule__BasicComponent__Group_2_1__0 )*
             {
              before(grammarAccess.getBasicComponentAccess().getGroup_2_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4759:1: ( rule__BasicComponent__Group_2_1__0 )*
-            loop31:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5888:1: ( rule__BasicComponent__Group_2_1__0 )*
+            loop37:
             do {
-                int alt31=2;
-                int LA31_0 = input.LA(1);
+                int alt37=2;
+                int LA37_0 = input.LA(1);
 
-                if ( (LA31_0==26) ) {
-                    alt31=1;
+                if ( (LA37_0==23) ) {
+                    alt37=1;
                 }
 
 
-                switch (alt31) {
+                switch (alt37) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4759:2: rule__BasicComponent__Group_2_1__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5888:2: rule__BasicComponent__Group_2_1__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2_1__0_in_rule__BasicComponent__Group_2__1__Impl9499);
+            	    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2_1__0_in_rule__BasicComponent__Group_2__1__Impl11721);
             	    rule__BasicComponent__Group_2_1__0();
 
             	    state._fsp--;
@@ -12522,7 +15386,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop31;
+            	    break loop37;
                 }
             } while (true);
 
@@ -12549,21 +15413,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_2_1__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4773:1: rule__BasicComponent__Group_2_1__0 : rule__BasicComponent__Group_2_1__0__Impl rule__BasicComponent__Group_2_1__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5902:1: rule__BasicComponent__Group_2_1__0 : rule__BasicComponent__Group_2_1__0__Impl rule__BasicComponent__Group_2_1__1 ;
     public final void rule__BasicComponent__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4777:1: ( rule__BasicComponent__Group_2_1__0__Impl rule__BasicComponent__Group_2_1__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4778:2: rule__BasicComponent__Group_2_1__0__Impl rule__BasicComponent__Group_2_1__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5906:1: ( rule__BasicComponent__Group_2_1__0__Impl rule__BasicComponent__Group_2_1__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5907:2: rule__BasicComponent__Group_2_1__0__Impl rule__BasicComponent__Group_2_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2_1__0__Impl_in_rule__BasicComponent__Group_2_1__09534);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2_1__0__Impl_in_rule__BasicComponent__Group_2_1__011756);
             rule__BasicComponent__Group_2_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2_1__1_in_rule__BasicComponent__Group_2_1__09537);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2_1__1_in_rule__BasicComponent__Group_2_1__011759);
             rule__BasicComponent__Group_2_1__1();
 
             state._fsp--;
@@ -12587,20 +15451,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_2_1__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4785:1: rule__BasicComponent__Group_2_1__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5914:1: rule__BasicComponent__Group_2_1__0__Impl : ( ',' ) ;
     public final void rule__BasicComponent__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4789:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4790:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5918:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5919:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4790:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4791:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5919:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5920:1: ','
             {
              before(grammarAccess.getBasicComponentAccess().getCommaKeyword_2_1_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__BasicComponent__Group_2_1__0__Impl9565); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__BasicComponent__Group_2_1__0__Impl11787); 
              after(grammarAccess.getBasicComponentAccess().getCommaKeyword_2_1_0()); 
 
             }
@@ -12624,16 +15488,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_2_1__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4804:1: rule__BasicComponent__Group_2_1__1 : rule__BasicComponent__Group_2_1__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5933:1: rule__BasicComponent__Group_2_1__1 : rule__BasicComponent__Group_2_1__1__Impl ;
     public final void rule__BasicComponent__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4808:1: ( rule__BasicComponent__Group_2_1__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4809:2: rule__BasicComponent__Group_2_1__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5937:1: ( rule__BasicComponent__Group_2_1__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5938:2: rule__BasicComponent__Group_2_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2_1__1__Impl_in_rule__BasicComponent__Group_2_1__19596);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_2_1__1__Impl_in_rule__BasicComponent__Group_2_1__111818);
             rule__BasicComponent__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -12657,23 +15521,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_2_1__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4815:1: rule__BasicComponent__Group_2_1__1__Impl : ( ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5944:1: rule__BasicComponent__Group_2_1__1__Impl : ( ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 ) ) ;
     public final void rule__BasicComponent__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4819:1: ( ( ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4820:1: ( ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5948:1: ( ( ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5949:1: ( ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4820:1: ( ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4821:1: ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5949:1: ( ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5950:1: ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 )
             {
              before(grammarAccess.getBasicComponentAccess().getProvidedRolesAssignment_2_1_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4822:1: ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4822:2: rule__BasicComponent__ProvidedRolesAssignment_2_1_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5951:1: ( rule__BasicComponent__ProvidedRolesAssignment_2_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5951:2: rule__BasicComponent__ProvidedRolesAssignment_2_1_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__ProvidedRolesAssignment_2_1_1_in_rule__BasicComponent__Group_2_1__1__Impl9623);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__ProvidedRolesAssignment_2_1_1_in_rule__BasicComponent__Group_2_1__1__Impl11845);
             rule__BasicComponent__ProvidedRolesAssignment_2_1_1();
 
             state._fsp--;
@@ -12704,21 +15568,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4836:1: rule__BasicComponent__Group_3__0 : rule__BasicComponent__Group_3__0__Impl rule__BasicComponent__Group_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5965:1: rule__BasicComponent__Group_3__0 : rule__BasicComponent__Group_3__0__Impl rule__BasicComponent__Group_3__1 ;
     public final void rule__BasicComponent__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4840:1: ( rule__BasicComponent__Group_3__0__Impl rule__BasicComponent__Group_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4841:2: rule__BasicComponent__Group_3__0__Impl rule__BasicComponent__Group_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5969:1: ( rule__BasicComponent__Group_3__0__Impl rule__BasicComponent__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5970:2: rule__BasicComponent__Group_3__0__Impl rule__BasicComponent__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3__0__Impl_in_rule__BasicComponent__Group_3__09657);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3__0__Impl_in_rule__BasicComponent__Group_3__011879);
             rule__BasicComponent__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3__1_in_rule__BasicComponent__Group_3__09660);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3__1_in_rule__BasicComponent__Group_3__011882);
             rule__BasicComponent__Group_3__1();
 
             state._fsp--;
@@ -12742,23 +15606,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4848:1: rule__BasicComponent__Group_3__0__Impl : ( ( rule__BasicComponent__RequiredRolesAssignment_3_0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5977:1: rule__BasicComponent__Group_3__0__Impl : ( ( rule__BasicComponent__RequiredRolesAssignment_3_0 ) ) ;
     public final void rule__BasicComponent__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4852:1: ( ( ( rule__BasicComponent__RequiredRolesAssignment_3_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4853:1: ( ( rule__BasicComponent__RequiredRolesAssignment_3_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5981:1: ( ( ( rule__BasicComponent__RequiredRolesAssignment_3_0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5982:1: ( ( rule__BasicComponent__RequiredRolesAssignment_3_0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4853:1: ( ( rule__BasicComponent__RequiredRolesAssignment_3_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4854:1: ( rule__BasicComponent__RequiredRolesAssignment_3_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5982:1: ( ( rule__BasicComponent__RequiredRolesAssignment_3_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5983:1: ( rule__BasicComponent__RequiredRolesAssignment_3_0 )
             {
              before(grammarAccess.getBasicComponentAccess().getRequiredRolesAssignment_3_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4855:1: ( rule__BasicComponent__RequiredRolesAssignment_3_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4855:2: rule__BasicComponent__RequiredRolesAssignment_3_0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5984:1: ( rule__BasicComponent__RequiredRolesAssignment_3_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5984:2: rule__BasicComponent__RequiredRolesAssignment_3_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__RequiredRolesAssignment_3_0_in_rule__BasicComponent__Group_3__0__Impl9687);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__RequiredRolesAssignment_3_0_in_rule__BasicComponent__Group_3__0__Impl11909);
             rule__BasicComponent__RequiredRolesAssignment_3_0();
 
             state._fsp--;
@@ -12789,16 +15653,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4865:1: rule__BasicComponent__Group_3__1 : rule__BasicComponent__Group_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5994:1: rule__BasicComponent__Group_3__1 : rule__BasicComponent__Group_3__1__Impl ;
     public final void rule__BasicComponent__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4869:1: ( rule__BasicComponent__Group_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4870:2: rule__BasicComponent__Group_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5998:1: ( rule__BasicComponent__Group_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5999:2: rule__BasicComponent__Group_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3__1__Impl_in_rule__BasicComponent__Group_3__19717);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3__1__Impl_in_rule__BasicComponent__Group_3__111939);
             rule__BasicComponent__Group_3__1__Impl();
 
             state._fsp--;
@@ -12822,35 +15686,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4876:1: rule__BasicComponent__Group_3__1__Impl : ( ( rule__BasicComponent__Group_3_1__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6005:1: rule__BasicComponent__Group_3__1__Impl : ( ( rule__BasicComponent__Group_3_1__0 )* ) ;
     public final void rule__BasicComponent__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4880:1: ( ( ( rule__BasicComponent__Group_3_1__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4881:1: ( ( rule__BasicComponent__Group_3_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6009:1: ( ( ( rule__BasicComponent__Group_3_1__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6010:1: ( ( rule__BasicComponent__Group_3_1__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4881:1: ( ( rule__BasicComponent__Group_3_1__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4882:1: ( rule__BasicComponent__Group_3_1__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6010:1: ( ( rule__BasicComponent__Group_3_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6011:1: ( rule__BasicComponent__Group_3_1__0 )*
             {
              before(grammarAccess.getBasicComponentAccess().getGroup_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4883:1: ( rule__BasicComponent__Group_3_1__0 )*
-            loop32:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6012:1: ( rule__BasicComponent__Group_3_1__0 )*
+            loop38:
             do {
-                int alt32=2;
-                int LA32_0 = input.LA(1);
+                int alt38=2;
+                int LA38_0 = input.LA(1);
 
-                if ( (LA32_0==26) ) {
-                    alt32=1;
+                if ( (LA38_0==23) ) {
+                    alt38=1;
                 }
 
 
-                switch (alt32) {
+                switch (alt38) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4883:2: rule__BasicComponent__Group_3_1__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6012:2: rule__BasicComponent__Group_3_1__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3_1__0_in_rule__BasicComponent__Group_3__1__Impl9744);
+            	    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3_1__0_in_rule__BasicComponent__Group_3__1__Impl11966);
             	    rule__BasicComponent__Group_3_1__0();
 
             	    state._fsp--;
@@ -12860,7 +15724,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop32;
+            	    break loop38;
                 }
             } while (true);
 
@@ -12887,21 +15751,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_3_1__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4897:1: rule__BasicComponent__Group_3_1__0 : rule__BasicComponent__Group_3_1__0__Impl rule__BasicComponent__Group_3_1__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6026:1: rule__BasicComponent__Group_3_1__0 : rule__BasicComponent__Group_3_1__0__Impl rule__BasicComponent__Group_3_1__1 ;
     public final void rule__BasicComponent__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4901:1: ( rule__BasicComponent__Group_3_1__0__Impl rule__BasicComponent__Group_3_1__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4902:2: rule__BasicComponent__Group_3_1__0__Impl rule__BasicComponent__Group_3_1__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6030:1: ( rule__BasicComponent__Group_3_1__0__Impl rule__BasicComponent__Group_3_1__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6031:2: rule__BasicComponent__Group_3_1__0__Impl rule__BasicComponent__Group_3_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3_1__0__Impl_in_rule__BasicComponent__Group_3_1__09779);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3_1__0__Impl_in_rule__BasicComponent__Group_3_1__012001);
             rule__BasicComponent__Group_3_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3_1__1_in_rule__BasicComponent__Group_3_1__09782);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3_1__1_in_rule__BasicComponent__Group_3_1__012004);
             rule__BasicComponent__Group_3_1__1();
 
             state._fsp--;
@@ -12925,20 +15789,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_3_1__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4909:1: rule__BasicComponent__Group_3_1__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6038:1: rule__BasicComponent__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__BasicComponent__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4913:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4914:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6042:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6043:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4914:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4915:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6043:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6044:1: ','
             {
              before(grammarAccess.getBasicComponentAccess().getCommaKeyword_3_1_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__BasicComponent__Group_3_1__0__Impl9810); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__BasicComponent__Group_3_1__0__Impl12032); 
              after(grammarAccess.getBasicComponentAccess().getCommaKeyword_3_1_0()); 
 
             }
@@ -12962,16 +15826,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_3_1__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4928:1: rule__BasicComponent__Group_3_1__1 : rule__BasicComponent__Group_3_1__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6057:1: rule__BasicComponent__Group_3_1__1 : rule__BasicComponent__Group_3_1__1__Impl ;
     public final void rule__BasicComponent__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4932:1: ( rule__BasicComponent__Group_3_1__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4933:2: rule__BasicComponent__Group_3_1__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6061:1: ( rule__BasicComponent__Group_3_1__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6062:2: rule__BasicComponent__Group_3_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3_1__1__Impl_in_rule__BasicComponent__Group_3_1__19841);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_3_1__1__Impl_in_rule__BasicComponent__Group_3_1__112063);
             rule__BasicComponent__Group_3_1__1__Impl();
 
             state._fsp--;
@@ -12995,23 +15859,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_3_1__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4939:1: rule__BasicComponent__Group_3_1__1__Impl : ( ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6068:1: rule__BasicComponent__Group_3_1__1__Impl : ( ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 ) ) ;
     public final void rule__BasicComponent__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4943:1: ( ( ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4944:1: ( ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6072:1: ( ( ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6073:1: ( ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4944:1: ( ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4945:1: ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6073:1: ( ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6074:1: ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 )
             {
              before(grammarAccess.getBasicComponentAccess().getRequiredRolesAssignment_3_1_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4946:1: ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4946:2: rule__BasicComponent__RequiredRolesAssignment_3_1_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6075:1: ( rule__BasicComponent__RequiredRolesAssignment_3_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6075:2: rule__BasicComponent__RequiredRolesAssignment_3_1_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__RequiredRolesAssignment_3_1_1_in_rule__BasicComponent__Group_3_1__1__Impl9868);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__RequiredRolesAssignment_3_1_1_in_rule__BasicComponent__Group_3_1__1__Impl12090);
             rule__BasicComponent__RequiredRolesAssignment_3_1_1();
 
             state._fsp--;
@@ -13042,21 +15906,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4960:1: rule__BasicComponent__Group_5__0 : rule__BasicComponent__Group_5__0__Impl rule__BasicComponent__Group_5__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6089:1: rule__BasicComponent__Group_5__0 : rule__BasicComponent__Group_5__0__Impl rule__BasicComponent__Group_5__1 ;
     public final void rule__BasicComponent__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4964:1: ( rule__BasicComponent__Group_5__0__Impl rule__BasicComponent__Group_5__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4965:2: rule__BasicComponent__Group_5__0__Impl rule__BasicComponent__Group_5__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6093:1: ( rule__BasicComponent__Group_5__0__Impl rule__BasicComponent__Group_5__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6094:2: rule__BasicComponent__Group_5__0__Impl rule__BasicComponent__Group_5__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__0__Impl_in_rule__BasicComponent__Group_5__09902);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__0__Impl_in_rule__BasicComponent__Group_5__012124);
             rule__BasicComponent__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__1_in_rule__BasicComponent__Group_5__09905);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__1_in_rule__BasicComponent__Group_5__012127);
             rule__BasicComponent__Group_5__1();
 
             state._fsp--;
@@ -13080,20 +15944,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4972:1: rule__BasicComponent__Group_5__0__Impl : ( 'relationship' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6101:1: rule__BasicComponent__Group_5__0__Impl : ( 'relationship' ) ;
     public final void rule__BasicComponent__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4976:1: ( ( 'relationship' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4977:1: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6105:1: ( ( 'relationship' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6106:1: ( 'relationship' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4977:1: ( 'relationship' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4978:1: 'relationship'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6106:1: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6107:1: 'relationship'
             {
              before(grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0()); 
-            match(input,29,FollowSets000.FOLLOW_29_in_rule__BasicComponent__Group_5__0__Impl9933); 
+            match(input,36,FollowSets000.FOLLOW_36_in_rule__BasicComponent__Group_5__0__Impl12155); 
              after(grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0()); 
 
             }
@@ -13117,21 +15981,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4991:1: rule__BasicComponent__Group_5__1 : rule__BasicComponent__Group_5__1__Impl rule__BasicComponent__Group_5__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6120:1: rule__BasicComponent__Group_5__1 : rule__BasicComponent__Group_5__1__Impl rule__BasicComponent__Group_5__2 ;
     public final void rule__BasicComponent__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4995:1: ( rule__BasicComponent__Group_5__1__Impl rule__BasicComponent__Group_5__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:4996:2: rule__BasicComponent__Group_5__1__Impl rule__BasicComponent__Group_5__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6124:1: ( rule__BasicComponent__Group_5__1__Impl rule__BasicComponent__Group_5__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6125:2: rule__BasicComponent__Group_5__1__Impl rule__BasicComponent__Group_5__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__1__Impl_in_rule__BasicComponent__Group_5__19964);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__1__Impl_in_rule__BasicComponent__Group_5__112186);
             rule__BasicComponent__Group_5__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__2_in_rule__BasicComponent__Group_5__19967);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__2_in_rule__BasicComponent__Group_5__112189);
             rule__BasicComponent__Group_5__2();
 
             state._fsp--;
@@ -13155,20 +16019,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5003:1: rule__BasicComponent__Group_5__1__Impl : ( '(' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6132:1: rule__BasicComponent__Group_5__1__Impl : ( '(' ) ;
     public final void rule__BasicComponent__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5007:1: ( ( '(' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5008:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6136:1: ( ( '(' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6137:1: ( '(' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5008:1: ( '(' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5009:1: '('
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6137:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6138:1: '('
             {
              before(grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__BasicComponent__Group_5__1__Impl9995); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__BasicComponent__Group_5__1__Impl12217); 
              after(grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1()); 
 
             }
@@ -13192,21 +16056,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5022:1: rule__BasicComponent__Group_5__2 : rule__BasicComponent__Group_5__2__Impl rule__BasicComponent__Group_5__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6151:1: rule__BasicComponent__Group_5__2 : rule__BasicComponent__Group_5__2__Impl rule__BasicComponent__Group_5__3 ;
     public final void rule__BasicComponent__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5026:1: ( rule__BasicComponent__Group_5__2__Impl rule__BasicComponent__Group_5__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5027:2: rule__BasicComponent__Group_5__2__Impl rule__BasicComponent__Group_5__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6155:1: ( rule__BasicComponent__Group_5__2__Impl rule__BasicComponent__Group_5__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6156:2: rule__BasicComponent__Group_5__2__Impl rule__BasicComponent__Group_5__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__2__Impl_in_rule__BasicComponent__Group_5__210026);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__2__Impl_in_rule__BasicComponent__Group_5__212248);
             rule__BasicComponent__Group_5__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__3_in_rule__BasicComponent__Group_5__210029);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__3_in_rule__BasicComponent__Group_5__212251);
             rule__BasicComponent__Group_5__3();
 
             state._fsp--;
@@ -13230,23 +16094,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5034:1: rule__BasicComponent__Group_5__2__Impl : ( ( rule__BasicComponent__RelationshipAssignment_5_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6163:1: rule__BasicComponent__Group_5__2__Impl : ( ( rule__BasicComponent__RelationshipAssignment_5_2 ) ) ;
     public final void rule__BasicComponent__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5038:1: ( ( ( rule__BasicComponent__RelationshipAssignment_5_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5039:1: ( ( rule__BasicComponent__RelationshipAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6167:1: ( ( ( rule__BasicComponent__RelationshipAssignment_5_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6168:1: ( ( rule__BasicComponent__RelationshipAssignment_5_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5039:1: ( ( rule__BasicComponent__RelationshipAssignment_5_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5040:1: ( rule__BasicComponent__RelationshipAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6168:1: ( ( rule__BasicComponent__RelationshipAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6169:1: ( rule__BasicComponent__RelationshipAssignment_5_2 )
             {
              before(grammarAccess.getBasicComponentAccess().getRelationshipAssignment_5_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5041:1: ( rule__BasicComponent__RelationshipAssignment_5_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5041:2: rule__BasicComponent__RelationshipAssignment_5_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6170:1: ( rule__BasicComponent__RelationshipAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6170:2: rule__BasicComponent__RelationshipAssignment_5_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__RelationshipAssignment_5_2_in_rule__BasicComponent__Group_5__2__Impl10056);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__RelationshipAssignment_5_2_in_rule__BasicComponent__Group_5__2__Impl12278);
             rule__BasicComponent__RelationshipAssignment_5_2();
 
             state._fsp--;
@@ -13277,21 +16141,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5051:1: rule__BasicComponent__Group_5__3 : rule__BasicComponent__Group_5__3__Impl rule__BasicComponent__Group_5__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6180:1: rule__BasicComponent__Group_5__3 : rule__BasicComponent__Group_5__3__Impl rule__BasicComponent__Group_5__4 ;
     public final void rule__BasicComponent__Group_5__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5055:1: ( rule__BasicComponent__Group_5__3__Impl rule__BasicComponent__Group_5__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5056:2: rule__BasicComponent__Group_5__3__Impl rule__BasicComponent__Group_5__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6184:1: ( rule__BasicComponent__Group_5__3__Impl rule__BasicComponent__Group_5__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6185:2: rule__BasicComponent__Group_5__3__Impl rule__BasicComponent__Group_5__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__3__Impl_in_rule__BasicComponent__Group_5__310086);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__3__Impl_in_rule__BasicComponent__Group_5__312308);
             rule__BasicComponent__Group_5__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__4_in_rule__BasicComponent__Group_5__310089);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__4_in_rule__BasicComponent__Group_5__312311);
             rule__BasicComponent__Group_5__4();
 
             state._fsp--;
@@ -13315,35 +16179,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5063:1: rule__BasicComponent__Group_5__3__Impl : ( ( rule__BasicComponent__Group_5_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6192:1: rule__BasicComponent__Group_5__3__Impl : ( ( rule__BasicComponent__Group_5_3__0 )* ) ;
     public final void rule__BasicComponent__Group_5__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5067:1: ( ( ( rule__BasicComponent__Group_5_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5068:1: ( ( rule__BasicComponent__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6196:1: ( ( ( rule__BasicComponent__Group_5_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6197:1: ( ( rule__BasicComponent__Group_5_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5068:1: ( ( rule__BasicComponent__Group_5_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5069:1: ( rule__BasicComponent__Group_5_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6197:1: ( ( rule__BasicComponent__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6198:1: ( rule__BasicComponent__Group_5_3__0 )*
             {
              before(grammarAccess.getBasicComponentAccess().getGroup_5_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5070:1: ( rule__BasicComponent__Group_5_3__0 )*
-            loop33:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6199:1: ( rule__BasicComponent__Group_5_3__0 )*
+            loop39:
             do {
-                int alt33=2;
-                int LA33_0 = input.LA(1);
+                int alt39=2;
+                int LA39_0 = input.LA(1);
 
-                if ( (LA33_0==26) ) {
-                    alt33=1;
+                if ( (LA39_0==23) ) {
+                    alt39=1;
                 }
 
 
-                switch (alt33) {
+                switch (alt39) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5070:2: rule__BasicComponent__Group_5_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6199:2: rule__BasicComponent__Group_5_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5_3__0_in_rule__BasicComponent__Group_5__3__Impl10116);
+            	    pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5_3__0_in_rule__BasicComponent__Group_5__3__Impl12338);
             	    rule__BasicComponent__Group_5_3__0();
 
             	    state._fsp--;
@@ -13353,7 +16217,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop33;
+            	    break loop39;
                 }
             } while (true);
 
@@ -13380,16 +16244,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5080:1: rule__BasicComponent__Group_5__4 : rule__BasicComponent__Group_5__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6209:1: rule__BasicComponent__Group_5__4 : rule__BasicComponent__Group_5__4__Impl ;
     public final void rule__BasicComponent__Group_5__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5084:1: ( rule__BasicComponent__Group_5__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5085:2: rule__BasicComponent__Group_5__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6213:1: ( rule__BasicComponent__Group_5__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6214:2: rule__BasicComponent__Group_5__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__4__Impl_in_rule__BasicComponent__Group_5__410147);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5__4__Impl_in_rule__BasicComponent__Group_5__412369);
             rule__BasicComponent__Group_5__4__Impl();
 
             state._fsp--;
@@ -13413,20 +16277,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5091:1: rule__BasicComponent__Group_5__4__Impl : ( ')' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6220:1: rule__BasicComponent__Group_5__4__Impl : ( ')' ) ;
     public final void rule__BasicComponent__Group_5__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5095:1: ( ( ')' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5096:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6224:1: ( ( ')' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6225:1: ( ')' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5096:1: ( ')' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5097:1: ')'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6225:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6226:1: ')'
             {
              before(grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__BasicComponent__Group_5__4__Impl10175); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__BasicComponent__Group_5__4__Impl12397); 
              after(grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4()); 
 
             }
@@ -13450,21 +16314,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5120:1: rule__BasicComponent__Group_5_3__0 : rule__BasicComponent__Group_5_3__0__Impl rule__BasicComponent__Group_5_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6249:1: rule__BasicComponent__Group_5_3__0 : rule__BasicComponent__Group_5_3__0__Impl rule__BasicComponent__Group_5_3__1 ;
     public final void rule__BasicComponent__Group_5_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5124:1: ( rule__BasicComponent__Group_5_3__0__Impl rule__BasicComponent__Group_5_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5125:2: rule__BasicComponent__Group_5_3__0__Impl rule__BasicComponent__Group_5_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6253:1: ( rule__BasicComponent__Group_5_3__0__Impl rule__BasicComponent__Group_5_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6254:2: rule__BasicComponent__Group_5_3__0__Impl rule__BasicComponent__Group_5_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5_3__0__Impl_in_rule__BasicComponent__Group_5_3__010216);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5_3__0__Impl_in_rule__BasicComponent__Group_5_3__012438);
             rule__BasicComponent__Group_5_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5_3__1_in_rule__BasicComponent__Group_5_3__010219);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5_3__1_in_rule__BasicComponent__Group_5_3__012441);
             rule__BasicComponent__Group_5_3__1();
 
             state._fsp--;
@@ -13488,20 +16352,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5132:1: rule__BasicComponent__Group_5_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6261:1: rule__BasicComponent__Group_5_3__0__Impl : ( ',' ) ;
     public final void rule__BasicComponent__Group_5_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5136:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5137:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6265:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6266:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5137:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5138:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6266:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6267:1: ','
             {
              before(grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__BasicComponent__Group_5_3__0__Impl10247); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__BasicComponent__Group_5_3__0__Impl12469); 
              after(grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0()); 
 
             }
@@ -13525,16 +16389,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5151:1: rule__BasicComponent__Group_5_3__1 : rule__BasicComponent__Group_5_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6280:1: rule__BasicComponent__Group_5_3__1 : rule__BasicComponent__Group_5_3__1__Impl ;
     public final void rule__BasicComponent__Group_5_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5155:1: ( rule__BasicComponent__Group_5_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5156:2: rule__BasicComponent__Group_5_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6284:1: ( rule__BasicComponent__Group_5_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6285:2: rule__BasicComponent__Group_5_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5_3__1__Impl_in_rule__BasicComponent__Group_5_3__110278);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__Group_5_3__1__Impl_in_rule__BasicComponent__Group_5_3__112500);
             rule__BasicComponent__Group_5_3__1__Impl();
 
             state._fsp--;
@@ -13558,23 +16422,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__Group_5_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5162:1: rule__BasicComponent__Group_5_3__1__Impl : ( ( rule__BasicComponent__RelationshipAssignment_5_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6291:1: rule__BasicComponent__Group_5_3__1__Impl : ( ( rule__BasicComponent__RelationshipAssignment_5_3_1 ) ) ;
     public final void rule__BasicComponent__Group_5_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5166:1: ( ( ( rule__BasicComponent__RelationshipAssignment_5_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5167:1: ( ( rule__BasicComponent__RelationshipAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6295:1: ( ( ( rule__BasicComponent__RelationshipAssignment_5_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6296:1: ( ( rule__BasicComponent__RelationshipAssignment_5_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5167:1: ( ( rule__BasicComponent__RelationshipAssignment_5_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5168:1: ( rule__BasicComponent__RelationshipAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6296:1: ( ( rule__BasicComponent__RelationshipAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6297:1: ( rule__BasicComponent__RelationshipAssignment_5_3_1 )
             {
              before(grammarAccess.getBasicComponentAccess().getRelationshipAssignment_5_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5169:1: ( rule__BasicComponent__RelationshipAssignment_5_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5169:2: rule__BasicComponent__RelationshipAssignment_5_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6298:1: ( rule__BasicComponent__RelationshipAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6298:2: rule__BasicComponent__RelationshipAssignment_5_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__RelationshipAssignment_5_3_1_in_rule__BasicComponent__Group_5_3__1__Impl10305);
+            pushFollow(FollowSets000.FOLLOW_rule__BasicComponent__RelationshipAssignment_5_3_1_in_rule__BasicComponent__Group_5_3__1__Impl12527);
             rule__BasicComponent__RelationshipAssignment_5_3_1();
 
             state._fsp--;
@@ -13605,21 +16469,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5183:1: rule__CompositeComponent__Group__0 : rule__CompositeComponent__Group__0__Impl rule__CompositeComponent__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6312:1: rule__CompositeComponent__Group__0 : rule__CompositeComponent__Group__0__Impl rule__CompositeComponent__Group__1 ;
     public final void rule__CompositeComponent__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5187:1: ( rule__CompositeComponent__Group__0__Impl rule__CompositeComponent__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5188:2: rule__CompositeComponent__Group__0__Impl rule__CompositeComponent__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6316:1: ( rule__CompositeComponent__Group__0__Impl rule__CompositeComponent__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6317:2: rule__CompositeComponent__Group__0__Impl rule__CompositeComponent__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__0__Impl_in_rule__CompositeComponent__Group__010339);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__0__Impl_in_rule__CompositeComponent__Group__012561);
             rule__CompositeComponent__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__1_in_rule__CompositeComponent__Group__010342);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__1_in_rule__CompositeComponent__Group__012564);
             rule__CompositeComponent__Group__1();
 
             state._fsp--;
@@ -13643,20 +16507,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5195:1: rule__CompositeComponent__Group__0__Impl : ( 'CompositeComponent' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6324:1: rule__CompositeComponent__Group__0__Impl : ( 'CompositeComponent' ) ;
     public final void rule__CompositeComponent__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5199:1: ( ( 'CompositeComponent' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5200:1: ( 'CompositeComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6328:1: ( ( 'CompositeComponent' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6329:1: ( 'CompositeComponent' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5200:1: ( 'CompositeComponent' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5201:1: 'CompositeComponent'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6329:1: ( 'CompositeComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6330:1: 'CompositeComponent'
             {
              before(grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0()); 
-            match(input,45,FollowSets000.FOLLOW_45_in_rule__CompositeComponent__Group__0__Impl10370); 
+            match(input,52,FollowSets000.FOLLOW_52_in_rule__CompositeComponent__Group__0__Impl12592); 
              after(grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0()); 
 
             }
@@ -13680,21 +16544,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5214:1: rule__CompositeComponent__Group__1 : rule__CompositeComponent__Group__1__Impl rule__CompositeComponent__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6343:1: rule__CompositeComponent__Group__1 : rule__CompositeComponent__Group__1__Impl rule__CompositeComponent__Group__2 ;
     public final void rule__CompositeComponent__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5218:1: ( rule__CompositeComponent__Group__1__Impl rule__CompositeComponent__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5219:2: rule__CompositeComponent__Group__1__Impl rule__CompositeComponent__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6347:1: ( rule__CompositeComponent__Group__1__Impl rule__CompositeComponent__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6348:2: rule__CompositeComponent__Group__1__Impl rule__CompositeComponent__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__1__Impl_in_rule__CompositeComponent__Group__110401);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__1__Impl_in_rule__CompositeComponent__Group__112623);
             rule__CompositeComponent__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__2_in_rule__CompositeComponent__Group__110404);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__2_in_rule__CompositeComponent__Group__112626);
             rule__CompositeComponent__Group__2();
 
             state._fsp--;
@@ -13718,23 +16582,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5226:1: rule__CompositeComponent__Group__1__Impl : ( ( rule__CompositeComponent__NameAssignment_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6355:1: rule__CompositeComponent__Group__1__Impl : ( ( rule__CompositeComponent__NameAssignment_1 ) ) ;
     public final void rule__CompositeComponent__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5230:1: ( ( ( rule__CompositeComponent__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5231:1: ( ( rule__CompositeComponent__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6359:1: ( ( ( rule__CompositeComponent__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6360:1: ( ( rule__CompositeComponent__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5231:1: ( ( rule__CompositeComponent__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5232:1: ( rule__CompositeComponent__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6360:1: ( ( rule__CompositeComponent__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6361:1: ( rule__CompositeComponent__NameAssignment_1 )
             {
              before(grammarAccess.getCompositeComponentAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5233:1: ( rule__CompositeComponent__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5233:2: rule__CompositeComponent__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6362:1: ( rule__CompositeComponent__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6362:2: rule__CompositeComponent__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__NameAssignment_1_in_rule__CompositeComponent__Group__1__Impl10431);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__NameAssignment_1_in_rule__CompositeComponent__Group__1__Impl12653);
             rule__CompositeComponent__NameAssignment_1();
 
             state._fsp--;
@@ -13765,21 +16629,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5243:1: rule__CompositeComponent__Group__2 : rule__CompositeComponent__Group__2__Impl rule__CompositeComponent__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6372:1: rule__CompositeComponent__Group__2 : rule__CompositeComponent__Group__2__Impl rule__CompositeComponent__Group__3 ;
     public final void rule__CompositeComponent__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5247:1: ( rule__CompositeComponent__Group__2__Impl rule__CompositeComponent__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5248:2: rule__CompositeComponent__Group__2__Impl rule__CompositeComponent__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6376:1: ( rule__CompositeComponent__Group__2__Impl rule__CompositeComponent__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6377:2: rule__CompositeComponent__Group__2__Impl rule__CompositeComponent__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__2__Impl_in_rule__CompositeComponent__Group__210461);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__2__Impl_in_rule__CompositeComponent__Group__212683);
             rule__CompositeComponent__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__3_in_rule__CompositeComponent__Group__210464);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__3_in_rule__CompositeComponent__Group__212686);
             rule__CompositeComponent__Group__3();
 
             state._fsp--;
@@ -13803,31 +16667,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5255:1: rule__CompositeComponent__Group__2__Impl : ( ( rule__CompositeComponent__Group_2__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6384:1: rule__CompositeComponent__Group__2__Impl : ( ( rule__CompositeComponent__Group_2__0 )? ) ;
     public final void rule__CompositeComponent__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5259:1: ( ( ( rule__CompositeComponent__Group_2__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5260:1: ( ( rule__CompositeComponent__Group_2__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6388:1: ( ( ( rule__CompositeComponent__Group_2__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6389:1: ( ( rule__CompositeComponent__Group_2__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5260:1: ( ( rule__CompositeComponent__Group_2__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5261:1: ( rule__CompositeComponent__Group_2__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6389:1: ( ( rule__CompositeComponent__Group_2__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6390:1: ( rule__CompositeComponent__Group_2__0 )?
             {
              before(grammarAccess.getCompositeComponentAccess().getGroup_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5262:1: ( rule__CompositeComponent__Group_2__0 )?
-            int alt34=2;
-            int LA34_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6391:1: ( rule__CompositeComponent__Group_2__0 )?
+            int alt40=2;
+            int LA40_0 = input.LA(1);
 
-            if ( (LA34_0==42) ) {
-                alt34=1;
+            if ( (LA40_0==49) ) {
+                alt40=1;
             }
-            switch (alt34) {
+            switch (alt40) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5262:2: rule__CompositeComponent__Group_2__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6391:2: rule__CompositeComponent__Group_2__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2__0_in_rule__CompositeComponent__Group__2__Impl10491);
+                    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2__0_in_rule__CompositeComponent__Group__2__Impl12713);
                     rule__CompositeComponent__Group_2__0();
 
                     state._fsp--;
@@ -13861,21 +16725,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5272:1: rule__CompositeComponent__Group__3 : rule__CompositeComponent__Group__3__Impl rule__CompositeComponent__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6401:1: rule__CompositeComponent__Group__3 : rule__CompositeComponent__Group__3__Impl rule__CompositeComponent__Group__4 ;
     public final void rule__CompositeComponent__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5276:1: ( rule__CompositeComponent__Group__3__Impl rule__CompositeComponent__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5277:2: rule__CompositeComponent__Group__3__Impl rule__CompositeComponent__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6405:1: ( rule__CompositeComponent__Group__3__Impl rule__CompositeComponent__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6406:2: rule__CompositeComponent__Group__3__Impl rule__CompositeComponent__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__3__Impl_in_rule__CompositeComponent__Group__310522);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__3__Impl_in_rule__CompositeComponent__Group__312744);
             rule__CompositeComponent__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__4_in_rule__CompositeComponent__Group__310525);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__4_in_rule__CompositeComponent__Group__312747);
             rule__CompositeComponent__Group__4();
 
             state._fsp--;
@@ -13899,31 +16763,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5284:1: rule__CompositeComponent__Group__3__Impl : ( ( rule__CompositeComponent__Group_3__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6413:1: rule__CompositeComponent__Group__3__Impl : ( ( rule__CompositeComponent__Group_3__0 )? ) ;
     public final void rule__CompositeComponent__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5288:1: ( ( ( rule__CompositeComponent__Group_3__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5289:1: ( ( rule__CompositeComponent__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6417:1: ( ( ( rule__CompositeComponent__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6418:1: ( ( rule__CompositeComponent__Group_3__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5289:1: ( ( rule__CompositeComponent__Group_3__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5290:1: ( rule__CompositeComponent__Group_3__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6418:1: ( ( rule__CompositeComponent__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6419:1: ( rule__CompositeComponent__Group_3__0 )?
             {
              before(grammarAccess.getCompositeComponentAccess().getGroup_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5291:1: ( rule__CompositeComponent__Group_3__0 )?
-            int alt35=2;
-            int LA35_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6420:1: ( rule__CompositeComponent__Group_3__0 )?
+            int alt41=2;
+            int LA41_0 = input.LA(1);
 
-            if ( (LA35_0==43) ) {
-                alt35=1;
+            if ( (LA41_0==50) ) {
+                alt41=1;
             }
-            switch (alt35) {
+            switch (alt41) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5291:2: rule__CompositeComponent__Group_3__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6420:2: rule__CompositeComponent__Group_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3__0_in_rule__CompositeComponent__Group__3__Impl10552);
+                    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3__0_in_rule__CompositeComponent__Group__3__Impl12774);
                     rule__CompositeComponent__Group_3__0();
 
                     state._fsp--;
@@ -13957,21 +16821,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5301:1: rule__CompositeComponent__Group__4 : rule__CompositeComponent__Group__4__Impl rule__CompositeComponent__Group__5 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6430:1: rule__CompositeComponent__Group__4 : rule__CompositeComponent__Group__4__Impl rule__CompositeComponent__Group__5 ;
     public final void rule__CompositeComponent__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5305:1: ( rule__CompositeComponent__Group__4__Impl rule__CompositeComponent__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5306:2: rule__CompositeComponent__Group__4__Impl rule__CompositeComponent__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6434:1: ( rule__CompositeComponent__Group__4__Impl rule__CompositeComponent__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6435:2: rule__CompositeComponent__Group__4__Impl rule__CompositeComponent__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__4__Impl_in_rule__CompositeComponent__Group__410583);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__4__Impl_in_rule__CompositeComponent__Group__412805);
             rule__CompositeComponent__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__5_in_rule__CompositeComponent__Group__410586);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__5_in_rule__CompositeComponent__Group__412808);
             rule__CompositeComponent__Group__5();
 
             state._fsp--;
@@ -13995,20 +16859,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5313:1: rule__CompositeComponent__Group__4__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6442:1: rule__CompositeComponent__Group__4__Impl : ( '{' ) ;
     public final void rule__CompositeComponent__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5317:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5318:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6446:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6447:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5318:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5319:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6447:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6448:1: '{'
             {
              before(grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__CompositeComponent__Group__4__Impl10614); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__CompositeComponent__Group__4__Impl12836); 
              after(grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -14032,21 +16896,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5332:1: rule__CompositeComponent__Group__5 : rule__CompositeComponent__Group__5__Impl rule__CompositeComponent__Group__6 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6461:1: rule__CompositeComponent__Group__5 : rule__CompositeComponent__Group__5__Impl rule__CompositeComponent__Group__6 ;
     public final void rule__CompositeComponent__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5336:1: ( rule__CompositeComponent__Group__5__Impl rule__CompositeComponent__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5337:2: rule__CompositeComponent__Group__5__Impl rule__CompositeComponent__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6465:1: ( rule__CompositeComponent__Group__5__Impl rule__CompositeComponent__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6466:2: rule__CompositeComponent__Group__5__Impl rule__CompositeComponent__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__5__Impl_in_rule__CompositeComponent__Group__510645);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__5__Impl_in_rule__CompositeComponent__Group__512867);
             rule__CompositeComponent__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__6_in_rule__CompositeComponent__Group__510648);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__6_in_rule__CompositeComponent__Group__512870);
             rule__CompositeComponent__Group__6();
 
             state._fsp--;
@@ -14070,31 +16934,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5344:1: rule__CompositeComponent__Group__5__Impl : ( ( rule__CompositeComponent__Group_5__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6473:1: rule__CompositeComponent__Group__5__Impl : ( ( rule__CompositeComponent__Group_5__0 )? ) ;
     public final void rule__CompositeComponent__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5348:1: ( ( ( rule__CompositeComponent__Group_5__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5349:1: ( ( rule__CompositeComponent__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6477:1: ( ( ( rule__CompositeComponent__Group_5__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6478:1: ( ( rule__CompositeComponent__Group_5__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5349:1: ( ( rule__CompositeComponent__Group_5__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5350:1: ( rule__CompositeComponent__Group_5__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6478:1: ( ( rule__CompositeComponent__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6479:1: ( rule__CompositeComponent__Group_5__0 )?
             {
              before(grammarAccess.getCompositeComponentAccess().getGroup_5()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5351:1: ( rule__CompositeComponent__Group_5__0 )?
-            int alt36=2;
-            int LA36_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6480:1: ( rule__CompositeComponent__Group_5__0 )?
+            int alt42=2;
+            int LA42_0 = input.LA(1);
 
-            if ( (LA36_0==29) ) {
-                alt36=1;
+            if ( (LA42_0==36) ) {
+                alt42=1;
             }
-            switch (alt36) {
+            switch (alt42) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5351:2: rule__CompositeComponent__Group_5__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6480:2: rule__CompositeComponent__Group_5__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__0_in_rule__CompositeComponent__Group__5__Impl10675);
+                    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__0_in_rule__CompositeComponent__Group__5__Impl12897);
                     rule__CompositeComponent__Group_5__0();
 
                     state._fsp--;
@@ -14128,21 +16992,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5361:1: rule__CompositeComponent__Group__6 : rule__CompositeComponent__Group__6__Impl rule__CompositeComponent__Group__7 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6490:1: rule__CompositeComponent__Group__6 : rule__CompositeComponent__Group__6__Impl rule__CompositeComponent__Group__7 ;
     public final void rule__CompositeComponent__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5365:1: ( rule__CompositeComponent__Group__6__Impl rule__CompositeComponent__Group__7 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5366:2: rule__CompositeComponent__Group__6__Impl rule__CompositeComponent__Group__7
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6494:1: ( rule__CompositeComponent__Group__6__Impl rule__CompositeComponent__Group__7 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6495:2: rule__CompositeComponent__Group__6__Impl rule__CompositeComponent__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__6__Impl_in_rule__CompositeComponent__Group__610706);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__6__Impl_in_rule__CompositeComponent__Group__612928);
             rule__CompositeComponent__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__7_in_rule__CompositeComponent__Group__610709);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__7_in_rule__CompositeComponent__Group__612931);
             rule__CompositeComponent__Group__7();
 
             state._fsp--;
@@ -14166,31 +17030,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5373:1: rule__CompositeComponent__Group__6__Impl : ( ( rule__CompositeComponent__Group_6__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6502:1: rule__CompositeComponent__Group__6__Impl : ( ( rule__CompositeComponent__Group_6__0 )? ) ;
     public final void rule__CompositeComponent__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5377:1: ( ( ( rule__CompositeComponent__Group_6__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5378:1: ( ( rule__CompositeComponent__Group_6__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6506:1: ( ( ( rule__CompositeComponent__Group_6__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6507:1: ( ( rule__CompositeComponent__Group_6__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5378:1: ( ( rule__CompositeComponent__Group_6__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5379:1: ( rule__CompositeComponent__Group_6__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6507:1: ( ( rule__CompositeComponent__Group_6__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6508:1: ( rule__CompositeComponent__Group_6__0 )?
             {
              before(grammarAccess.getCompositeComponentAccess().getGroup_6()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5380:1: ( rule__CompositeComponent__Group_6__0 )?
-            int alt37=2;
-            int LA37_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6509:1: ( rule__CompositeComponent__Group_6__0 )?
+            int alt43=2;
+            int LA43_0 = input.LA(1);
 
-            if ( (LA37_0==46) ) {
-                alt37=1;
+            if ( (LA43_0==53) ) {
+                alt43=1;
             }
-            switch (alt37) {
+            switch (alt43) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5380:2: rule__CompositeComponent__Group_6__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6509:2: rule__CompositeComponent__Group_6__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_6__0_in_rule__CompositeComponent__Group__6__Impl10736);
+                    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_6__0_in_rule__CompositeComponent__Group__6__Impl12958);
                     rule__CompositeComponent__Group_6__0();
 
                     state._fsp--;
@@ -14224,16 +17088,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__7"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5390:1: rule__CompositeComponent__Group__7 : rule__CompositeComponent__Group__7__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6519:1: rule__CompositeComponent__Group__7 : rule__CompositeComponent__Group__7__Impl ;
     public final void rule__CompositeComponent__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5394:1: ( rule__CompositeComponent__Group__7__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5395:2: rule__CompositeComponent__Group__7__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6523:1: ( rule__CompositeComponent__Group__7__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6524:2: rule__CompositeComponent__Group__7__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__7__Impl_in_rule__CompositeComponent__Group__710767);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group__7__Impl_in_rule__CompositeComponent__Group__712989);
             rule__CompositeComponent__Group__7__Impl();
 
             state._fsp--;
@@ -14257,20 +17121,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group__7__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5401:1: rule__CompositeComponent__Group__7__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6530:1: rule__CompositeComponent__Group__7__Impl : ( '}' ) ;
     public final void rule__CompositeComponent__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5405:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5406:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6534:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6535:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5406:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5407:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6535:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6536:1: '}'
             {
              before(grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__CompositeComponent__Group__7__Impl10795); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__CompositeComponent__Group__7__Impl13017); 
              after(grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7()); 
 
             }
@@ -14294,21 +17158,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_2__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5436:1: rule__CompositeComponent__Group_2__0 : rule__CompositeComponent__Group_2__0__Impl rule__CompositeComponent__Group_2__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6565:1: rule__CompositeComponent__Group_2__0 : rule__CompositeComponent__Group_2__0__Impl rule__CompositeComponent__Group_2__1 ;
     public final void rule__CompositeComponent__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5440:1: ( rule__CompositeComponent__Group_2__0__Impl rule__CompositeComponent__Group_2__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5441:2: rule__CompositeComponent__Group_2__0__Impl rule__CompositeComponent__Group_2__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6569:1: ( rule__CompositeComponent__Group_2__0__Impl rule__CompositeComponent__Group_2__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6570:2: rule__CompositeComponent__Group_2__0__Impl rule__CompositeComponent__Group_2__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2__0__Impl_in_rule__CompositeComponent__Group_2__010842);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2__0__Impl_in_rule__CompositeComponent__Group_2__013064);
             rule__CompositeComponent__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2__1_in_rule__CompositeComponent__Group_2__010845);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2__1_in_rule__CompositeComponent__Group_2__013067);
             rule__CompositeComponent__Group_2__1();
 
             state._fsp--;
@@ -14332,23 +17196,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_2__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5448:1: rule__CompositeComponent__Group_2__0__Impl : ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6577:1: rule__CompositeComponent__Group_2__0__Impl : ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 ) ) ;
     public final void rule__CompositeComponent__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5452:1: ( ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5453:1: ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6581:1: ( ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6582:1: ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5453:1: ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5454:1: ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6582:1: ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6583:1: ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 )
             {
              before(grammarAccess.getCompositeComponentAccess().getProvidedRolesAssignment_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5455:1: ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5455:2: rule__CompositeComponent__ProvidedRolesAssignment_2_0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6584:1: ( rule__CompositeComponent__ProvidedRolesAssignment_2_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6584:2: rule__CompositeComponent__ProvidedRolesAssignment_2_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__ProvidedRolesAssignment_2_0_in_rule__CompositeComponent__Group_2__0__Impl10872);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__ProvidedRolesAssignment_2_0_in_rule__CompositeComponent__Group_2__0__Impl13094);
             rule__CompositeComponent__ProvidedRolesAssignment_2_0();
 
             state._fsp--;
@@ -14379,16 +17243,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_2__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5465:1: rule__CompositeComponent__Group_2__1 : rule__CompositeComponent__Group_2__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6594:1: rule__CompositeComponent__Group_2__1 : rule__CompositeComponent__Group_2__1__Impl ;
     public final void rule__CompositeComponent__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5469:1: ( rule__CompositeComponent__Group_2__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5470:2: rule__CompositeComponent__Group_2__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6598:1: ( rule__CompositeComponent__Group_2__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6599:2: rule__CompositeComponent__Group_2__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2__1__Impl_in_rule__CompositeComponent__Group_2__110902);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2__1__Impl_in_rule__CompositeComponent__Group_2__113124);
             rule__CompositeComponent__Group_2__1__Impl();
 
             state._fsp--;
@@ -14412,35 +17276,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_2__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5476:1: rule__CompositeComponent__Group_2__1__Impl : ( ( rule__CompositeComponent__Group_2_1__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6605:1: rule__CompositeComponent__Group_2__1__Impl : ( ( rule__CompositeComponent__Group_2_1__0 )* ) ;
     public final void rule__CompositeComponent__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5480:1: ( ( ( rule__CompositeComponent__Group_2_1__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5481:1: ( ( rule__CompositeComponent__Group_2_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6609:1: ( ( ( rule__CompositeComponent__Group_2_1__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6610:1: ( ( rule__CompositeComponent__Group_2_1__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5481:1: ( ( rule__CompositeComponent__Group_2_1__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5482:1: ( rule__CompositeComponent__Group_2_1__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6610:1: ( ( rule__CompositeComponent__Group_2_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6611:1: ( rule__CompositeComponent__Group_2_1__0 )*
             {
              before(grammarAccess.getCompositeComponentAccess().getGroup_2_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5483:1: ( rule__CompositeComponent__Group_2_1__0 )*
-            loop38:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6612:1: ( rule__CompositeComponent__Group_2_1__0 )*
+            loop44:
             do {
-                int alt38=2;
-                int LA38_0 = input.LA(1);
+                int alt44=2;
+                int LA44_0 = input.LA(1);
 
-                if ( (LA38_0==26) ) {
-                    alt38=1;
+                if ( (LA44_0==23) ) {
+                    alt44=1;
                 }
 
 
-                switch (alt38) {
+                switch (alt44) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5483:2: rule__CompositeComponent__Group_2_1__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6612:2: rule__CompositeComponent__Group_2_1__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2_1__0_in_rule__CompositeComponent__Group_2__1__Impl10929);
+            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2_1__0_in_rule__CompositeComponent__Group_2__1__Impl13151);
             	    rule__CompositeComponent__Group_2_1__0();
 
             	    state._fsp--;
@@ -14450,7 +17314,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop38;
+            	    break loop44;
                 }
             } while (true);
 
@@ -14477,21 +17341,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_2_1__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5497:1: rule__CompositeComponent__Group_2_1__0 : rule__CompositeComponent__Group_2_1__0__Impl rule__CompositeComponent__Group_2_1__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6626:1: rule__CompositeComponent__Group_2_1__0 : rule__CompositeComponent__Group_2_1__0__Impl rule__CompositeComponent__Group_2_1__1 ;
     public final void rule__CompositeComponent__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5501:1: ( rule__CompositeComponent__Group_2_1__0__Impl rule__CompositeComponent__Group_2_1__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5502:2: rule__CompositeComponent__Group_2_1__0__Impl rule__CompositeComponent__Group_2_1__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6630:1: ( rule__CompositeComponent__Group_2_1__0__Impl rule__CompositeComponent__Group_2_1__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6631:2: rule__CompositeComponent__Group_2_1__0__Impl rule__CompositeComponent__Group_2_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2_1__0__Impl_in_rule__CompositeComponent__Group_2_1__010964);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2_1__0__Impl_in_rule__CompositeComponent__Group_2_1__013186);
             rule__CompositeComponent__Group_2_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2_1__1_in_rule__CompositeComponent__Group_2_1__010967);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2_1__1_in_rule__CompositeComponent__Group_2_1__013189);
             rule__CompositeComponent__Group_2_1__1();
 
             state._fsp--;
@@ -14515,20 +17379,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_2_1__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5509:1: rule__CompositeComponent__Group_2_1__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6638:1: rule__CompositeComponent__Group_2_1__0__Impl : ( ',' ) ;
     public final void rule__CompositeComponent__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5513:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5514:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6642:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6643:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5514:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5515:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6643:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6644:1: ','
             {
              before(grammarAccess.getCompositeComponentAccess().getCommaKeyword_2_1_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__CompositeComponent__Group_2_1__0__Impl10995); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__CompositeComponent__Group_2_1__0__Impl13217); 
              after(grammarAccess.getCompositeComponentAccess().getCommaKeyword_2_1_0()); 
 
             }
@@ -14552,16 +17416,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_2_1__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5528:1: rule__CompositeComponent__Group_2_1__1 : rule__CompositeComponent__Group_2_1__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6657:1: rule__CompositeComponent__Group_2_1__1 : rule__CompositeComponent__Group_2_1__1__Impl ;
     public final void rule__CompositeComponent__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5532:1: ( rule__CompositeComponent__Group_2_1__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5533:2: rule__CompositeComponent__Group_2_1__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6661:1: ( rule__CompositeComponent__Group_2_1__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6662:2: rule__CompositeComponent__Group_2_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2_1__1__Impl_in_rule__CompositeComponent__Group_2_1__111026);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_2_1__1__Impl_in_rule__CompositeComponent__Group_2_1__113248);
             rule__CompositeComponent__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -14585,23 +17449,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_2_1__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5539:1: rule__CompositeComponent__Group_2_1__1__Impl : ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6668:1: rule__CompositeComponent__Group_2_1__1__Impl : ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 ) ) ;
     public final void rule__CompositeComponent__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5543:1: ( ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5544:1: ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6672:1: ( ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6673:1: ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5544:1: ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5545:1: ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6673:1: ( ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6674:1: ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 )
             {
              before(grammarAccess.getCompositeComponentAccess().getProvidedRolesAssignment_2_1_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5546:1: ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5546:2: rule__CompositeComponent__ProvidedRolesAssignment_2_1_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6675:1: ( rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6675:2: rule__CompositeComponent__ProvidedRolesAssignment_2_1_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__ProvidedRolesAssignment_2_1_1_in_rule__CompositeComponent__Group_2_1__1__Impl11053);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__ProvidedRolesAssignment_2_1_1_in_rule__CompositeComponent__Group_2_1__1__Impl13275);
             rule__CompositeComponent__ProvidedRolesAssignment_2_1_1();
 
             state._fsp--;
@@ -14632,21 +17496,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5560:1: rule__CompositeComponent__Group_3__0 : rule__CompositeComponent__Group_3__0__Impl rule__CompositeComponent__Group_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6689:1: rule__CompositeComponent__Group_3__0 : rule__CompositeComponent__Group_3__0__Impl rule__CompositeComponent__Group_3__1 ;
     public final void rule__CompositeComponent__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5564:1: ( rule__CompositeComponent__Group_3__0__Impl rule__CompositeComponent__Group_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5565:2: rule__CompositeComponent__Group_3__0__Impl rule__CompositeComponent__Group_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6693:1: ( rule__CompositeComponent__Group_3__0__Impl rule__CompositeComponent__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6694:2: rule__CompositeComponent__Group_3__0__Impl rule__CompositeComponent__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3__0__Impl_in_rule__CompositeComponent__Group_3__011087);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3__0__Impl_in_rule__CompositeComponent__Group_3__013309);
             rule__CompositeComponent__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3__1_in_rule__CompositeComponent__Group_3__011090);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3__1_in_rule__CompositeComponent__Group_3__013312);
             rule__CompositeComponent__Group_3__1();
 
             state._fsp--;
@@ -14670,23 +17534,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5572:1: rule__CompositeComponent__Group_3__0__Impl : ( ( rule__CompositeComponent__RequiredRolesAssignment_3_0 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6701:1: rule__CompositeComponent__Group_3__0__Impl : ( ( rule__CompositeComponent__RequiredRolesAssignment_3_0 ) ) ;
     public final void rule__CompositeComponent__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5576:1: ( ( ( rule__CompositeComponent__RequiredRolesAssignment_3_0 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5577:1: ( ( rule__CompositeComponent__RequiredRolesAssignment_3_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6705:1: ( ( ( rule__CompositeComponent__RequiredRolesAssignment_3_0 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6706:1: ( ( rule__CompositeComponent__RequiredRolesAssignment_3_0 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5577:1: ( ( rule__CompositeComponent__RequiredRolesAssignment_3_0 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5578:1: ( rule__CompositeComponent__RequiredRolesAssignment_3_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6706:1: ( ( rule__CompositeComponent__RequiredRolesAssignment_3_0 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6707:1: ( rule__CompositeComponent__RequiredRolesAssignment_3_0 )
             {
              before(grammarAccess.getCompositeComponentAccess().getRequiredRolesAssignment_3_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5579:1: ( rule__CompositeComponent__RequiredRolesAssignment_3_0 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5579:2: rule__CompositeComponent__RequiredRolesAssignment_3_0
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6708:1: ( rule__CompositeComponent__RequiredRolesAssignment_3_0 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6708:2: rule__CompositeComponent__RequiredRolesAssignment_3_0
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__RequiredRolesAssignment_3_0_in_rule__CompositeComponent__Group_3__0__Impl11117);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__RequiredRolesAssignment_3_0_in_rule__CompositeComponent__Group_3__0__Impl13339);
             rule__CompositeComponent__RequiredRolesAssignment_3_0();
 
             state._fsp--;
@@ -14717,16 +17581,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5589:1: rule__CompositeComponent__Group_3__1 : rule__CompositeComponent__Group_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6718:1: rule__CompositeComponent__Group_3__1 : rule__CompositeComponent__Group_3__1__Impl ;
     public final void rule__CompositeComponent__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5593:1: ( rule__CompositeComponent__Group_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5594:2: rule__CompositeComponent__Group_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6722:1: ( rule__CompositeComponent__Group_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6723:2: rule__CompositeComponent__Group_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3__1__Impl_in_rule__CompositeComponent__Group_3__111147);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3__1__Impl_in_rule__CompositeComponent__Group_3__113369);
             rule__CompositeComponent__Group_3__1__Impl();
 
             state._fsp--;
@@ -14750,35 +17614,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5600:1: rule__CompositeComponent__Group_3__1__Impl : ( ( rule__CompositeComponent__Group_3_1__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6729:1: rule__CompositeComponent__Group_3__1__Impl : ( ( rule__CompositeComponent__Group_3_1__0 )* ) ;
     public final void rule__CompositeComponent__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5604:1: ( ( ( rule__CompositeComponent__Group_3_1__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5605:1: ( ( rule__CompositeComponent__Group_3_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6733:1: ( ( ( rule__CompositeComponent__Group_3_1__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6734:1: ( ( rule__CompositeComponent__Group_3_1__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5605:1: ( ( rule__CompositeComponent__Group_3_1__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5606:1: ( rule__CompositeComponent__Group_3_1__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6734:1: ( ( rule__CompositeComponent__Group_3_1__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6735:1: ( rule__CompositeComponent__Group_3_1__0 )*
             {
              before(grammarAccess.getCompositeComponentAccess().getGroup_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5607:1: ( rule__CompositeComponent__Group_3_1__0 )*
-            loop39:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6736:1: ( rule__CompositeComponent__Group_3_1__0 )*
+            loop45:
             do {
-                int alt39=2;
-                int LA39_0 = input.LA(1);
+                int alt45=2;
+                int LA45_0 = input.LA(1);
 
-                if ( (LA39_0==26) ) {
-                    alt39=1;
+                if ( (LA45_0==23) ) {
+                    alt45=1;
                 }
 
 
-                switch (alt39) {
+                switch (alt45) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5607:2: rule__CompositeComponent__Group_3_1__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6736:2: rule__CompositeComponent__Group_3_1__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3_1__0_in_rule__CompositeComponent__Group_3__1__Impl11174);
+            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3_1__0_in_rule__CompositeComponent__Group_3__1__Impl13396);
             	    rule__CompositeComponent__Group_3_1__0();
 
             	    state._fsp--;
@@ -14788,7 +17652,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop39;
+            	    break loop45;
                 }
             } while (true);
 
@@ -14815,21 +17679,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_3_1__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5621:1: rule__CompositeComponent__Group_3_1__0 : rule__CompositeComponent__Group_3_1__0__Impl rule__CompositeComponent__Group_3_1__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6750:1: rule__CompositeComponent__Group_3_1__0 : rule__CompositeComponent__Group_3_1__0__Impl rule__CompositeComponent__Group_3_1__1 ;
     public final void rule__CompositeComponent__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5625:1: ( rule__CompositeComponent__Group_3_1__0__Impl rule__CompositeComponent__Group_3_1__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5626:2: rule__CompositeComponent__Group_3_1__0__Impl rule__CompositeComponent__Group_3_1__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6754:1: ( rule__CompositeComponent__Group_3_1__0__Impl rule__CompositeComponent__Group_3_1__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6755:2: rule__CompositeComponent__Group_3_1__0__Impl rule__CompositeComponent__Group_3_1__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3_1__0__Impl_in_rule__CompositeComponent__Group_3_1__011209);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3_1__0__Impl_in_rule__CompositeComponent__Group_3_1__013431);
             rule__CompositeComponent__Group_3_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3_1__1_in_rule__CompositeComponent__Group_3_1__011212);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3_1__1_in_rule__CompositeComponent__Group_3_1__013434);
             rule__CompositeComponent__Group_3_1__1();
 
             state._fsp--;
@@ -14853,20 +17717,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_3_1__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5633:1: rule__CompositeComponent__Group_3_1__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6762:1: rule__CompositeComponent__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__CompositeComponent__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5637:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5638:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6766:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6767:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5638:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5639:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6767:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6768:1: ','
             {
              before(grammarAccess.getCompositeComponentAccess().getCommaKeyword_3_1_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__CompositeComponent__Group_3_1__0__Impl11240); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__CompositeComponent__Group_3_1__0__Impl13462); 
              after(grammarAccess.getCompositeComponentAccess().getCommaKeyword_3_1_0()); 
 
             }
@@ -14890,16 +17754,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_3_1__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5652:1: rule__CompositeComponent__Group_3_1__1 : rule__CompositeComponent__Group_3_1__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6781:1: rule__CompositeComponent__Group_3_1__1 : rule__CompositeComponent__Group_3_1__1__Impl ;
     public final void rule__CompositeComponent__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5656:1: ( rule__CompositeComponent__Group_3_1__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5657:2: rule__CompositeComponent__Group_3_1__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6785:1: ( rule__CompositeComponent__Group_3_1__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6786:2: rule__CompositeComponent__Group_3_1__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3_1__1__Impl_in_rule__CompositeComponent__Group_3_1__111271);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_3_1__1__Impl_in_rule__CompositeComponent__Group_3_1__113493);
             rule__CompositeComponent__Group_3_1__1__Impl();
 
             state._fsp--;
@@ -14923,23 +17787,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_3_1__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5663:1: rule__CompositeComponent__Group_3_1__1__Impl : ( ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6792:1: rule__CompositeComponent__Group_3_1__1__Impl : ( ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 ) ) ;
     public final void rule__CompositeComponent__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5667:1: ( ( ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5668:1: ( ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6796:1: ( ( ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6797:1: ( ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5668:1: ( ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5669:1: ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6797:1: ( ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6798:1: ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 )
             {
              before(grammarAccess.getCompositeComponentAccess().getRequiredRolesAssignment_3_1_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5670:1: ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5670:2: rule__CompositeComponent__RequiredRolesAssignment_3_1_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6799:1: ( rule__CompositeComponent__RequiredRolesAssignment_3_1_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6799:2: rule__CompositeComponent__RequiredRolesAssignment_3_1_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__RequiredRolesAssignment_3_1_1_in_rule__CompositeComponent__Group_3_1__1__Impl11298);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__RequiredRolesAssignment_3_1_1_in_rule__CompositeComponent__Group_3_1__1__Impl13520);
             rule__CompositeComponent__RequiredRolesAssignment_3_1_1();
 
             state._fsp--;
@@ -14970,21 +17834,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5684:1: rule__CompositeComponent__Group_5__0 : rule__CompositeComponent__Group_5__0__Impl rule__CompositeComponent__Group_5__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6813:1: rule__CompositeComponent__Group_5__0 : rule__CompositeComponent__Group_5__0__Impl rule__CompositeComponent__Group_5__1 ;
     public final void rule__CompositeComponent__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5688:1: ( rule__CompositeComponent__Group_5__0__Impl rule__CompositeComponent__Group_5__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5689:2: rule__CompositeComponent__Group_5__0__Impl rule__CompositeComponent__Group_5__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6817:1: ( rule__CompositeComponent__Group_5__0__Impl rule__CompositeComponent__Group_5__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6818:2: rule__CompositeComponent__Group_5__0__Impl rule__CompositeComponent__Group_5__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__0__Impl_in_rule__CompositeComponent__Group_5__011332);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__0__Impl_in_rule__CompositeComponent__Group_5__013554);
             rule__CompositeComponent__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__1_in_rule__CompositeComponent__Group_5__011335);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__1_in_rule__CompositeComponent__Group_5__013557);
             rule__CompositeComponent__Group_5__1();
 
             state._fsp--;
@@ -15008,20 +17872,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5696:1: rule__CompositeComponent__Group_5__0__Impl : ( 'relationship' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6825:1: rule__CompositeComponent__Group_5__0__Impl : ( 'relationship' ) ;
     public final void rule__CompositeComponent__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5700:1: ( ( 'relationship' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5701:1: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6829:1: ( ( 'relationship' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6830:1: ( 'relationship' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5701:1: ( 'relationship' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5702:1: 'relationship'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6830:1: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6831:1: 'relationship'
             {
              before(grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0()); 
-            match(input,29,FollowSets000.FOLLOW_29_in_rule__CompositeComponent__Group_5__0__Impl11363); 
+            match(input,36,FollowSets000.FOLLOW_36_in_rule__CompositeComponent__Group_5__0__Impl13585); 
              after(grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0()); 
 
             }
@@ -15045,21 +17909,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5715:1: rule__CompositeComponent__Group_5__1 : rule__CompositeComponent__Group_5__1__Impl rule__CompositeComponent__Group_5__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6844:1: rule__CompositeComponent__Group_5__1 : rule__CompositeComponent__Group_5__1__Impl rule__CompositeComponent__Group_5__2 ;
     public final void rule__CompositeComponent__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5719:1: ( rule__CompositeComponent__Group_5__1__Impl rule__CompositeComponent__Group_5__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5720:2: rule__CompositeComponent__Group_5__1__Impl rule__CompositeComponent__Group_5__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6848:1: ( rule__CompositeComponent__Group_5__1__Impl rule__CompositeComponent__Group_5__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6849:2: rule__CompositeComponent__Group_5__1__Impl rule__CompositeComponent__Group_5__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__1__Impl_in_rule__CompositeComponent__Group_5__111394);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__1__Impl_in_rule__CompositeComponent__Group_5__113616);
             rule__CompositeComponent__Group_5__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__2_in_rule__CompositeComponent__Group_5__111397);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__2_in_rule__CompositeComponent__Group_5__113619);
             rule__CompositeComponent__Group_5__2();
 
             state._fsp--;
@@ -15083,20 +17947,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5727:1: rule__CompositeComponent__Group_5__1__Impl : ( '(' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6856:1: rule__CompositeComponent__Group_5__1__Impl : ( '(' ) ;
     public final void rule__CompositeComponent__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5731:1: ( ( '(' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5732:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6860:1: ( ( '(' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6861:1: ( '(' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5732:1: ( '(' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5733:1: '('
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6861:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6862:1: '('
             {
              before(grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__CompositeComponent__Group_5__1__Impl11425); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__CompositeComponent__Group_5__1__Impl13647); 
              after(grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1()); 
 
             }
@@ -15120,21 +17984,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5746:1: rule__CompositeComponent__Group_5__2 : rule__CompositeComponent__Group_5__2__Impl rule__CompositeComponent__Group_5__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6875:1: rule__CompositeComponent__Group_5__2 : rule__CompositeComponent__Group_5__2__Impl rule__CompositeComponent__Group_5__3 ;
     public final void rule__CompositeComponent__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5750:1: ( rule__CompositeComponent__Group_5__2__Impl rule__CompositeComponent__Group_5__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5751:2: rule__CompositeComponent__Group_5__2__Impl rule__CompositeComponent__Group_5__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6879:1: ( rule__CompositeComponent__Group_5__2__Impl rule__CompositeComponent__Group_5__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6880:2: rule__CompositeComponent__Group_5__2__Impl rule__CompositeComponent__Group_5__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__2__Impl_in_rule__CompositeComponent__Group_5__211456);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__2__Impl_in_rule__CompositeComponent__Group_5__213678);
             rule__CompositeComponent__Group_5__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__3_in_rule__CompositeComponent__Group_5__211459);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__3_in_rule__CompositeComponent__Group_5__213681);
             rule__CompositeComponent__Group_5__3();
 
             state._fsp--;
@@ -15158,23 +18022,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5758:1: rule__CompositeComponent__Group_5__2__Impl : ( ( rule__CompositeComponent__RelationshipAssignment_5_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6887:1: rule__CompositeComponent__Group_5__2__Impl : ( ( rule__CompositeComponent__RelationshipAssignment_5_2 ) ) ;
     public final void rule__CompositeComponent__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5762:1: ( ( ( rule__CompositeComponent__RelationshipAssignment_5_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5763:1: ( ( rule__CompositeComponent__RelationshipAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6891:1: ( ( ( rule__CompositeComponent__RelationshipAssignment_5_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6892:1: ( ( rule__CompositeComponent__RelationshipAssignment_5_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5763:1: ( ( rule__CompositeComponent__RelationshipAssignment_5_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5764:1: ( rule__CompositeComponent__RelationshipAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6892:1: ( ( rule__CompositeComponent__RelationshipAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6893:1: ( rule__CompositeComponent__RelationshipAssignment_5_2 )
             {
              before(grammarAccess.getCompositeComponentAccess().getRelationshipAssignment_5_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5765:1: ( rule__CompositeComponent__RelationshipAssignment_5_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5765:2: rule__CompositeComponent__RelationshipAssignment_5_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6894:1: ( rule__CompositeComponent__RelationshipAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6894:2: rule__CompositeComponent__RelationshipAssignment_5_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__RelationshipAssignment_5_2_in_rule__CompositeComponent__Group_5__2__Impl11486);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__RelationshipAssignment_5_2_in_rule__CompositeComponent__Group_5__2__Impl13708);
             rule__CompositeComponent__RelationshipAssignment_5_2();
 
             state._fsp--;
@@ -15205,21 +18069,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5775:1: rule__CompositeComponent__Group_5__3 : rule__CompositeComponent__Group_5__3__Impl rule__CompositeComponent__Group_5__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6904:1: rule__CompositeComponent__Group_5__3 : rule__CompositeComponent__Group_5__3__Impl rule__CompositeComponent__Group_5__4 ;
     public final void rule__CompositeComponent__Group_5__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5779:1: ( rule__CompositeComponent__Group_5__3__Impl rule__CompositeComponent__Group_5__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5780:2: rule__CompositeComponent__Group_5__3__Impl rule__CompositeComponent__Group_5__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6908:1: ( rule__CompositeComponent__Group_5__3__Impl rule__CompositeComponent__Group_5__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6909:2: rule__CompositeComponent__Group_5__3__Impl rule__CompositeComponent__Group_5__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__3__Impl_in_rule__CompositeComponent__Group_5__311516);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__3__Impl_in_rule__CompositeComponent__Group_5__313738);
             rule__CompositeComponent__Group_5__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__4_in_rule__CompositeComponent__Group_5__311519);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__4_in_rule__CompositeComponent__Group_5__313741);
             rule__CompositeComponent__Group_5__4();
 
             state._fsp--;
@@ -15243,35 +18107,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5787:1: rule__CompositeComponent__Group_5__3__Impl : ( ( rule__CompositeComponent__Group_5_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6916:1: rule__CompositeComponent__Group_5__3__Impl : ( ( rule__CompositeComponent__Group_5_3__0 )* ) ;
     public final void rule__CompositeComponent__Group_5__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5791:1: ( ( ( rule__CompositeComponent__Group_5_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5792:1: ( ( rule__CompositeComponent__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6920:1: ( ( ( rule__CompositeComponent__Group_5_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6921:1: ( ( rule__CompositeComponent__Group_5_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5792:1: ( ( rule__CompositeComponent__Group_5_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5793:1: ( rule__CompositeComponent__Group_5_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6921:1: ( ( rule__CompositeComponent__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6922:1: ( rule__CompositeComponent__Group_5_3__0 )*
             {
              before(grammarAccess.getCompositeComponentAccess().getGroup_5_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5794:1: ( rule__CompositeComponent__Group_5_3__0 )*
-            loop40:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6923:1: ( rule__CompositeComponent__Group_5_3__0 )*
+            loop46:
             do {
-                int alt40=2;
-                int LA40_0 = input.LA(1);
+                int alt46=2;
+                int LA46_0 = input.LA(1);
 
-                if ( (LA40_0==26) ) {
-                    alt40=1;
+                if ( (LA46_0==23) ) {
+                    alt46=1;
                 }
 
 
-                switch (alt40) {
+                switch (alt46) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5794:2: rule__CompositeComponent__Group_5_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6923:2: rule__CompositeComponent__Group_5_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5_3__0_in_rule__CompositeComponent__Group_5__3__Impl11546);
+            	    pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5_3__0_in_rule__CompositeComponent__Group_5__3__Impl13768);
             	    rule__CompositeComponent__Group_5_3__0();
 
             	    state._fsp--;
@@ -15281,7 +18145,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop40;
+            	    break loop46;
                 }
             } while (true);
 
@@ -15308,16 +18172,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5804:1: rule__CompositeComponent__Group_5__4 : rule__CompositeComponent__Group_5__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6933:1: rule__CompositeComponent__Group_5__4 : rule__CompositeComponent__Group_5__4__Impl ;
     public final void rule__CompositeComponent__Group_5__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5808:1: ( rule__CompositeComponent__Group_5__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5809:2: rule__CompositeComponent__Group_5__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6937:1: ( rule__CompositeComponent__Group_5__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6938:2: rule__CompositeComponent__Group_5__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__4__Impl_in_rule__CompositeComponent__Group_5__411577);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5__4__Impl_in_rule__CompositeComponent__Group_5__413799);
             rule__CompositeComponent__Group_5__4__Impl();
 
             state._fsp--;
@@ -15341,20 +18205,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5815:1: rule__CompositeComponent__Group_5__4__Impl : ( ')' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6944:1: rule__CompositeComponent__Group_5__4__Impl : ( ')' ) ;
     public final void rule__CompositeComponent__Group_5__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5819:1: ( ( ')' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5820:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6948:1: ( ( ')' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6949:1: ( ')' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5820:1: ( ')' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5821:1: ')'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6949:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6950:1: ')'
             {
              before(grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__CompositeComponent__Group_5__4__Impl11605); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__CompositeComponent__Group_5__4__Impl13827); 
              after(grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4()); 
 
             }
@@ -15378,21 +18242,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5844:1: rule__CompositeComponent__Group_5_3__0 : rule__CompositeComponent__Group_5_3__0__Impl rule__CompositeComponent__Group_5_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6973:1: rule__CompositeComponent__Group_5_3__0 : rule__CompositeComponent__Group_5_3__0__Impl rule__CompositeComponent__Group_5_3__1 ;
     public final void rule__CompositeComponent__Group_5_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5848:1: ( rule__CompositeComponent__Group_5_3__0__Impl rule__CompositeComponent__Group_5_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5849:2: rule__CompositeComponent__Group_5_3__0__Impl rule__CompositeComponent__Group_5_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6977:1: ( rule__CompositeComponent__Group_5_3__0__Impl rule__CompositeComponent__Group_5_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6978:2: rule__CompositeComponent__Group_5_3__0__Impl rule__CompositeComponent__Group_5_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5_3__0__Impl_in_rule__CompositeComponent__Group_5_3__011646);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5_3__0__Impl_in_rule__CompositeComponent__Group_5_3__013868);
             rule__CompositeComponent__Group_5_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5_3__1_in_rule__CompositeComponent__Group_5_3__011649);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5_3__1_in_rule__CompositeComponent__Group_5_3__013871);
             rule__CompositeComponent__Group_5_3__1();
 
             state._fsp--;
@@ -15416,20 +18280,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5856:1: rule__CompositeComponent__Group_5_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6985:1: rule__CompositeComponent__Group_5_3__0__Impl : ( ',' ) ;
     public final void rule__CompositeComponent__Group_5_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5860:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5861:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6989:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6990:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5861:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5862:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6990:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6991:1: ','
             {
              before(grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__CompositeComponent__Group_5_3__0__Impl11677); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__CompositeComponent__Group_5_3__0__Impl13899); 
              after(grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0()); 
 
             }
@@ -15453,16 +18317,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5875:1: rule__CompositeComponent__Group_5_3__1 : rule__CompositeComponent__Group_5_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7004:1: rule__CompositeComponent__Group_5_3__1 : rule__CompositeComponent__Group_5_3__1__Impl ;
     public final void rule__CompositeComponent__Group_5_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5879:1: ( rule__CompositeComponent__Group_5_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5880:2: rule__CompositeComponent__Group_5_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7008:1: ( rule__CompositeComponent__Group_5_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7009:2: rule__CompositeComponent__Group_5_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5_3__1__Impl_in_rule__CompositeComponent__Group_5_3__111708);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_5_3__1__Impl_in_rule__CompositeComponent__Group_5_3__113930);
             rule__CompositeComponent__Group_5_3__1__Impl();
 
             state._fsp--;
@@ -15486,23 +18350,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_5_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5886:1: rule__CompositeComponent__Group_5_3__1__Impl : ( ( rule__CompositeComponent__RelationshipAssignment_5_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7015:1: rule__CompositeComponent__Group_5_3__1__Impl : ( ( rule__CompositeComponent__RelationshipAssignment_5_3_1 ) ) ;
     public final void rule__CompositeComponent__Group_5_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5890:1: ( ( ( rule__CompositeComponent__RelationshipAssignment_5_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5891:1: ( ( rule__CompositeComponent__RelationshipAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7019:1: ( ( ( rule__CompositeComponent__RelationshipAssignment_5_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7020:1: ( ( rule__CompositeComponent__RelationshipAssignment_5_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5891:1: ( ( rule__CompositeComponent__RelationshipAssignment_5_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5892:1: ( rule__CompositeComponent__RelationshipAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7020:1: ( ( rule__CompositeComponent__RelationshipAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7021:1: ( rule__CompositeComponent__RelationshipAssignment_5_3_1 )
             {
              before(grammarAccess.getCompositeComponentAccess().getRelationshipAssignment_5_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5893:1: ( rule__CompositeComponent__RelationshipAssignment_5_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5893:2: rule__CompositeComponent__RelationshipAssignment_5_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7022:1: ( rule__CompositeComponent__RelationshipAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7022:2: rule__CompositeComponent__RelationshipAssignment_5_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__RelationshipAssignment_5_3_1_in_rule__CompositeComponent__Group_5_3__1__Impl11735);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__RelationshipAssignment_5_3_1_in_rule__CompositeComponent__Group_5_3__1__Impl13957);
             rule__CompositeComponent__RelationshipAssignment_5_3_1();
 
             state._fsp--;
@@ -15533,21 +18397,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_6__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5907:1: rule__CompositeComponent__Group_6__0 : rule__CompositeComponent__Group_6__0__Impl rule__CompositeComponent__Group_6__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7036:1: rule__CompositeComponent__Group_6__0 : rule__CompositeComponent__Group_6__0__Impl rule__CompositeComponent__Group_6__1 ;
     public final void rule__CompositeComponent__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5911:1: ( rule__CompositeComponent__Group_6__0__Impl rule__CompositeComponent__Group_6__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5912:2: rule__CompositeComponent__Group_6__0__Impl rule__CompositeComponent__Group_6__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7040:1: ( rule__CompositeComponent__Group_6__0__Impl rule__CompositeComponent__Group_6__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7041:2: rule__CompositeComponent__Group_6__0__Impl rule__CompositeComponent__Group_6__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_6__0__Impl_in_rule__CompositeComponent__Group_6__011769);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_6__0__Impl_in_rule__CompositeComponent__Group_6__013991);
             rule__CompositeComponent__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_6__1_in_rule__CompositeComponent__Group_6__011772);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_6__1_in_rule__CompositeComponent__Group_6__013994);
             rule__CompositeComponent__Group_6__1();
 
             state._fsp--;
@@ -15571,20 +18435,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_6__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5919:1: rule__CompositeComponent__Group_6__0__Impl : ( 'assembly' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7048:1: rule__CompositeComponent__Group_6__0__Impl : ( 'assembly' ) ;
     public final void rule__CompositeComponent__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5923:1: ( ( 'assembly' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5924:1: ( 'assembly' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7052:1: ( ( 'assembly' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7053:1: ( 'assembly' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5924:1: ( 'assembly' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5925:1: 'assembly'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7053:1: ( 'assembly' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7054:1: 'assembly'
             {
              before(grammarAccess.getCompositeComponentAccess().getAssemblyKeyword_6_0()); 
-            match(input,46,FollowSets000.FOLLOW_46_in_rule__CompositeComponent__Group_6__0__Impl11800); 
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__CompositeComponent__Group_6__0__Impl14022); 
              after(grammarAccess.getCompositeComponentAccess().getAssemblyKeyword_6_0()); 
 
             }
@@ -15608,16 +18472,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_6__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5938:1: rule__CompositeComponent__Group_6__1 : rule__CompositeComponent__Group_6__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7067:1: rule__CompositeComponent__Group_6__1 : rule__CompositeComponent__Group_6__1__Impl ;
     public final void rule__CompositeComponent__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5942:1: ( rule__CompositeComponent__Group_6__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5943:2: rule__CompositeComponent__Group_6__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7071:1: ( rule__CompositeComponent__Group_6__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7072:2: rule__CompositeComponent__Group_6__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_6__1__Impl_in_rule__CompositeComponent__Group_6__111831);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__Group_6__1__Impl_in_rule__CompositeComponent__Group_6__114053);
             rule__CompositeComponent__Group_6__1__Impl();
 
             state._fsp--;
@@ -15641,23 +18505,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__Group_6__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5949:1: rule__CompositeComponent__Group_6__1__Impl : ( ( rule__CompositeComponent__AssemblyAssignment_6_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7078:1: rule__CompositeComponent__Group_6__1__Impl : ( ( rule__CompositeComponent__AssemblyAssignment_6_1 ) ) ;
     public final void rule__CompositeComponent__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5953:1: ( ( ( rule__CompositeComponent__AssemblyAssignment_6_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5954:1: ( ( rule__CompositeComponent__AssemblyAssignment_6_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7082:1: ( ( ( rule__CompositeComponent__AssemblyAssignment_6_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7083:1: ( ( rule__CompositeComponent__AssemblyAssignment_6_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5954:1: ( ( rule__CompositeComponent__AssemblyAssignment_6_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5955:1: ( rule__CompositeComponent__AssemblyAssignment_6_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7083:1: ( ( rule__CompositeComponent__AssemblyAssignment_6_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7084:1: ( rule__CompositeComponent__AssemblyAssignment_6_1 )
             {
              before(grammarAccess.getCompositeComponentAccess().getAssemblyAssignment_6_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5956:1: ( rule__CompositeComponent__AssemblyAssignment_6_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5956:2: rule__CompositeComponent__AssemblyAssignment_6_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7085:1: ( rule__CompositeComponent__AssemblyAssignment_6_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7085:2: rule__CompositeComponent__AssemblyAssignment_6_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__AssemblyAssignment_6_1_in_rule__CompositeComponent__Group_6__1__Impl11858);
+            pushFollow(FollowSets000.FOLLOW_rule__CompositeComponent__AssemblyAssignment_6_1_in_rule__CompositeComponent__Group_6__1__Impl14080);
             rule__CompositeComponent__AssemblyAssignment_6_1();
 
             state._fsp--;
@@ -15688,21 +18552,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5970:1: rule__SubSystem__Group__0 : rule__SubSystem__Group__0__Impl rule__SubSystem__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7099:1: rule__SubSystem__Group__0 : rule__SubSystem__Group__0__Impl rule__SubSystem__Group__1 ;
     public final void rule__SubSystem__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5974:1: ( rule__SubSystem__Group__0__Impl rule__SubSystem__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5975:2: rule__SubSystem__Group__0__Impl rule__SubSystem__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7103:1: ( rule__SubSystem__Group__0__Impl rule__SubSystem__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7104:2: rule__SubSystem__Group__0__Impl rule__SubSystem__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__0__Impl_in_rule__SubSystem__Group__011892);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__0__Impl_in_rule__SubSystem__Group__014114);
             rule__SubSystem__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__1_in_rule__SubSystem__Group__011895);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__1_in_rule__SubSystem__Group__014117);
             rule__SubSystem__Group__1();
 
             state._fsp--;
@@ -15726,20 +18590,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5982:1: rule__SubSystem__Group__0__Impl : ( 'SubSystem' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7111:1: rule__SubSystem__Group__0__Impl : ( 'SubSystem' ) ;
     public final void rule__SubSystem__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5986:1: ( ( 'SubSystem' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5987:1: ( 'SubSystem' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7115:1: ( ( 'SubSystem' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7116:1: ( 'SubSystem' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5987:1: ( 'SubSystem' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:5988:1: 'SubSystem'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7116:1: ( 'SubSystem' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7117:1: 'SubSystem'
             {
              before(grammarAccess.getSubSystemAccess().getSubSystemKeyword_0()); 
-            match(input,47,FollowSets000.FOLLOW_47_in_rule__SubSystem__Group__0__Impl11923); 
+            match(input,54,FollowSets000.FOLLOW_54_in_rule__SubSystem__Group__0__Impl14145); 
              after(grammarAccess.getSubSystemAccess().getSubSystemKeyword_0()); 
 
             }
@@ -15763,21 +18627,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6001:1: rule__SubSystem__Group__1 : rule__SubSystem__Group__1__Impl rule__SubSystem__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7130:1: rule__SubSystem__Group__1 : rule__SubSystem__Group__1__Impl rule__SubSystem__Group__2 ;
     public final void rule__SubSystem__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6005:1: ( rule__SubSystem__Group__1__Impl rule__SubSystem__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6006:2: rule__SubSystem__Group__1__Impl rule__SubSystem__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7134:1: ( rule__SubSystem__Group__1__Impl rule__SubSystem__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7135:2: rule__SubSystem__Group__1__Impl rule__SubSystem__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__1__Impl_in_rule__SubSystem__Group__111954);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__1__Impl_in_rule__SubSystem__Group__114176);
             rule__SubSystem__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__2_in_rule__SubSystem__Group__111957);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__2_in_rule__SubSystem__Group__114179);
             rule__SubSystem__Group__2();
 
             state._fsp--;
@@ -15801,23 +18665,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6013:1: rule__SubSystem__Group__1__Impl : ( ( rule__SubSystem__NameAssignment_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7142:1: rule__SubSystem__Group__1__Impl : ( ( rule__SubSystem__NameAssignment_1 ) ) ;
     public final void rule__SubSystem__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6017:1: ( ( ( rule__SubSystem__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6018:1: ( ( rule__SubSystem__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7146:1: ( ( ( rule__SubSystem__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7147:1: ( ( rule__SubSystem__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6018:1: ( ( rule__SubSystem__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6019:1: ( rule__SubSystem__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7147:1: ( ( rule__SubSystem__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7148:1: ( rule__SubSystem__NameAssignment_1 )
             {
              before(grammarAccess.getSubSystemAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6020:1: ( rule__SubSystem__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6020:2: rule__SubSystem__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7149:1: ( rule__SubSystem__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7149:2: rule__SubSystem__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__NameAssignment_1_in_rule__SubSystem__Group__1__Impl11984);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__NameAssignment_1_in_rule__SubSystem__Group__1__Impl14206);
             rule__SubSystem__NameAssignment_1();
 
             state._fsp--;
@@ -15848,21 +18712,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6030:1: rule__SubSystem__Group__2 : rule__SubSystem__Group__2__Impl rule__SubSystem__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7159:1: rule__SubSystem__Group__2 : rule__SubSystem__Group__2__Impl rule__SubSystem__Group__3 ;
     public final void rule__SubSystem__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6034:1: ( rule__SubSystem__Group__2__Impl rule__SubSystem__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6035:2: rule__SubSystem__Group__2__Impl rule__SubSystem__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7163:1: ( rule__SubSystem__Group__2__Impl rule__SubSystem__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7164:2: rule__SubSystem__Group__2__Impl rule__SubSystem__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__2__Impl_in_rule__SubSystem__Group__212014);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__2__Impl_in_rule__SubSystem__Group__214236);
             rule__SubSystem__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__3_in_rule__SubSystem__Group__212017);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__3_in_rule__SubSystem__Group__214239);
             rule__SubSystem__Group__3();
 
             state._fsp--;
@@ -15886,31 +18750,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6042:1: rule__SubSystem__Group__2__Impl : ( ( rule__SubSystem__Group_2__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7171:1: rule__SubSystem__Group__2__Impl : ( ( rule__SubSystem__Group_2__0 )? ) ;
     public final void rule__SubSystem__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6046:1: ( ( ( rule__SubSystem__Group_2__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6047:1: ( ( rule__SubSystem__Group_2__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7175:1: ( ( ( rule__SubSystem__Group_2__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7176:1: ( ( rule__SubSystem__Group_2__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6047:1: ( ( rule__SubSystem__Group_2__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6048:1: ( rule__SubSystem__Group_2__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7176:1: ( ( rule__SubSystem__Group_2__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7177:1: ( rule__SubSystem__Group_2__0 )?
             {
              before(grammarAccess.getSubSystemAccess().getGroup_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6049:1: ( rule__SubSystem__Group_2__0 )?
-            int alt41=2;
-            int LA41_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7178:1: ( rule__SubSystem__Group_2__0 )?
+            int alt47=2;
+            int LA47_0 = input.LA(1);
 
-            if ( (LA41_0==30) ) {
-                alt41=1;
+            if ( (LA47_0==37) ) {
+                alt47=1;
             }
-            switch (alt41) {
+            switch (alt47) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6049:2: rule__SubSystem__Group_2__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7178:2: rule__SubSystem__Group_2__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__0_in_rule__SubSystem__Group__2__Impl12044);
+                    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__0_in_rule__SubSystem__Group__2__Impl14266);
                     rule__SubSystem__Group_2__0();
 
                     state._fsp--;
@@ -15944,21 +18808,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6059:1: rule__SubSystem__Group__3 : rule__SubSystem__Group__3__Impl rule__SubSystem__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7188:1: rule__SubSystem__Group__3 : rule__SubSystem__Group__3__Impl rule__SubSystem__Group__4 ;
     public final void rule__SubSystem__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6063:1: ( rule__SubSystem__Group__3__Impl rule__SubSystem__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6064:2: rule__SubSystem__Group__3__Impl rule__SubSystem__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7192:1: ( rule__SubSystem__Group__3__Impl rule__SubSystem__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7193:2: rule__SubSystem__Group__3__Impl rule__SubSystem__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__3__Impl_in_rule__SubSystem__Group__312075);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__3__Impl_in_rule__SubSystem__Group__314297);
             rule__SubSystem__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__4_in_rule__SubSystem__Group__312078);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__4_in_rule__SubSystem__Group__314300);
             rule__SubSystem__Group__4();
 
             state._fsp--;
@@ -15982,31 +18846,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6071:1: rule__SubSystem__Group__3__Impl : ( ( rule__SubSystem__Group_3__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7200:1: rule__SubSystem__Group__3__Impl : ( ( rule__SubSystem__Group_3__0 )? ) ;
     public final void rule__SubSystem__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6075:1: ( ( ( rule__SubSystem__Group_3__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6076:1: ( ( rule__SubSystem__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7204:1: ( ( ( rule__SubSystem__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7205:1: ( ( rule__SubSystem__Group_3__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6076:1: ( ( rule__SubSystem__Group_3__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6077:1: ( rule__SubSystem__Group_3__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7205:1: ( ( rule__SubSystem__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7206:1: ( rule__SubSystem__Group_3__0 )?
             {
              before(grammarAccess.getSubSystemAccess().getGroup_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6078:1: ( rule__SubSystem__Group_3__0 )?
-            int alt42=2;
-            int LA42_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7207:1: ( rule__SubSystem__Group_3__0 )?
+            int alt48=2;
+            int LA48_0 = input.LA(1);
 
-            if ( (LA42_0==31) ) {
-                alt42=1;
+            if ( (LA48_0==38) ) {
+                alt48=1;
             }
-            switch (alt42) {
+            switch (alt48) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6078:2: rule__SubSystem__Group_3__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7207:2: rule__SubSystem__Group_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__0_in_rule__SubSystem__Group__3__Impl12105);
+                    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__0_in_rule__SubSystem__Group__3__Impl14327);
                     rule__SubSystem__Group_3__0();
 
                     state._fsp--;
@@ -16040,21 +18904,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6088:1: rule__SubSystem__Group__4 : rule__SubSystem__Group__4__Impl rule__SubSystem__Group__5 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7217:1: rule__SubSystem__Group__4 : rule__SubSystem__Group__4__Impl rule__SubSystem__Group__5 ;
     public final void rule__SubSystem__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6092:1: ( rule__SubSystem__Group__4__Impl rule__SubSystem__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6093:2: rule__SubSystem__Group__4__Impl rule__SubSystem__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7221:1: ( rule__SubSystem__Group__4__Impl rule__SubSystem__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7222:2: rule__SubSystem__Group__4__Impl rule__SubSystem__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__4__Impl_in_rule__SubSystem__Group__412136);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__4__Impl_in_rule__SubSystem__Group__414358);
             rule__SubSystem__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__5_in_rule__SubSystem__Group__412139);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__5_in_rule__SubSystem__Group__414361);
             rule__SubSystem__Group__5();
 
             state._fsp--;
@@ -16078,20 +18942,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6100:1: rule__SubSystem__Group__4__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7229:1: rule__SubSystem__Group__4__Impl : ( '{' ) ;
     public final void rule__SubSystem__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6104:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6105:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7233:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7234:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6105:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6106:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7234:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7235:1: '{'
             {
              before(grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__SubSystem__Group__4__Impl12167); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__SubSystem__Group__4__Impl14389); 
              after(grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -16115,21 +18979,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6119:1: rule__SubSystem__Group__5 : rule__SubSystem__Group__5__Impl rule__SubSystem__Group__6 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7248:1: rule__SubSystem__Group__5 : rule__SubSystem__Group__5__Impl rule__SubSystem__Group__6 ;
     public final void rule__SubSystem__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6123:1: ( rule__SubSystem__Group__5__Impl rule__SubSystem__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6124:2: rule__SubSystem__Group__5__Impl rule__SubSystem__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7252:1: ( rule__SubSystem__Group__5__Impl rule__SubSystem__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7253:2: rule__SubSystem__Group__5__Impl rule__SubSystem__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__5__Impl_in_rule__SubSystem__Group__512198);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__5__Impl_in_rule__SubSystem__Group__514420);
             rule__SubSystem__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__6_in_rule__SubSystem__Group__512201);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__6_in_rule__SubSystem__Group__514423);
             rule__SubSystem__Group__6();
 
             state._fsp--;
@@ -16153,31 +19017,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6131:1: rule__SubSystem__Group__5__Impl : ( ( rule__SubSystem__Group_5__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7260:1: rule__SubSystem__Group__5__Impl : ( ( rule__SubSystem__Group_5__0 )? ) ;
     public final void rule__SubSystem__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6135:1: ( ( ( rule__SubSystem__Group_5__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6136:1: ( ( rule__SubSystem__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7264:1: ( ( ( rule__SubSystem__Group_5__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7265:1: ( ( rule__SubSystem__Group_5__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6136:1: ( ( rule__SubSystem__Group_5__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6137:1: ( rule__SubSystem__Group_5__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7265:1: ( ( rule__SubSystem__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7266:1: ( rule__SubSystem__Group_5__0 )?
             {
              before(grammarAccess.getSubSystemAccess().getGroup_5()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6138:1: ( rule__SubSystem__Group_5__0 )?
-            int alt43=2;
-            int LA43_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7267:1: ( rule__SubSystem__Group_5__0 )?
+            int alt49=2;
+            int LA49_0 = input.LA(1);
 
-            if ( (LA43_0==29) ) {
-                alt43=1;
+            if ( (LA49_0==36) ) {
+                alt49=1;
             }
-            switch (alt43) {
+            switch (alt49) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6138:2: rule__SubSystem__Group_5__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7267:2: rule__SubSystem__Group_5__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__0_in_rule__SubSystem__Group__5__Impl12228);
+                    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__0_in_rule__SubSystem__Group__5__Impl14450);
                     rule__SubSystem__Group_5__0();
 
                     state._fsp--;
@@ -16211,21 +19075,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6148:1: rule__SubSystem__Group__6 : rule__SubSystem__Group__6__Impl rule__SubSystem__Group__7 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7277:1: rule__SubSystem__Group__6 : rule__SubSystem__Group__6__Impl rule__SubSystem__Group__7 ;
     public final void rule__SubSystem__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6152:1: ( rule__SubSystem__Group__6__Impl rule__SubSystem__Group__7 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6153:2: rule__SubSystem__Group__6__Impl rule__SubSystem__Group__7
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7281:1: ( rule__SubSystem__Group__6__Impl rule__SubSystem__Group__7 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7282:2: rule__SubSystem__Group__6__Impl rule__SubSystem__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__6__Impl_in_rule__SubSystem__Group__612259);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__6__Impl_in_rule__SubSystem__Group__614481);
             rule__SubSystem__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__7_in_rule__SubSystem__Group__612262);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__7_in_rule__SubSystem__Group__614484);
             rule__SubSystem__Group__7();
 
             state._fsp--;
@@ -16249,31 +19113,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6160:1: rule__SubSystem__Group__6__Impl : ( ( rule__SubSystem__Group_6__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7289:1: rule__SubSystem__Group__6__Impl : ( ( rule__SubSystem__Group_6__0 )? ) ;
     public final void rule__SubSystem__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6164:1: ( ( ( rule__SubSystem__Group_6__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6165:1: ( ( rule__SubSystem__Group_6__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7293:1: ( ( ( rule__SubSystem__Group_6__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7294:1: ( ( rule__SubSystem__Group_6__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6165:1: ( ( rule__SubSystem__Group_6__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6166:1: ( rule__SubSystem__Group_6__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7294:1: ( ( rule__SubSystem__Group_6__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7295:1: ( rule__SubSystem__Group_6__0 )?
             {
              before(grammarAccess.getSubSystemAccess().getGroup_6()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6167:1: ( rule__SubSystem__Group_6__0 )?
-            int alt44=2;
-            int LA44_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7296:1: ( rule__SubSystem__Group_6__0 )?
+            int alt50=2;
+            int LA50_0 = input.LA(1);
 
-            if ( (LA44_0==46) ) {
-                alt44=1;
+            if ( (LA50_0==53) ) {
+                alt50=1;
             }
-            switch (alt44) {
+            switch (alt50) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6167:2: rule__SubSystem__Group_6__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7296:2: rule__SubSystem__Group_6__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_6__0_in_rule__SubSystem__Group__6__Impl12289);
+                    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_6__0_in_rule__SubSystem__Group__6__Impl14511);
                     rule__SubSystem__Group_6__0();
 
                     state._fsp--;
@@ -16307,16 +19171,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__7"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6177:1: rule__SubSystem__Group__7 : rule__SubSystem__Group__7__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7306:1: rule__SubSystem__Group__7 : rule__SubSystem__Group__7__Impl ;
     public final void rule__SubSystem__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6181:1: ( rule__SubSystem__Group__7__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6182:2: rule__SubSystem__Group__7__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7310:1: ( rule__SubSystem__Group__7__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7311:2: rule__SubSystem__Group__7__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__7__Impl_in_rule__SubSystem__Group__712320);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group__7__Impl_in_rule__SubSystem__Group__714542);
             rule__SubSystem__Group__7__Impl();
 
             state._fsp--;
@@ -16340,20 +19204,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group__7__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6188:1: rule__SubSystem__Group__7__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7317:1: rule__SubSystem__Group__7__Impl : ( '}' ) ;
     public final void rule__SubSystem__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6192:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6193:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7321:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7322:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6193:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6194:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7322:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7323:1: '}'
             {
              before(grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__SubSystem__Group__7__Impl12348); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__SubSystem__Group__7__Impl14570); 
              after(grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7()); 
 
             }
@@ -16377,21 +19241,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6223:1: rule__SubSystem__Group_2__0 : rule__SubSystem__Group_2__0__Impl rule__SubSystem__Group_2__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7352:1: rule__SubSystem__Group_2__0 : rule__SubSystem__Group_2__0__Impl rule__SubSystem__Group_2__1 ;
     public final void rule__SubSystem__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6227:1: ( rule__SubSystem__Group_2__0__Impl rule__SubSystem__Group_2__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6228:2: rule__SubSystem__Group_2__0__Impl rule__SubSystem__Group_2__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7356:1: ( rule__SubSystem__Group_2__0__Impl rule__SubSystem__Group_2__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7357:2: rule__SubSystem__Group_2__0__Impl rule__SubSystem__Group_2__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__0__Impl_in_rule__SubSystem__Group_2__012395);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__0__Impl_in_rule__SubSystem__Group_2__014617);
             rule__SubSystem__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__1_in_rule__SubSystem__Group_2__012398);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__1_in_rule__SubSystem__Group_2__014620);
             rule__SubSystem__Group_2__1();
 
             state._fsp--;
@@ -16415,20 +19279,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6235:1: rule__SubSystem__Group_2__0__Impl : ( 'providedRoles' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7364:1: rule__SubSystem__Group_2__0__Impl : ( 'providedRoles' ) ;
     public final void rule__SubSystem__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6239:1: ( ( 'providedRoles' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6240:1: ( 'providedRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7368:1: ( ( 'providedRoles' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7369:1: ( 'providedRoles' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6240:1: ( 'providedRoles' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6241:1: 'providedRoles'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7369:1: ( 'providedRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7370:1: 'providedRoles'
             {
              before(grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_2_0()); 
-            match(input,30,FollowSets000.FOLLOW_30_in_rule__SubSystem__Group_2__0__Impl12426); 
+            match(input,37,FollowSets000.FOLLOW_37_in_rule__SubSystem__Group_2__0__Impl14648); 
              after(grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_2_0()); 
 
             }
@@ -16452,21 +19316,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6254:1: rule__SubSystem__Group_2__1 : rule__SubSystem__Group_2__1__Impl rule__SubSystem__Group_2__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7383:1: rule__SubSystem__Group_2__1 : rule__SubSystem__Group_2__1__Impl rule__SubSystem__Group_2__2 ;
     public final void rule__SubSystem__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6258:1: ( rule__SubSystem__Group_2__1__Impl rule__SubSystem__Group_2__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6259:2: rule__SubSystem__Group_2__1__Impl rule__SubSystem__Group_2__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7387:1: ( rule__SubSystem__Group_2__1__Impl rule__SubSystem__Group_2__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7388:2: rule__SubSystem__Group_2__1__Impl rule__SubSystem__Group_2__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__1__Impl_in_rule__SubSystem__Group_2__112457);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__1__Impl_in_rule__SubSystem__Group_2__114679);
             rule__SubSystem__Group_2__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__2_in_rule__SubSystem__Group_2__112460);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__2_in_rule__SubSystem__Group_2__114682);
             rule__SubSystem__Group_2__2();
 
             state._fsp--;
@@ -16490,20 +19354,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6266:1: rule__SubSystem__Group_2__1__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7395:1: rule__SubSystem__Group_2__1__Impl : ( '{' ) ;
     public final void rule__SubSystem__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6270:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6271:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7399:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7400:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6271:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6272:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7400:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7401:1: '{'
             {
              before(grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__SubSystem__Group_2__1__Impl12488); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__SubSystem__Group_2__1__Impl14710); 
              after(grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2_1()); 
 
             }
@@ -16527,21 +19391,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6285:1: rule__SubSystem__Group_2__2 : rule__SubSystem__Group_2__2__Impl rule__SubSystem__Group_2__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7414:1: rule__SubSystem__Group_2__2 : rule__SubSystem__Group_2__2__Impl rule__SubSystem__Group_2__3 ;
     public final void rule__SubSystem__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6289:1: ( rule__SubSystem__Group_2__2__Impl rule__SubSystem__Group_2__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6290:2: rule__SubSystem__Group_2__2__Impl rule__SubSystem__Group_2__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7418:1: ( rule__SubSystem__Group_2__2__Impl rule__SubSystem__Group_2__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7419:2: rule__SubSystem__Group_2__2__Impl rule__SubSystem__Group_2__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__2__Impl_in_rule__SubSystem__Group_2__212519);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__2__Impl_in_rule__SubSystem__Group_2__214741);
             rule__SubSystem__Group_2__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__3_in_rule__SubSystem__Group_2__212522);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__3_in_rule__SubSystem__Group_2__214744);
             rule__SubSystem__Group_2__3();
 
             state._fsp--;
@@ -16565,23 +19429,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6297:1: rule__SubSystem__Group_2__2__Impl : ( ( rule__SubSystem__ProvidedRolesAssignment_2_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7426:1: rule__SubSystem__Group_2__2__Impl : ( ( rule__SubSystem__ProvidedRolesAssignment_2_2 ) ) ;
     public final void rule__SubSystem__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6301:1: ( ( ( rule__SubSystem__ProvidedRolesAssignment_2_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6302:1: ( ( rule__SubSystem__ProvidedRolesAssignment_2_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7430:1: ( ( ( rule__SubSystem__ProvidedRolesAssignment_2_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7431:1: ( ( rule__SubSystem__ProvidedRolesAssignment_2_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6302:1: ( ( rule__SubSystem__ProvidedRolesAssignment_2_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6303:1: ( rule__SubSystem__ProvidedRolesAssignment_2_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7431:1: ( ( rule__SubSystem__ProvidedRolesAssignment_2_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7432:1: ( rule__SubSystem__ProvidedRolesAssignment_2_2 )
             {
              before(grammarAccess.getSubSystemAccess().getProvidedRolesAssignment_2_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6304:1: ( rule__SubSystem__ProvidedRolesAssignment_2_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6304:2: rule__SubSystem__ProvidedRolesAssignment_2_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7433:1: ( rule__SubSystem__ProvidedRolesAssignment_2_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7433:2: rule__SubSystem__ProvidedRolesAssignment_2_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__ProvidedRolesAssignment_2_2_in_rule__SubSystem__Group_2__2__Impl12549);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__ProvidedRolesAssignment_2_2_in_rule__SubSystem__Group_2__2__Impl14771);
             rule__SubSystem__ProvidedRolesAssignment_2_2();
 
             state._fsp--;
@@ -16612,21 +19476,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6314:1: rule__SubSystem__Group_2__3 : rule__SubSystem__Group_2__3__Impl rule__SubSystem__Group_2__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7443:1: rule__SubSystem__Group_2__3 : rule__SubSystem__Group_2__3__Impl rule__SubSystem__Group_2__4 ;
     public final void rule__SubSystem__Group_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6318:1: ( rule__SubSystem__Group_2__3__Impl rule__SubSystem__Group_2__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6319:2: rule__SubSystem__Group_2__3__Impl rule__SubSystem__Group_2__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7447:1: ( rule__SubSystem__Group_2__3__Impl rule__SubSystem__Group_2__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7448:2: rule__SubSystem__Group_2__3__Impl rule__SubSystem__Group_2__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__3__Impl_in_rule__SubSystem__Group_2__312579);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__3__Impl_in_rule__SubSystem__Group_2__314801);
             rule__SubSystem__Group_2__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__4_in_rule__SubSystem__Group_2__312582);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__4_in_rule__SubSystem__Group_2__314804);
             rule__SubSystem__Group_2__4();
 
             state._fsp--;
@@ -16650,35 +19514,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6326:1: rule__SubSystem__Group_2__3__Impl : ( ( rule__SubSystem__Group_2_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7455:1: rule__SubSystem__Group_2__3__Impl : ( ( rule__SubSystem__Group_2_3__0 )* ) ;
     public final void rule__SubSystem__Group_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6330:1: ( ( ( rule__SubSystem__Group_2_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6331:1: ( ( rule__SubSystem__Group_2_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7459:1: ( ( ( rule__SubSystem__Group_2_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7460:1: ( ( rule__SubSystem__Group_2_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6331:1: ( ( rule__SubSystem__Group_2_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6332:1: ( rule__SubSystem__Group_2_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7460:1: ( ( rule__SubSystem__Group_2_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7461:1: ( rule__SubSystem__Group_2_3__0 )*
             {
              before(grammarAccess.getSubSystemAccess().getGroup_2_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6333:1: ( rule__SubSystem__Group_2_3__0 )*
-            loop45:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7462:1: ( rule__SubSystem__Group_2_3__0 )*
+            loop51:
             do {
-                int alt45=2;
-                int LA45_0 = input.LA(1);
+                int alt51=2;
+                int LA51_0 = input.LA(1);
 
-                if ( (LA45_0==26) ) {
-                    alt45=1;
+                if ( (LA51_0==23) ) {
+                    alt51=1;
                 }
 
 
-                switch (alt45) {
+                switch (alt51) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6333:2: rule__SubSystem__Group_2_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7462:2: rule__SubSystem__Group_2_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2_3__0_in_rule__SubSystem__Group_2__3__Impl12609);
+            	    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2_3__0_in_rule__SubSystem__Group_2__3__Impl14831);
             	    rule__SubSystem__Group_2_3__0();
 
             	    state._fsp--;
@@ -16688,7 +19552,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop45;
+            	    break loop51;
                 }
             } while (true);
 
@@ -16715,16 +19579,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6343:1: rule__SubSystem__Group_2__4 : rule__SubSystem__Group_2__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7472:1: rule__SubSystem__Group_2__4 : rule__SubSystem__Group_2__4__Impl ;
     public final void rule__SubSystem__Group_2__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6347:1: ( rule__SubSystem__Group_2__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6348:2: rule__SubSystem__Group_2__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7476:1: ( rule__SubSystem__Group_2__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7477:2: rule__SubSystem__Group_2__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__4__Impl_in_rule__SubSystem__Group_2__412640);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2__4__Impl_in_rule__SubSystem__Group_2__414862);
             rule__SubSystem__Group_2__4__Impl();
 
             state._fsp--;
@@ -16748,20 +19612,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6354:1: rule__SubSystem__Group_2__4__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7483:1: rule__SubSystem__Group_2__4__Impl : ( '}' ) ;
     public final void rule__SubSystem__Group_2__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6358:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6359:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7487:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7488:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6359:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6360:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7488:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7489:1: '}'
             {
              before(grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_2_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__SubSystem__Group_2__4__Impl12668); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__SubSystem__Group_2__4__Impl14890); 
              after(grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_2_4()); 
 
             }
@@ -16785,21 +19649,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6383:1: rule__SubSystem__Group_2_3__0 : rule__SubSystem__Group_2_3__0__Impl rule__SubSystem__Group_2_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7512:1: rule__SubSystem__Group_2_3__0 : rule__SubSystem__Group_2_3__0__Impl rule__SubSystem__Group_2_3__1 ;
     public final void rule__SubSystem__Group_2_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6387:1: ( rule__SubSystem__Group_2_3__0__Impl rule__SubSystem__Group_2_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6388:2: rule__SubSystem__Group_2_3__0__Impl rule__SubSystem__Group_2_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7516:1: ( rule__SubSystem__Group_2_3__0__Impl rule__SubSystem__Group_2_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7517:2: rule__SubSystem__Group_2_3__0__Impl rule__SubSystem__Group_2_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2_3__0__Impl_in_rule__SubSystem__Group_2_3__012709);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2_3__0__Impl_in_rule__SubSystem__Group_2_3__014931);
             rule__SubSystem__Group_2_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2_3__1_in_rule__SubSystem__Group_2_3__012712);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2_3__1_in_rule__SubSystem__Group_2_3__014934);
             rule__SubSystem__Group_2_3__1();
 
             state._fsp--;
@@ -16823,20 +19687,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6395:1: rule__SubSystem__Group_2_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7524:1: rule__SubSystem__Group_2_3__0__Impl : ( ',' ) ;
     public final void rule__SubSystem__Group_2_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6399:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6400:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7528:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7529:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6400:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6401:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7529:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7530:1: ','
             {
              before(grammarAccess.getSubSystemAccess().getCommaKeyword_2_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__SubSystem__Group_2_3__0__Impl12740); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__SubSystem__Group_2_3__0__Impl14962); 
              after(grammarAccess.getSubSystemAccess().getCommaKeyword_2_3_0()); 
 
             }
@@ -16860,16 +19724,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6414:1: rule__SubSystem__Group_2_3__1 : rule__SubSystem__Group_2_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7543:1: rule__SubSystem__Group_2_3__1 : rule__SubSystem__Group_2_3__1__Impl ;
     public final void rule__SubSystem__Group_2_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6418:1: ( rule__SubSystem__Group_2_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6419:2: rule__SubSystem__Group_2_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7547:1: ( rule__SubSystem__Group_2_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7548:2: rule__SubSystem__Group_2_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2_3__1__Impl_in_rule__SubSystem__Group_2_3__112771);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_2_3__1__Impl_in_rule__SubSystem__Group_2_3__114993);
             rule__SubSystem__Group_2_3__1__Impl();
 
             state._fsp--;
@@ -16893,23 +19757,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_2_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6425:1: rule__SubSystem__Group_2_3__1__Impl : ( ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7554:1: rule__SubSystem__Group_2_3__1__Impl : ( ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 ) ) ;
     public final void rule__SubSystem__Group_2_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6429:1: ( ( ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6430:1: ( ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7558:1: ( ( ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7559:1: ( ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6430:1: ( ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6431:1: ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7559:1: ( ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7560:1: ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 )
             {
              before(grammarAccess.getSubSystemAccess().getProvidedRolesAssignment_2_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6432:1: ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6432:2: rule__SubSystem__ProvidedRolesAssignment_2_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7561:1: ( rule__SubSystem__ProvidedRolesAssignment_2_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7561:2: rule__SubSystem__ProvidedRolesAssignment_2_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__ProvidedRolesAssignment_2_3_1_in_rule__SubSystem__Group_2_3__1__Impl12798);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__ProvidedRolesAssignment_2_3_1_in_rule__SubSystem__Group_2_3__1__Impl15020);
             rule__SubSystem__ProvidedRolesAssignment_2_3_1();
 
             state._fsp--;
@@ -16940,21 +19804,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6446:1: rule__SubSystem__Group_3__0 : rule__SubSystem__Group_3__0__Impl rule__SubSystem__Group_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7575:1: rule__SubSystem__Group_3__0 : rule__SubSystem__Group_3__0__Impl rule__SubSystem__Group_3__1 ;
     public final void rule__SubSystem__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6450:1: ( rule__SubSystem__Group_3__0__Impl rule__SubSystem__Group_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6451:2: rule__SubSystem__Group_3__0__Impl rule__SubSystem__Group_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7579:1: ( rule__SubSystem__Group_3__0__Impl rule__SubSystem__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7580:2: rule__SubSystem__Group_3__0__Impl rule__SubSystem__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__0__Impl_in_rule__SubSystem__Group_3__012832);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__0__Impl_in_rule__SubSystem__Group_3__015054);
             rule__SubSystem__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__1_in_rule__SubSystem__Group_3__012835);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__1_in_rule__SubSystem__Group_3__015057);
             rule__SubSystem__Group_3__1();
 
             state._fsp--;
@@ -16978,20 +19842,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6458:1: rule__SubSystem__Group_3__0__Impl : ( 'requiredRoles' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7587:1: rule__SubSystem__Group_3__0__Impl : ( 'requiredRoles' ) ;
     public final void rule__SubSystem__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6462:1: ( ( 'requiredRoles' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6463:1: ( 'requiredRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7591:1: ( ( 'requiredRoles' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7592:1: ( 'requiredRoles' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6463:1: ( 'requiredRoles' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6464:1: 'requiredRoles'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7592:1: ( 'requiredRoles' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7593:1: 'requiredRoles'
             {
              before(grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_3_0()); 
-            match(input,31,FollowSets000.FOLLOW_31_in_rule__SubSystem__Group_3__0__Impl12863); 
+            match(input,38,FollowSets000.FOLLOW_38_in_rule__SubSystem__Group_3__0__Impl15085); 
              after(grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_3_0()); 
 
             }
@@ -17015,21 +19879,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6477:1: rule__SubSystem__Group_3__1 : rule__SubSystem__Group_3__1__Impl rule__SubSystem__Group_3__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7606:1: rule__SubSystem__Group_3__1 : rule__SubSystem__Group_3__1__Impl rule__SubSystem__Group_3__2 ;
     public final void rule__SubSystem__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6481:1: ( rule__SubSystem__Group_3__1__Impl rule__SubSystem__Group_3__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6482:2: rule__SubSystem__Group_3__1__Impl rule__SubSystem__Group_3__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7610:1: ( rule__SubSystem__Group_3__1__Impl rule__SubSystem__Group_3__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7611:2: rule__SubSystem__Group_3__1__Impl rule__SubSystem__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__1__Impl_in_rule__SubSystem__Group_3__112894);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__1__Impl_in_rule__SubSystem__Group_3__115116);
             rule__SubSystem__Group_3__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__2_in_rule__SubSystem__Group_3__112897);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__2_in_rule__SubSystem__Group_3__115119);
             rule__SubSystem__Group_3__2();
 
             state._fsp--;
@@ -17053,20 +19917,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6489:1: rule__SubSystem__Group_3__1__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7618:1: rule__SubSystem__Group_3__1__Impl : ( '{' ) ;
     public final void rule__SubSystem__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6493:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6494:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7622:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7623:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6494:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6495:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7623:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7624:1: '{'
             {
              before(grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_3_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__SubSystem__Group_3__1__Impl12925); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__SubSystem__Group_3__1__Impl15147); 
              after(grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_3_1()); 
 
             }
@@ -17090,21 +19954,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6508:1: rule__SubSystem__Group_3__2 : rule__SubSystem__Group_3__2__Impl rule__SubSystem__Group_3__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7637:1: rule__SubSystem__Group_3__2 : rule__SubSystem__Group_3__2__Impl rule__SubSystem__Group_3__3 ;
     public final void rule__SubSystem__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6512:1: ( rule__SubSystem__Group_3__2__Impl rule__SubSystem__Group_3__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6513:2: rule__SubSystem__Group_3__2__Impl rule__SubSystem__Group_3__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7641:1: ( rule__SubSystem__Group_3__2__Impl rule__SubSystem__Group_3__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7642:2: rule__SubSystem__Group_3__2__Impl rule__SubSystem__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__2__Impl_in_rule__SubSystem__Group_3__212956);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__2__Impl_in_rule__SubSystem__Group_3__215178);
             rule__SubSystem__Group_3__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__3_in_rule__SubSystem__Group_3__212959);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__3_in_rule__SubSystem__Group_3__215181);
             rule__SubSystem__Group_3__3();
 
             state._fsp--;
@@ -17128,23 +19992,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6520:1: rule__SubSystem__Group_3__2__Impl : ( ( rule__SubSystem__RequiredRolesAssignment_3_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7649:1: rule__SubSystem__Group_3__2__Impl : ( ( rule__SubSystem__RequiredRolesAssignment_3_2 ) ) ;
     public final void rule__SubSystem__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6524:1: ( ( ( rule__SubSystem__RequiredRolesAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6525:1: ( ( rule__SubSystem__RequiredRolesAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7653:1: ( ( ( rule__SubSystem__RequiredRolesAssignment_3_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7654:1: ( ( rule__SubSystem__RequiredRolesAssignment_3_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6525:1: ( ( rule__SubSystem__RequiredRolesAssignment_3_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6526:1: ( rule__SubSystem__RequiredRolesAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7654:1: ( ( rule__SubSystem__RequiredRolesAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7655:1: ( rule__SubSystem__RequiredRolesAssignment_3_2 )
             {
              before(grammarAccess.getSubSystemAccess().getRequiredRolesAssignment_3_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6527:1: ( rule__SubSystem__RequiredRolesAssignment_3_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6527:2: rule__SubSystem__RequiredRolesAssignment_3_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7656:1: ( rule__SubSystem__RequiredRolesAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7656:2: rule__SubSystem__RequiredRolesAssignment_3_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__RequiredRolesAssignment_3_2_in_rule__SubSystem__Group_3__2__Impl12986);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__RequiredRolesAssignment_3_2_in_rule__SubSystem__Group_3__2__Impl15208);
             rule__SubSystem__RequiredRolesAssignment_3_2();
 
             state._fsp--;
@@ -17175,21 +20039,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6537:1: rule__SubSystem__Group_3__3 : rule__SubSystem__Group_3__3__Impl rule__SubSystem__Group_3__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7666:1: rule__SubSystem__Group_3__3 : rule__SubSystem__Group_3__3__Impl rule__SubSystem__Group_3__4 ;
     public final void rule__SubSystem__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6541:1: ( rule__SubSystem__Group_3__3__Impl rule__SubSystem__Group_3__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6542:2: rule__SubSystem__Group_3__3__Impl rule__SubSystem__Group_3__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7670:1: ( rule__SubSystem__Group_3__3__Impl rule__SubSystem__Group_3__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7671:2: rule__SubSystem__Group_3__3__Impl rule__SubSystem__Group_3__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__3__Impl_in_rule__SubSystem__Group_3__313016);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__3__Impl_in_rule__SubSystem__Group_3__315238);
             rule__SubSystem__Group_3__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__4_in_rule__SubSystem__Group_3__313019);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__4_in_rule__SubSystem__Group_3__315241);
             rule__SubSystem__Group_3__4();
 
             state._fsp--;
@@ -17213,35 +20077,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6549:1: rule__SubSystem__Group_3__3__Impl : ( ( rule__SubSystem__Group_3_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7678:1: rule__SubSystem__Group_3__3__Impl : ( ( rule__SubSystem__Group_3_3__0 )* ) ;
     public final void rule__SubSystem__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6553:1: ( ( ( rule__SubSystem__Group_3_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6554:1: ( ( rule__SubSystem__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7682:1: ( ( ( rule__SubSystem__Group_3_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7683:1: ( ( rule__SubSystem__Group_3_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6554:1: ( ( rule__SubSystem__Group_3_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6555:1: ( rule__SubSystem__Group_3_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7683:1: ( ( rule__SubSystem__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7684:1: ( rule__SubSystem__Group_3_3__0 )*
             {
              before(grammarAccess.getSubSystemAccess().getGroup_3_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6556:1: ( rule__SubSystem__Group_3_3__0 )*
-            loop46:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7685:1: ( rule__SubSystem__Group_3_3__0 )*
+            loop52:
             do {
-                int alt46=2;
-                int LA46_0 = input.LA(1);
+                int alt52=2;
+                int LA52_0 = input.LA(1);
 
-                if ( (LA46_0==26) ) {
-                    alt46=1;
+                if ( (LA52_0==23) ) {
+                    alt52=1;
                 }
 
 
-                switch (alt46) {
+                switch (alt52) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6556:2: rule__SubSystem__Group_3_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7685:2: rule__SubSystem__Group_3_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3_3__0_in_rule__SubSystem__Group_3__3__Impl13046);
+            	    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3_3__0_in_rule__SubSystem__Group_3__3__Impl15268);
             	    rule__SubSystem__Group_3_3__0();
 
             	    state._fsp--;
@@ -17251,7 +20115,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop46;
+            	    break loop52;
                 }
             } while (true);
 
@@ -17278,16 +20142,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6566:1: rule__SubSystem__Group_3__4 : rule__SubSystem__Group_3__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7695:1: rule__SubSystem__Group_3__4 : rule__SubSystem__Group_3__4__Impl ;
     public final void rule__SubSystem__Group_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6570:1: ( rule__SubSystem__Group_3__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6571:2: rule__SubSystem__Group_3__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7699:1: ( rule__SubSystem__Group_3__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7700:2: rule__SubSystem__Group_3__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__4__Impl_in_rule__SubSystem__Group_3__413077);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3__4__Impl_in_rule__SubSystem__Group_3__415299);
             rule__SubSystem__Group_3__4__Impl();
 
             state._fsp--;
@@ -17311,20 +20175,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6577:1: rule__SubSystem__Group_3__4__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7706:1: rule__SubSystem__Group_3__4__Impl : ( '}' ) ;
     public final void rule__SubSystem__Group_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6581:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6582:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7710:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7711:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6582:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6583:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7711:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7712:1: '}'
             {
              before(grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_3_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__SubSystem__Group_3__4__Impl13105); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__SubSystem__Group_3__4__Impl15327); 
              after(grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_3_4()); 
 
             }
@@ -17348,21 +20212,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6606:1: rule__SubSystem__Group_3_3__0 : rule__SubSystem__Group_3_3__0__Impl rule__SubSystem__Group_3_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7735:1: rule__SubSystem__Group_3_3__0 : rule__SubSystem__Group_3_3__0__Impl rule__SubSystem__Group_3_3__1 ;
     public final void rule__SubSystem__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6610:1: ( rule__SubSystem__Group_3_3__0__Impl rule__SubSystem__Group_3_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6611:2: rule__SubSystem__Group_3_3__0__Impl rule__SubSystem__Group_3_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7739:1: ( rule__SubSystem__Group_3_3__0__Impl rule__SubSystem__Group_3_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7740:2: rule__SubSystem__Group_3_3__0__Impl rule__SubSystem__Group_3_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3_3__0__Impl_in_rule__SubSystem__Group_3_3__013146);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3_3__0__Impl_in_rule__SubSystem__Group_3_3__015368);
             rule__SubSystem__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3_3__1_in_rule__SubSystem__Group_3_3__013149);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3_3__1_in_rule__SubSystem__Group_3_3__015371);
             rule__SubSystem__Group_3_3__1();
 
             state._fsp--;
@@ -17386,20 +20250,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6618:1: rule__SubSystem__Group_3_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7747:1: rule__SubSystem__Group_3_3__0__Impl : ( ',' ) ;
     public final void rule__SubSystem__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6622:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6623:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7751:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7752:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6623:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6624:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7752:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7753:1: ','
             {
              before(grammarAccess.getSubSystemAccess().getCommaKeyword_3_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__SubSystem__Group_3_3__0__Impl13177); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__SubSystem__Group_3_3__0__Impl15399); 
              after(grammarAccess.getSubSystemAccess().getCommaKeyword_3_3_0()); 
 
             }
@@ -17423,16 +20287,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6637:1: rule__SubSystem__Group_3_3__1 : rule__SubSystem__Group_3_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7766:1: rule__SubSystem__Group_3_3__1 : rule__SubSystem__Group_3_3__1__Impl ;
     public final void rule__SubSystem__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6641:1: ( rule__SubSystem__Group_3_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6642:2: rule__SubSystem__Group_3_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7770:1: ( rule__SubSystem__Group_3_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7771:2: rule__SubSystem__Group_3_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3_3__1__Impl_in_rule__SubSystem__Group_3_3__113208);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_3_3__1__Impl_in_rule__SubSystem__Group_3_3__115430);
             rule__SubSystem__Group_3_3__1__Impl();
 
             state._fsp--;
@@ -17456,23 +20320,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_3_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6648:1: rule__SubSystem__Group_3_3__1__Impl : ( ( rule__SubSystem__RequiredRolesAssignment_3_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7777:1: rule__SubSystem__Group_3_3__1__Impl : ( ( rule__SubSystem__RequiredRolesAssignment_3_3_1 ) ) ;
     public final void rule__SubSystem__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6652:1: ( ( ( rule__SubSystem__RequiredRolesAssignment_3_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6653:1: ( ( rule__SubSystem__RequiredRolesAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7781:1: ( ( ( rule__SubSystem__RequiredRolesAssignment_3_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7782:1: ( ( rule__SubSystem__RequiredRolesAssignment_3_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6653:1: ( ( rule__SubSystem__RequiredRolesAssignment_3_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6654:1: ( rule__SubSystem__RequiredRolesAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7782:1: ( ( rule__SubSystem__RequiredRolesAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7783:1: ( rule__SubSystem__RequiredRolesAssignment_3_3_1 )
             {
              before(grammarAccess.getSubSystemAccess().getRequiredRolesAssignment_3_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6655:1: ( rule__SubSystem__RequiredRolesAssignment_3_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6655:2: rule__SubSystem__RequiredRolesAssignment_3_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7784:1: ( rule__SubSystem__RequiredRolesAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7784:2: rule__SubSystem__RequiredRolesAssignment_3_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__RequiredRolesAssignment_3_3_1_in_rule__SubSystem__Group_3_3__1__Impl13235);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__RequiredRolesAssignment_3_3_1_in_rule__SubSystem__Group_3_3__1__Impl15457);
             rule__SubSystem__RequiredRolesAssignment_3_3_1();
 
             state._fsp--;
@@ -17503,21 +20367,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6669:1: rule__SubSystem__Group_5__0 : rule__SubSystem__Group_5__0__Impl rule__SubSystem__Group_5__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7798:1: rule__SubSystem__Group_5__0 : rule__SubSystem__Group_5__0__Impl rule__SubSystem__Group_5__1 ;
     public final void rule__SubSystem__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6673:1: ( rule__SubSystem__Group_5__0__Impl rule__SubSystem__Group_5__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6674:2: rule__SubSystem__Group_5__0__Impl rule__SubSystem__Group_5__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7802:1: ( rule__SubSystem__Group_5__0__Impl rule__SubSystem__Group_5__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7803:2: rule__SubSystem__Group_5__0__Impl rule__SubSystem__Group_5__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__0__Impl_in_rule__SubSystem__Group_5__013269);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__0__Impl_in_rule__SubSystem__Group_5__015491);
             rule__SubSystem__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__1_in_rule__SubSystem__Group_5__013272);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__1_in_rule__SubSystem__Group_5__015494);
             rule__SubSystem__Group_5__1();
 
             state._fsp--;
@@ -17541,20 +20405,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6681:1: rule__SubSystem__Group_5__0__Impl : ( 'relationship' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7810:1: rule__SubSystem__Group_5__0__Impl : ( 'relationship' ) ;
     public final void rule__SubSystem__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6685:1: ( ( 'relationship' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6686:1: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7814:1: ( ( 'relationship' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7815:1: ( 'relationship' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6686:1: ( 'relationship' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6687:1: 'relationship'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7815:1: ( 'relationship' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7816:1: 'relationship'
             {
              before(grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0()); 
-            match(input,29,FollowSets000.FOLLOW_29_in_rule__SubSystem__Group_5__0__Impl13300); 
+            match(input,36,FollowSets000.FOLLOW_36_in_rule__SubSystem__Group_5__0__Impl15522); 
              after(grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0()); 
 
             }
@@ -17578,21 +20442,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6700:1: rule__SubSystem__Group_5__1 : rule__SubSystem__Group_5__1__Impl rule__SubSystem__Group_5__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7829:1: rule__SubSystem__Group_5__1 : rule__SubSystem__Group_5__1__Impl rule__SubSystem__Group_5__2 ;
     public final void rule__SubSystem__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6704:1: ( rule__SubSystem__Group_5__1__Impl rule__SubSystem__Group_5__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6705:2: rule__SubSystem__Group_5__1__Impl rule__SubSystem__Group_5__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7833:1: ( rule__SubSystem__Group_5__1__Impl rule__SubSystem__Group_5__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7834:2: rule__SubSystem__Group_5__1__Impl rule__SubSystem__Group_5__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__1__Impl_in_rule__SubSystem__Group_5__113331);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__1__Impl_in_rule__SubSystem__Group_5__115553);
             rule__SubSystem__Group_5__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__2_in_rule__SubSystem__Group_5__113334);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__2_in_rule__SubSystem__Group_5__115556);
             rule__SubSystem__Group_5__2();
 
             state._fsp--;
@@ -17616,20 +20480,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6712:1: rule__SubSystem__Group_5__1__Impl : ( '(' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7841:1: rule__SubSystem__Group_5__1__Impl : ( '(' ) ;
     public final void rule__SubSystem__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6716:1: ( ( '(' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6717:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7845:1: ( ( '(' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7846:1: ( '(' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6717:1: ( '(' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6718:1: '('
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7846:1: ( '(' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7847:1: '('
             {
              before(grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1()); 
-            match(input,24,FollowSets000.FOLLOW_24_in_rule__SubSystem__Group_5__1__Impl13362); 
+            match(input,33,FollowSets000.FOLLOW_33_in_rule__SubSystem__Group_5__1__Impl15584); 
              after(grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1()); 
 
             }
@@ -17653,21 +20517,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6731:1: rule__SubSystem__Group_5__2 : rule__SubSystem__Group_5__2__Impl rule__SubSystem__Group_5__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7860:1: rule__SubSystem__Group_5__2 : rule__SubSystem__Group_5__2__Impl rule__SubSystem__Group_5__3 ;
     public final void rule__SubSystem__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6735:1: ( rule__SubSystem__Group_5__2__Impl rule__SubSystem__Group_5__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6736:2: rule__SubSystem__Group_5__2__Impl rule__SubSystem__Group_5__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7864:1: ( rule__SubSystem__Group_5__2__Impl rule__SubSystem__Group_5__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7865:2: rule__SubSystem__Group_5__2__Impl rule__SubSystem__Group_5__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__2__Impl_in_rule__SubSystem__Group_5__213393);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__2__Impl_in_rule__SubSystem__Group_5__215615);
             rule__SubSystem__Group_5__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__3_in_rule__SubSystem__Group_5__213396);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__3_in_rule__SubSystem__Group_5__215618);
             rule__SubSystem__Group_5__3();
 
             state._fsp--;
@@ -17691,23 +20555,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6743:1: rule__SubSystem__Group_5__2__Impl : ( ( rule__SubSystem__RelationshipAssignment_5_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7872:1: rule__SubSystem__Group_5__2__Impl : ( ( rule__SubSystem__RelationshipAssignment_5_2 ) ) ;
     public final void rule__SubSystem__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6747:1: ( ( ( rule__SubSystem__RelationshipAssignment_5_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6748:1: ( ( rule__SubSystem__RelationshipAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7876:1: ( ( ( rule__SubSystem__RelationshipAssignment_5_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7877:1: ( ( rule__SubSystem__RelationshipAssignment_5_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6748:1: ( ( rule__SubSystem__RelationshipAssignment_5_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6749:1: ( rule__SubSystem__RelationshipAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7877:1: ( ( rule__SubSystem__RelationshipAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7878:1: ( rule__SubSystem__RelationshipAssignment_5_2 )
             {
              before(grammarAccess.getSubSystemAccess().getRelationshipAssignment_5_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6750:1: ( rule__SubSystem__RelationshipAssignment_5_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6750:2: rule__SubSystem__RelationshipAssignment_5_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7879:1: ( rule__SubSystem__RelationshipAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7879:2: rule__SubSystem__RelationshipAssignment_5_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__RelationshipAssignment_5_2_in_rule__SubSystem__Group_5__2__Impl13423);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__RelationshipAssignment_5_2_in_rule__SubSystem__Group_5__2__Impl15645);
             rule__SubSystem__RelationshipAssignment_5_2();
 
             state._fsp--;
@@ -17738,21 +20602,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6760:1: rule__SubSystem__Group_5__3 : rule__SubSystem__Group_5__3__Impl rule__SubSystem__Group_5__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7889:1: rule__SubSystem__Group_5__3 : rule__SubSystem__Group_5__3__Impl rule__SubSystem__Group_5__4 ;
     public final void rule__SubSystem__Group_5__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6764:1: ( rule__SubSystem__Group_5__3__Impl rule__SubSystem__Group_5__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6765:2: rule__SubSystem__Group_5__3__Impl rule__SubSystem__Group_5__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7893:1: ( rule__SubSystem__Group_5__3__Impl rule__SubSystem__Group_5__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7894:2: rule__SubSystem__Group_5__3__Impl rule__SubSystem__Group_5__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__3__Impl_in_rule__SubSystem__Group_5__313453);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__3__Impl_in_rule__SubSystem__Group_5__315675);
             rule__SubSystem__Group_5__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__4_in_rule__SubSystem__Group_5__313456);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__4_in_rule__SubSystem__Group_5__315678);
             rule__SubSystem__Group_5__4();
 
             state._fsp--;
@@ -17776,35 +20640,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6772:1: rule__SubSystem__Group_5__3__Impl : ( ( rule__SubSystem__Group_5_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7901:1: rule__SubSystem__Group_5__3__Impl : ( ( rule__SubSystem__Group_5_3__0 )* ) ;
     public final void rule__SubSystem__Group_5__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6776:1: ( ( ( rule__SubSystem__Group_5_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6777:1: ( ( rule__SubSystem__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7905:1: ( ( ( rule__SubSystem__Group_5_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7906:1: ( ( rule__SubSystem__Group_5_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6777:1: ( ( rule__SubSystem__Group_5_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6778:1: ( rule__SubSystem__Group_5_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7906:1: ( ( rule__SubSystem__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7907:1: ( rule__SubSystem__Group_5_3__0 )*
             {
              before(grammarAccess.getSubSystemAccess().getGroup_5_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6779:1: ( rule__SubSystem__Group_5_3__0 )*
-            loop47:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7908:1: ( rule__SubSystem__Group_5_3__0 )*
+            loop53:
             do {
-                int alt47=2;
-                int LA47_0 = input.LA(1);
+                int alt53=2;
+                int LA53_0 = input.LA(1);
 
-                if ( (LA47_0==26) ) {
-                    alt47=1;
+                if ( (LA53_0==23) ) {
+                    alt53=1;
                 }
 
 
-                switch (alt47) {
+                switch (alt53) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6779:2: rule__SubSystem__Group_5_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7908:2: rule__SubSystem__Group_5_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5_3__0_in_rule__SubSystem__Group_5__3__Impl13483);
+            	    pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5_3__0_in_rule__SubSystem__Group_5__3__Impl15705);
             	    rule__SubSystem__Group_5_3__0();
 
             	    state._fsp--;
@@ -17814,7 +20678,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop47;
+            	    break loop53;
                 }
             } while (true);
 
@@ -17841,16 +20705,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6789:1: rule__SubSystem__Group_5__4 : rule__SubSystem__Group_5__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7918:1: rule__SubSystem__Group_5__4 : rule__SubSystem__Group_5__4__Impl ;
     public final void rule__SubSystem__Group_5__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6793:1: ( rule__SubSystem__Group_5__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6794:2: rule__SubSystem__Group_5__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7922:1: ( rule__SubSystem__Group_5__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7923:2: rule__SubSystem__Group_5__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__4__Impl_in_rule__SubSystem__Group_5__413514);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5__4__Impl_in_rule__SubSystem__Group_5__415736);
             rule__SubSystem__Group_5__4__Impl();
 
             state._fsp--;
@@ -17874,20 +20738,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6800:1: rule__SubSystem__Group_5__4__Impl : ( ')' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7929:1: rule__SubSystem__Group_5__4__Impl : ( ')' ) ;
     public final void rule__SubSystem__Group_5__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6804:1: ( ( ')' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6805:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7933:1: ( ( ')' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7934:1: ( ')' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6805:1: ( ')' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6806:1: ')'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7934:1: ( ')' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7935:1: ')'
             {
              before(grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4()); 
-            match(input,25,FollowSets000.FOLLOW_25_in_rule__SubSystem__Group_5__4__Impl13542); 
+            match(input,34,FollowSets000.FOLLOW_34_in_rule__SubSystem__Group_5__4__Impl15764); 
              after(grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4()); 
 
             }
@@ -17911,21 +20775,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6829:1: rule__SubSystem__Group_5_3__0 : rule__SubSystem__Group_5_3__0__Impl rule__SubSystem__Group_5_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7958:1: rule__SubSystem__Group_5_3__0 : rule__SubSystem__Group_5_3__0__Impl rule__SubSystem__Group_5_3__1 ;
     public final void rule__SubSystem__Group_5_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6833:1: ( rule__SubSystem__Group_5_3__0__Impl rule__SubSystem__Group_5_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6834:2: rule__SubSystem__Group_5_3__0__Impl rule__SubSystem__Group_5_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7962:1: ( rule__SubSystem__Group_5_3__0__Impl rule__SubSystem__Group_5_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7963:2: rule__SubSystem__Group_5_3__0__Impl rule__SubSystem__Group_5_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5_3__0__Impl_in_rule__SubSystem__Group_5_3__013583);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5_3__0__Impl_in_rule__SubSystem__Group_5_3__015805);
             rule__SubSystem__Group_5_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5_3__1_in_rule__SubSystem__Group_5_3__013586);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5_3__1_in_rule__SubSystem__Group_5_3__015808);
             rule__SubSystem__Group_5_3__1();
 
             state._fsp--;
@@ -17949,20 +20813,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6841:1: rule__SubSystem__Group_5_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7970:1: rule__SubSystem__Group_5_3__0__Impl : ( ',' ) ;
     public final void rule__SubSystem__Group_5_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6845:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6846:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7974:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7975:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6846:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6847:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7975:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7976:1: ','
             {
              before(grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__SubSystem__Group_5_3__0__Impl13614); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__SubSystem__Group_5_3__0__Impl15836); 
              after(grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0()); 
 
             }
@@ -17986,16 +20850,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6860:1: rule__SubSystem__Group_5_3__1 : rule__SubSystem__Group_5_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7989:1: rule__SubSystem__Group_5_3__1 : rule__SubSystem__Group_5_3__1__Impl ;
     public final void rule__SubSystem__Group_5_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6864:1: ( rule__SubSystem__Group_5_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6865:2: rule__SubSystem__Group_5_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7993:1: ( rule__SubSystem__Group_5_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7994:2: rule__SubSystem__Group_5_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5_3__1__Impl_in_rule__SubSystem__Group_5_3__113645);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_5_3__1__Impl_in_rule__SubSystem__Group_5_3__115867);
             rule__SubSystem__Group_5_3__1__Impl();
 
             state._fsp--;
@@ -18019,23 +20883,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_5_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6871:1: rule__SubSystem__Group_5_3__1__Impl : ( ( rule__SubSystem__RelationshipAssignment_5_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8000:1: rule__SubSystem__Group_5_3__1__Impl : ( ( rule__SubSystem__RelationshipAssignment_5_3_1 ) ) ;
     public final void rule__SubSystem__Group_5_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6875:1: ( ( ( rule__SubSystem__RelationshipAssignment_5_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6876:1: ( ( rule__SubSystem__RelationshipAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8004:1: ( ( ( rule__SubSystem__RelationshipAssignment_5_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8005:1: ( ( rule__SubSystem__RelationshipAssignment_5_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6876:1: ( ( rule__SubSystem__RelationshipAssignment_5_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6877:1: ( rule__SubSystem__RelationshipAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8005:1: ( ( rule__SubSystem__RelationshipAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8006:1: ( rule__SubSystem__RelationshipAssignment_5_3_1 )
             {
              before(grammarAccess.getSubSystemAccess().getRelationshipAssignment_5_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6878:1: ( rule__SubSystem__RelationshipAssignment_5_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6878:2: rule__SubSystem__RelationshipAssignment_5_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8007:1: ( rule__SubSystem__RelationshipAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8007:2: rule__SubSystem__RelationshipAssignment_5_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__RelationshipAssignment_5_3_1_in_rule__SubSystem__Group_5_3__1__Impl13672);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__RelationshipAssignment_5_3_1_in_rule__SubSystem__Group_5_3__1__Impl15894);
             rule__SubSystem__RelationshipAssignment_5_3_1();
 
             state._fsp--;
@@ -18066,21 +20930,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_6__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6892:1: rule__SubSystem__Group_6__0 : rule__SubSystem__Group_6__0__Impl rule__SubSystem__Group_6__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8021:1: rule__SubSystem__Group_6__0 : rule__SubSystem__Group_6__0__Impl rule__SubSystem__Group_6__1 ;
     public final void rule__SubSystem__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6896:1: ( rule__SubSystem__Group_6__0__Impl rule__SubSystem__Group_6__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6897:2: rule__SubSystem__Group_6__0__Impl rule__SubSystem__Group_6__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8025:1: ( rule__SubSystem__Group_6__0__Impl rule__SubSystem__Group_6__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8026:2: rule__SubSystem__Group_6__0__Impl rule__SubSystem__Group_6__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_6__0__Impl_in_rule__SubSystem__Group_6__013706);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_6__0__Impl_in_rule__SubSystem__Group_6__015928);
             rule__SubSystem__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_6__1_in_rule__SubSystem__Group_6__013709);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_6__1_in_rule__SubSystem__Group_6__015931);
             rule__SubSystem__Group_6__1();
 
             state._fsp--;
@@ -18104,20 +20968,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_6__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6904:1: rule__SubSystem__Group_6__0__Impl : ( 'assembly' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8033:1: rule__SubSystem__Group_6__0__Impl : ( 'assembly' ) ;
     public final void rule__SubSystem__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6908:1: ( ( 'assembly' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6909:1: ( 'assembly' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8037:1: ( ( 'assembly' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8038:1: ( 'assembly' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6909:1: ( 'assembly' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6910:1: 'assembly'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8038:1: ( 'assembly' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8039:1: 'assembly'
             {
              before(grammarAccess.getSubSystemAccess().getAssemblyKeyword_6_0()); 
-            match(input,46,FollowSets000.FOLLOW_46_in_rule__SubSystem__Group_6__0__Impl13737); 
+            match(input,53,FollowSets000.FOLLOW_53_in_rule__SubSystem__Group_6__0__Impl15959); 
              after(grammarAccess.getSubSystemAccess().getAssemblyKeyword_6_0()); 
 
             }
@@ -18141,16 +21005,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_6__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6923:1: rule__SubSystem__Group_6__1 : rule__SubSystem__Group_6__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8052:1: rule__SubSystem__Group_6__1 : rule__SubSystem__Group_6__1__Impl ;
     public final void rule__SubSystem__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6927:1: ( rule__SubSystem__Group_6__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6928:2: rule__SubSystem__Group_6__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8056:1: ( rule__SubSystem__Group_6__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8057:2: rule__SubSystem__Group_6__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_6__1__Impl_in_rule__SubSystem__Group_6__113768);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__Group_6__1__Impl_in_rule__SubSystem__Group_6__115990);
             rule__SubSystem__Group_6__1__Impl();
 
             state._fsp--;
@@ -18174,23 +21038,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__Group_6__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6934:1: rule__SubSystem__Group_6__1__Impl : ( ( rule__SubSystem__AssemblyAssignment_6_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8063:1: rule__SubSystem__Group_6__1__Impl : ( ( rule__SubSystem__AssemblyAssignment_6_1 ) ) ;
     public final void rule__SubSystem__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6938:1: ( ( ( rule__SubSystem__AssemblyAssignment_6_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6939:1: ( ( rule__SubSystem__AssemblyAssignment_6_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8067:1: ( ( ( rule__SubSystem__AssemblyAssignment_6_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8068:1: ( ( rule__SubSystem__AssemblyAssignment_6_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6939:1: ( ( rule__SubSystem__AssemblyAssignment_6_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6940:1: ( rule__SubSystem__AssemblyAssignment_6_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8068:1: ( ( rule__SubSystem__AssemblyAssignment_6_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8069:1: ( rule__SubSystem__AssemblyAssignment_6_1 )
             {
              before(grammarAccess.getSubSystemAccess().getAssemblyAssignment_6_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6941:1: ( rule__SubSystem__AssemblyAssignment_6_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6941:2: rule__SubSystem__AssemblyAssignment_6_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8070:1: ( rule__SubSystem__AssemblyAssignment_6_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8070:2: rule__SubSystem__AssemblyAssignment_6_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__AssemblyAssignment_6_1_in_rule__SubSystem__Group_6__1__Impl13795);
+            pushFollow(FollowSets000.FOLLOW_rule__SubSystem__AssemblyAssignment_6_1_in_rule__SubSystem__Group_6__1__Impl16017);
             rule__SubSystem__AssemblyAssignment_6_1();
 
             state._fsp--;
@@ -18221,21 +21085,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6955:1: rule__ComposedStructureAssembly__Group__0 : rule__ComposedStructureAssembly__Group__0__Impl rule__ComposedStructureAssembly__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8084:1: rule__ComposedStructureAssembly__Group__0 : rule__ComposedStructureAssembly__Group__0__Impl rule__ComposedStructureAssembly__Group__1 ;
     public final void rule__ComposedStructureAssembly__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6959:1: ( rule__ComposedStructureAssembly__Group__0__Impl rule__ComposedStructureAssembly__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6960:2: rule__ComposedStructureAssembly__Group__0__Impl rule__ComposedStructureAssembly__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8088:1: ( rule__ComposedStructureAssembly__Group__0__Impl rule__ComposedStructureAssembly__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8089:2: rule__ComposedStructureAssembly__Group__0__Impl rule__ComposedStructureAssembly__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__0__Impl_in_rule__ComposedStructureAssembly__Group__013829);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__0__Impl_in_rule__ComposedStructureAssembly__Group__016051);
             rule__ComposedStructureAssembly__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__1_in_rule__ComposedStructureAssembly__Group__013832);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__1_in_rule__ComposedStructureAssembly__Group__016054);
             rule__ComposedStructureAssembly__Group__1();
 
             state._fsp--;
@@ -18259,21 +21123,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6967:1: rule__ComposedStructureAssembly__Group__0__Impl : ( () ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8096:1: rule__ComposedStructureAssembly__Group__0__Impl : ( () ) ;
     public final void rule__ComposedStructureAssembly__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6971:1: ( ( () ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6972:1: ( () )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8100:1: ( ( () ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8101:1: ( () )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6972:1: ( () )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6973:1: ()
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8101:1: ( () )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8102:1: ()
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getComposedStructureAssemblyAction_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6974:1: ()
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6976:1: 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8103:1: ()
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8105:1: 
             {
             }
 
@@ -18296,21 +21160,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6986:1: rule__ComposedStructureAssembly__Group__1 : rule__ComposedStructureAssembly__Group__1__Impl rule__ComposedStructureAssembly__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8115:1: rule__ComposedStructureAssembly__Group__1 : rule__ComposedStructureAssembly__Group__1__Impl rule__ComposedStructureAssembly__Group__2 ;
     public final void rule__ComposedStructureAssembly__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6990:1: ( rule__ComposedStructureAssembly__Group__1__Impl rule__ComposedStructureAssembly__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6991:2: rule__ComposedStructureAssembly__Group__1__Impl rule__ComposedStructureAssembly__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8119:1: ( rule__ComposedStructureAssembly__Group__1__Impl rule__ComposedStructureAssembly__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8120:2: rule__ComposedStructureAssembly__Group__1__Impl rule__ComposedStructureAssembly__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__1__Impl_in_rule__ComposedStructureAssembly__Group__113890);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__1__Impl_in_rule__ComposedStructureAssembly__Group__116112);
             rule__ComposedStructureAssembly__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__2_in_rule__ComposedStructureAssembly__Group__113893);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__2_in_rule__ComposedStructureAssembly__Group__116115);
             rule__ComposedStructureAssembly__Group__2();
 
             state._fsp--;
@@ -18334,20 +21198,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:6998:1: rule__ComposedStructureAssembly__Group__1__Impl : ( 'ComposedStructureAssembly' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8127:1: rule__ComposedStructureAssembly__Group__1__Impl : ( 'ComposedStructureAssembly' ) ;
     public final void rule__ComposedStructureAssembly__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7002:1: ( ( 'ComposedStructureAssembly' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7003:1: ( 'ComposedStructureAssembly' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8131:1: ( ( 'ComposedStructureAssembly' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8132:1: ( 'ComposedStructureAssembly' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7003:1: ( 'ComposedStructureAssembly' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7004:1: 'ComposedStructureAssembly'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8132:1: ( 'ComposedStructureAssembly' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8133:1: 'ComposedStructureAssembly'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getComposedStructureAssemblyKeyword_1()); 
-            match(input,48,FollowSets000.FOLLOW_48_in_rule__ComposedStructureAssembly__Group__1__Impl13921); 
+            match(input,55,FollowSets000.FOLLOW_55_in_rule__ComposedStructureAssembly__Group__1__Impl16143); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getComposedStructureAssemblyKeyword_1()); 
 
             }
@@ -18371,21 +21235,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7017:1: rule__ComposedStructureAssembly__Group__2 : rule__ComposedStructureAssembly__Group__2__Impl rule__ComposedStructureAssembly__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8146:1: rule__ComposedStructureAssembly__Group__2 : rule__ComposedStructureAssembly__Group__2__Impl rule__ComposedStructureAssembly__Group__3 ;
     public final void rule__ComposedStructureAssembly__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7021:1: ( rule__ComposedStructureAssembly__Group__2__Impl rule__ComposedStructureAssembly__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7022:2: rule__ComposedStructureAssembly__Group__2__Impl rule__ComposedStructureAssembly__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8150:1: ( rule__ComposedStructureAssembly__Group__2__Impl rule__ComposedStructureAssembly__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8151:2: rule__ComposedStructureAssembly__Group__2__Impl rule__ComposedStructureAssembly__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__2__Impl_in_rule__ComposedStructureAssembly__Group__213952);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__2__Impl_in_rule__ComposedStructureAssembly__Group__216174);
             rule__ComposedStructureAssembly__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__3_in_rule__ComposedStructureAssembly__Group__213955);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__3_in_rule__ComposedStructureAssembly__Group__216177);
             rule__ComposedStructureAssembly__Group__3();
 
             state._fsp--;
@@ -18409,20 +21273,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7029:1: rule__ComposedStructureAssembly__Group__2__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8158:1: rule__ComposedStructureAssembly__Group__2__Impl : ( '{' ) ;
     public final void rule__ComposedStructureAssembly__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7033:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7034:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8162:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8163:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7034:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7035:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8163:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8164:1: '{'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group__2__Impl13983); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group__2__Impl16205); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -18446,21 +21310,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7048:1: rule__ComposedStructureAssembly__Group__3 : rule__ComposedStructureAssembly__Group__3__Impl rule__ComposedStructureAssembly__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8177:1: rule__ComposedStructureAssembly__Group__3 : rule__ComposedStructureAssembly__Group__3__Impl rule__ComposedStructureAssembly__Group__4 ;
     public final void rule__ComposedStructureAssembly__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7052:1: ( rule__ComposedStructureAssembly__Group__3__Impl rule__ComposedStructureAssembly__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7053:2: rule__ComposedStructureAssembly__Group__3__Impl rule__ComposedStructureAssembly__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8181:1: ( rule__ComposedStructureAssembly__Group__3__Impl rule__ComposedStructureAssembly__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8182:2: rule__ComposedStructureAssembly__Group__3__Impl rule__ComposedStructureAssembly__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__3__Impl_in_rule__ComposedStructureAssembly__Group__314014);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__3__Impl_in_rule__ComposedStructureAssembly__Group__316236);
             rule__ComposedStructureAssembly__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__4_in_rule__ComposedStructureAssembly__Group__314017);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__4_in_rule__ComposedStructureAssembly__Group__316239);
             rule__ComposedStructureAssembly__Group__4();
 
             state._fsp--;
@@ -18484,31 +21348,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7060:1: rule__ComposedStructureAssembly__Group__3__Impl : ( ( rule__ComposedStructureAssembly__Group_3__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8189:1: rule__ComposedStructureAssembly__Group__3__Impl : ( ( rule__ComposedStructureAssembly__Group_3__0 )? ) ;
     public final void rule__ComposedStructureAssembly__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7064:1: ( ( ( rule__ComposedStructureAssembly__Group_3__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7065:1: ( ( rule__ComposedStructureAssembly__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8193:1: ( ( ( rule__ComposedStructureAssembly__Group_3__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8194:1: ( ( rule__ComposedStructureAssembly__Group_3__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7065:1: ( ( rule__ComposedStructureAssembly__Group_3__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7066:1: ( rule__ComposedStructureAssembly__Group_3__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8194:1: ( ( rule__ComposedStructureAssembly__Group_3__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8195:1: ( rule__ComposedStructureAssembly__Group_3__0 )?
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7067:1: ( rule__ComposedStructureAssembly__Group_3__0 )?
-            int alt48=2;
-            int LA48_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8196:1: ( rule__ComposedStructureAssembly__Group_3__0 )?
+            int alt54=2;
+            int LA54_0 = input.LA(1);
 
-            if ( (LA48_0==49) ) {
-                alt48=1;
+            if ( (LA54_0==56) ) {
+                alt54=1;
             }
-            switch (alt48) {
+            switch (alt54) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7067:2: rule__ComposedStructureAssembly__Group_3__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8196:2: rule__ComposedStructureAssembly__Group_3__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__0_in_rule__ComposedStructureAssembly__Group__3__Impl14044);
+                    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__0_in_rule__ComposedStructureAssembly__Group__3__Impl16266);
                     rule__ComposedStructureAssembly__Group_3__0();
 
                     state._fsp--;
@@ -18542,21 +21406,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7077:1: rule__ComposedStructureAssembly__Group__4 : rule__ComposedStructureAssembly__Group__4__Impl rule__ComposedStructureAssembly__Group__5 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8206:1: rule__ComposedStructureAssembly__Group__4 : rule__ComposedStructureAssembly__Group__4__Impl rule__ComposedStructureAssembly__Group__5 ;
     public final void rule__ComposedStructureAssembly__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7081:1: ( rule__ComposedStructureAssembly__Group__4__Impl rule__ComposedStructureAssembly__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7082:2: rule__ComposedStructureAssembly__Group__4__Impl rule__ComposedStructureAssembly__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8210:1: ( rule__ComposedStructureAssembly__Group__4__Impl rule__ComposedStructureAssembly__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8211:2: rule__ComposedStructureAssembly__Group__4__Impl rule__ComposedStructureAssembly__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__4__Impl_in_rule__ComposedStructureAssembly__Group__414075);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__4__Impl_in_rule__ComposedStructureAssembly__Group__416297);
             rule__ComposedStructureAssembly__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__5_in_rule__ComposedStructureAssembly__Group__414078);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__5_in_rule__ComposedStructureAssembly__Group__416300);
             rule__ComposedStructureAssembly__Group__5();
 
             state._fsp--;
@@ -18580,31 +21444,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7089:1: rule__ComposedStructureAssembly__Group__4__Impl : ( ( rule__ComposedStructureAssembly__Group_4__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8218:1: rule__ComposedStructureAssembly__Group__4__Impl : ( ( rule__ComposedStructureAssembly__Group_4__0 )? ) ;
     public final void rule__ComposedStructureAssembly__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7093:1: ( ( ( rule__ComposedStructureAssembly__Group_4__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7094:1: ( ( rule__ComposedStructureAssembly__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8222:1: ( ( ( rule__ComposedStructureAssembly__Group_4__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8223:1: ( ( rule__ComposedStructureAssembly__Group_4__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7094:1: ( ( rule__ComposedStructureAssembly__Group_4__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7095:1: ( rule__ComposedStructureAssembly__Group_4__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8223:1: ( ( rule__ComposedStructureAssembly__Group_4__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8224:1: ( rule__ComposedStructureAssembly__Group_4__0 )?
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7096:1: ( rule__ComposedStructureAssembly__Group_4__0 )?
-            int alt49=2;
-            int LA49_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8225:1: ( rule__ComposedStructureAssembly__Group_4__0 )?
+            int alt55=2;
+            int LA55_0 = input.LA(1);
 
-            if ( (LA49_0==50) ) {
-                alt49=1;
+            if ( (LA55_0==57) ) {
+                alt55=1;
             }
-            switch (alt49) {
+            switch (alt55) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7096:2: rule__ComposedStructureAssembly__Group_4__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8225:2: rule__ComposedStructureAssembly__Group_4__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__0_in_rule__ComposedStructureAssembly__Group__4__Impl14105);
+                    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__0_in_rule__ComposedStructureAssembly__Group__4__Impl16327);
                     rule__ComposedStructureAssembly__Group_4__0();
 
                     state._fsp--;
@@ -18638,21 +21502,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7106:1: rule__ComposedStructureAssembly__Group__5 : rule__ComposedStructureAssembly__Group__5__Impl rule__ComposedStructureAssembly__Group__6 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8235:1: rule__ComposedStructureAssembly__Group__5 : rule__ComposedStructureAssembly__Group__5__Impl rule__ComposedStructureAssembly__Group__6 ;
     public final void rule__ComposedStructureAssembly__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7110:1: ( rule__ComposedStructureAssembly__Group__5__Impl rule__ComposedStructureAssembly__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7111:2: rule__ComposedStructureAssembly__Group__5__Impl rule__ComposedStructureAssembly__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8239:1: ( rule__ComposedStructureAssembly__Group__5__Impl rule__ComposedStructureAssembly__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8240:2: rule__ComposedStructureAssembly__Group__5__Impl rule__ComposedStructureAssembly__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__5__Impl_in_rule__ComposedStructureAssembly__Group__514136);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__5__Impl_in_rule__ComposedStructureAssembly__Group__516358);
             rule__ComposedStructureAssembly__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__6_in_rule__ComposedStructureAssembly__Group__514139);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__6_in_rule__ComposedStructureAssembly__Group__516361);
             rule__ComposedStructureAssembly__Group__6();
 
             state._fsp--;
@@ -18676,31 +21540,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7118:1: rule__ComposedStructureAssembly__Group__5__Impl : ( ( rule__ComposedStructureAssembly__Group_5__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8247:1: rule__ComposedStructureAssembly__Group__5__Impl : ( ( rule__ComposedStructureAssembly__Group_5__0 )? ) ;
     public final void rule__ComposedStructureAssembly__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7122:1: ( ( ( rule__ComposedStructureAssembly__Group_5__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7123:1: ( ( rule__ComposedStructureAssembly__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8251:1: ( ( ( rule__ComposedStructureAssembly__Group_5__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8252:1: ( ( rule__ComposedStructureAssembly__Group_5__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7123:1: ( ( rule__ComposedStructureAssembly__Group_5__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7124:1: ( rule__ComposedStructureAssembly__Group_5__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8252:1: ( ( rule__ComposedStructureAssembly__Group_5__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8253:1: ( rule__ComposedStructureAssembly__Group_5__0 )?
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup_5()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7125:1: ( rule__ComposedStructureAssembly__Group_5__0 )?
-            int alt50=2;
-            int LA50_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8254:1: ( rule__ComposedStructureAssembly__Group_5__0 )?
+            int alt56=2;
+            int LA56_0 = input.LA(1);
 
-            if ( (LA50_0==51) ) {
-                alt50=1;
+            if ( (LA56_0==58) ) {
+                alt56=1;
             }
-            switch (alt50) {
+            switch (alt56) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7125:2: rule__ComposedStructureAssembly__Group_5__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8254:2: rule__ComposedStructureAssembly__Group_5__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__0_in_rule__ComposedStructureAssembly__Group__5__Impl14166);
+                    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__0_in_rule__ComposedStructureAssembly__Group__5__Impl16388);
                     rule__ComposedStructureAssembly__Group_5__0();
 
                     state._fsp--;
@@ -18734,21 +21598,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7135:1: rule__ComposedStructureAssembly__Group__6 : rule__ComposedStructureAssembly__Group__6__Impl rule__ComposedStructureAssembly__Group__7 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8264:1: rule__ComposedStructureAssembly__Group__6 : rule__ComposedStructureAssembly__Group__6__Impl rule__ComposedStructureAssembly__Group__7 ;
     public final void rule__ComposedStructureAssembly__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7139:1: ( rule__ComposedStructureAssembly__Group__6__Impl rule__ComposedStructureAssembly__Group__7 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7140:2: rule__ComposedStructureAssembly__Group__6__Impl rule__ComposedStructureAssembly__Group__7
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8268:1: ( rule__ComposedStructureAssembly__Group__6__Impl rule__ComposedStructureAssembly__Group__7 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8269:2: rule__ComposedStructureAssembly__Group__6__Impl rule__ComposedStructureAssembly__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__6__Impl_in_rule__ComposedStructureAssembly__Group__614197);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__6__Impl_in_rule__ComposedStructureAssembly__Group__616419);
             rule__ComposedStructureAssembly__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__7_in_rule__ComposedStructureAssembly__Group__614200);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__7_in_rule__ComposedStructureAssembly__Group__616422);
             rule__ComposedStructureAssembly__Group__7();
 
             state._fsp--;
@@ -18772,31 +21636,31 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7147:1: rule__ComposedStructureAssembly__Group__6__Impl : ( ( rule__ComposedStructureAssembly__Group_6__0 )? ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8276:1: rule__ComposedStructureAssembly__Group__6__Impl : ( ( rule__ComposedStructureAssembly__Group_6__0 )? ) ;
     public final void rule__ComposedStructureAssembly__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7151:1: ( ( ( rule__ComposedStructureAssembly__Group_6__0 )? ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7152:1: ( ( rule__ComposedStructureAssembly__Group_6__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8280:1: ( ( ( rule__ComposedStructureAssembly__Group_6__0 )? ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8281:1: ( ( rule__ComposedStructureAssembly__Group_6__0 )? )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7152:1: ( ( rule__ComposedStructureAssembly__Group_6__0 )? )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7153:1: ( rule__ComposedStructureAssembly__Group_6__0 )?
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8281:1: ( ( rule__ComposedStructureAssembly__Group_6__0 )? )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8282:1: ( rule__ComposedStructureAssembly__Group_6__0 )?
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup_6()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7154:1: ( rule__ComposedStructureAssembly__Group_6__0 )?
-            int alt51=2;
-            int LA51_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8283:1: ( rule__ComposedStructureAssembly__Group_6__0 )?
+            int alt57=2;
+            int LA57_0 = input.LA(1);
 
-            if ( (LA51_0==52) ) {
-                alt51=1;
+            if ( (LA57_0==59) ) {
+                alt57=1;
             }
-            switch (alt51) {
+            switch (alt57) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7154:2: rule__ComposedStructureAssembly__Group_6__0
+                    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8283:2: rule__ComposedStructureAssembly__Group_6__0
                     {
-                    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__0_in_rule__ComposedStructureAssembly__Group__6__Impl14227);
+                    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__0_in_rule__ComposedStructureAssembly__Group__6__Impl16449);
                     rule__ComposedStructureAssembly__Group_6__0();
 
                     state._fsp--;
@@ -18830,16 +21694,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__7"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7164:1: rule__ComposedStructureAssembly__Group__7 : rule__ComposedStructureAssembly__Group__7__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8293:1: rule__ComposedStructureAssembly__Group__7 : rule__ComposedStructureAssembly__Group__7__Impl ;
     public final void rule__ComposedStructureAssembly__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7168:1: ( rule__ComposedStructureAssembly__Group__7__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7169:2: rule__ComposedStructureAssembly__Group__7__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8297:1: ( rule__ComposedStructureAssembly__Group__7__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8298:2: rule__ComposedStructureAssembly__Group__7__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__7__Impl_in_rule__ComposedStructureAssembly__Group__714258);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group__7__Impl_in_rule__ComposedStructureAssembly__Group__716480);
             rule__ComposedStructureAssembly__Group__7__Impl();
 
             state._fsp--;
@@ -18863,20 +21727,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group__7__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7175:1: rule__ComposedStructureAssembly__Group__7__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8304:1: rule__ComposedStructureAssembly__Group__7__Impl : ( '}' ) ;
     public final void rule__ComposedStructureAssembly__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7179:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7180:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8308:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8309:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7180:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7181:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8309:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8310:1: '}'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group__7__Impl14286); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group__7__Impl16508); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_7()); 
 
             }
@@ -18900,21 +21764,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7210:1: rule__ComposedStructureAssembly__Group_3__0 : rule__ComposedStructureAssembly__Group_3__0__Impl rule__ComposedStructureAssembly__Group_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8339:1: rule__ComposedStructureAssembly__Group_3__0 : rule__ComposedStructureAssembly__Group_3__0__Impl rule__ComposedStructureAssembly__Group_3__1 ;
     public final void rule__ComposedStructureAssembly__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7214:1: ( rule__ComposedStructureAssembly__Group_3__0__Impl rule__ComposedStructureAssembly__Group_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7215:2: rule__ComposedStructureAssembly__Group_3__0__Impl rule__ComposedStructureAssembly__Group_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8343:1: ( rule__ComposedStructureAssembly__Group_3__0__Impl rule__ComposedStructureAssembly__Group_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8344:2: rule__ComposedStructureAssembly__Group_3__0__Impl rule__ComposedStructureAssembly__Group_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__0__Impl_in_rule__ComposedStructureAssembly__Group_3__014333);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__0__Impl_in_rule__ComposedStructureAssembly__Group_3__016555);
             rule__ComposedStructureAssembly__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__1_in_rule__ComposedStructureAssembly__Group_3__014336);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__1_in_rule__ComposedStructureAssembly__Group_3__016558);
             rule__ComposedStructureAssembly__Group_3__1();
 
             state._fsp--;
@@ -18938,20 +21802,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7222:1: rule__ComposedStructureAssembly__Group_3__0__Impl : ( 'assemblyContexts' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8351:1: rule__ComposedStructureAssembly__Group_3__0__Impl : ( 'assemblyContexts' ) ;
     public final void rule__ComposedStructureAssembly__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7226:1: ( ( 'assemblyContexts' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7227:1: ( 'assemblyContexts' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8355:1: ( ( 'assemblyContexts' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8356:1: ( 'assemblyContexts' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7227:1: ( 'assemblyContexts' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7228:1: 'assemblyContexts'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8356:1: ( 'assemblyContexts' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8357:1: 'assemblyContexts'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsKeyword_3_0()); 
-            match(input,49,FollowSets000.FOLLOW_49_in_rule__ComposedStructureAssembly__Group_3__0__Impl14364); 
+            match(input,56,FollowSets000.FOLLOW_56_in_rule__ComposedStructureAssembly__Group_3__0__Impl16586); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsKeyword_3_0()); 
 
             }
@@ -18975,21 +21839,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7241:1: rule__ComposedStructureAssembly__Group_3__1 : rule__ComposedStructureAssembly__Group_3__1__Impl rule__ComposedStructureAssembly__Group_3__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8370:1: rule__ComposedStructureAssembly__Group_3__1 : rule__ComposedStructureAssembly__Group_3__1__Impl rule__ComposedStructureAssembly__Group_3__2 ;
     public final void rule__ComposedStructureAssembly__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7245:1: ( rule__ComposedStructureAssembly__Group_3__1__Impl rule__ComposedStructureAssembly__Group_3__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7246:2: rule__ComposedStructureAssembly__Group_3__1__Impl rule__ComposedStructureAssembly__Group_3__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8374:1: ( rule__ComposedStructureAssembly__Group_3__1__Impl rule__ComposedStructureAssembly__Group_3__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8375:2: rule__ComposedStructureAssembly__Group_3__1__Impl rule__ComposedStructureAssembly__Group_3__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__1__Impl_in_rule__ComposedStructureAssembly__Group_3__114395);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__1__Impl_in_rule__ComposedStructureAssembly__Group_3__116617);
             rule__ComposedStructureAssembly__Group_3__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__2_in_rule__ComposedStructureAssembly__Group_3__114398);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__2_in_rule__ComposedStructureAssembly__Group_3__116620);
             rule__ComposedStructureAssembly__Group_3__2();
 
             state._fsp--;
@@ -19013,20 +21877,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7253:1: rule__ComposedStructureAssembly__Group_3__1__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8382:1: rule__ComposedStructureAssembly__Group_3__1__Impl : ( '{' ) ;
     public final void rule__ComposedStructureAssembly__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7257:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7258:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8386:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8387:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7258:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7259:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8387:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8388:1: '{'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_3_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group_3__1__Impl14426); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group_3__1__Impl16648); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_3_1()); 
 
             }
@@ -19050,21 +21914,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7272:1: rule__ComposedStructureAssembly__Group_3__2 : rule__ComposedStructureAssembly__Group_3__2__Impl rule__ComposedStructureAssembly__Group_3__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8401:1: rule__ComposedStructureAssembly__Group_3__2 : rule__ComposedStructureAssembly__Group_3__2__Impl rule__ComposedStructureAssembly__Group_3__3 ;
     public final void rule__ComposedStructureAssembly__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7276:1: ( rule__ComposedStructureAssembly__Group_3__2__Impl rule__ComposedStructureAssembly__Group_3__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7277:2: rule__ComposedStructureAssembly__Group_3__2__Impl rule__ComposedStructureAssembly__Group_3__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8405:1: ( rule__ComposedStructureAssembly__Group_3__2__Impl rule__ComposedStructureAssembly__Group_3__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8406:2: rule__ComposedStructureAssembly__Group_3__2__Impl rule__ComposedStructureAssembly__Group_3__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__2__Impl_in_rule__ComposedStructureAssembly__Group_3__214457);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__2__Impl_in_rule__ComposedStructureAssembly__Group_3__216679);
             rule__ComposedStructureAssembly__Group_3__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__3_in_rule__ComposedStructureAssembly__Group_3__214460);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__3_in_rule__ComposedStructureAssembly__Group_3__216682);
             rule__ComposedStructureAssembly__Group_3__3();
 
             state._fsp--;
@@ -19088,23 +21952,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7284:1: rule__ComposedStructureAssembly__Group_3__2__Impl : ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8413:1: rule__ComposedStructureAssembly__Group_3__2__Impl : ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 ) ) ;
     public final void rule__ComposedStructureAssembly__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7288:1: ( ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7289:1: ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8417:1: ( ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8418:1: ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7289:1: ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7290:1: ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8418:1: ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8419:1: ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsAssignment_3_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7291:1: ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7291:2: rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8420:1: ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8420:2: rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2_in_rule__ComposedStructureAssembly__Group_3__2__Impl14487);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2_in_rule__ComposedStructureAssembly__Group_3__2__Impl16709);
             rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2();
 
             state._fsp--;
@@ -19135,21 +21999,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7301:1: rule__ComposedStructureAssembly__Group_3__3 : rule__ComposedStructureAssembly__Group_3__3__Impl rule__ComposedStructureAssembly__Group_3__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8430:1: rule__ComposedStructureAssembly__Group_3__3 : rule__ComposedStructureAssembly__Group_3__3__Impl rule__ComposedStructureAssembly__Group_3__4 ;
     public final void rule__ComposedStructureAssembly__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7305:1: ( rule__ComposedStructureAssembly__Group_3__3__Impl rule__ComposedStructureAssembly__Group_3__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7306:2: rule__ComposedStructureAssembly__Group_3__3__Impl rule__ComposedStructureAssembly__Group_3__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8434:1: ( rule__ComposedStructureAssembly__Group_3__3__Impl rule__ComposedStructureAssembly__Group_3__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8435:2: rule__ComposedStructureAssembly__Group_3__3__Impl rule__ComposedStructureAssembly__Group_3__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__3__Impl_in_rule__ComposedStructureAssembly__Group_3__314517);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__3__Impl_in_rule__ComposedStructureAssembly__Group_3__316739);
             rule__ComposedStructureAssembly__Group_3__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__4_in_rule__ComposedStructureAssembly__Group_3__314520);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__4_in_rule__ComposedStructureAssembly__Group_3__316742);
             rule__ComposedStructureAssembly__Group_3__4();
 
             state._fsp--;
@@ -19173,35 +22037,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7313:1: rule__ComposedStructureAssembly__Group_3__3__Impl : ( ( rule__ComposedStructureAssembly__Group_3_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8442:1: rule__ComposedStructureAssembly__Group_3__3__Impl : ( ( rule__ComposedStructureAssembly__Group_3_3__0 )* ) ;
     public final void rule__ComposedStructureAssembly__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7317:1: ( ( ( rule__ComposedStructureAssembly__Group_3_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7318:1: ( ( rule__ComposedStructureAssembly__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8446:1: ( ( ( rule__ComposedStructureAssembly__Group_3_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8447:1: ( ( rule__ComposedStructureAssembly__Group_3_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7318:1: ( ( rule__ComposedStructureAssembly__Group_3_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7319:1: ( rule__ComposedStructureAssembly__Group_3_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8447:1: ( ( rule__ComposedStructureAssembly__Group_3_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8448:1: ( rule__ComposedStructureAssembly__Group_3_3__0 )*
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup_3_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7320:1: ( rule__ComposedStructureAssembly__Group_3_3__0 )*
-            loop52:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8449:1: ( rule__ComposedStructureAssembly__Group_3_3__0 )*
+            loop58:
             do {
-                int alt52=2;
-                int LA52_0 = input.LA(1);
+                int alt58=2;
+                int LA58_0 = input.LA(1);
 
-                if ( (LA52_0==26) ) {
-                    alt52=1;
+                if ( (LA58_0==23) ) {
+                    alt58=1;
                 }
 
 
-                switch (alt52) {
+                switch (alt58) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7320:2: rule__ComposedStructureAssembly__Group_3_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8449:2: rule__ComposedStructureAssembly__Group_3_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3_3__0_in_rule__ComposedStructureAssembly__Group_3__3__Impl14547);
+            	    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3_3__0_in_rule__ComposedStructureAssembly__Group_3__3__Impl16769);
             	    rule__ComposedStructureAssembly__Group_3_3__0();
 
             	    state._fsp--;
@@ -19211,7 +22075,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop52;
+            	    break loop58;
                 }
             } while (true);
 
@@ -19238,16 +22102,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7330:1: rule__ComposedStructureAssembly__Group_3__4 : rule__ComposedStructureAssembly__Group_3__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8459:1: rule__ComposedStructureAssembly__Group_3__4 : rule__ComposedStructureAssembly__Group_3__4__Impl ;
     public final void rule__ComposedStructureAssembly__Group_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7334:1: ( rule__ComposedStructureAssembly__Group_3__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7335:2: rule__ComposedStructureAssembly__Group_3__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8463:1: ( rule__ComposedStructureAssembly__Group_3__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8464:2: rule__ComposedStructureAssembly__Group_3__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__4__Impl_in_rule__ComposedStructureAssembly__Group_3__414578);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3__4__Impl_in_rule__ComposedStructureAssembly__Group_3__416800);
             rule__ComposedStructureAssembly__Group_3__4__Impl();
 
             state._fsp--;
@@ -19271,20 +22135,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7341:1: rule__ComposedStructureAssembly__Group_3__4__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8470:1: rule__ComposedStructureAssembly__Group_3__4__Impl : ( '}' ) ;
     public final void rule__ComposedStructureAssembly__Group_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7345:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7346:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8474:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8475:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7346:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7347:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8475:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8476:1: '}'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_3_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group_3__4__Impl14606); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group_3__4__Impl16828); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_3_4()); 
 
             }
@@ -19308,21 +22172,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7370:1: rule__ComposedStructureAssembly__Group_3_3__0 : rule__ComposedStructureAssembly__Group_3_3__0__Impl rule__ComposedStructureAssembly__Group_3_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8499:1: rule__ComposedStructureAssembly__Group_3_3__0 : rule__ComposedStructureAssembly__Group_3_3__0__Impl rule__ComposedStructureAssembly__Group_3_3__1 ;
     public final void rule__ComposedStructureAssembly__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7374:1: ( rule__ComposedStructureAssembly__Group_3_3__0__Impl rule__ComposedStructureAssembly__Group_3_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7375:2: rule__ComposedStructureAssembly__Group_3_3__0__Impl rule__ComposedStructureAssembly__Group_3_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8503:1: ( rule__ComposedStructureAssembly__Group_3_3__0__Impl rule__ComposedStructureAssembly__Group_3_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8504:2: rule__ComposedStructureAssembly__Group_3_3__0__Impl rule__ComposedStructureAssembly__Group_3_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3_3__0__Impl_in_rule__ComposedStructureAssembly__Group_3_3__014647);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3_3__0__Impl_in_rule__ComposedStructureAssembly__Group_3_3__016869);
             rule__ComposedStructureAssembly__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3_3__1_in_rule__ComposedStructureAssembly__Group_3_3__014650);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3_3__1_in_rule__ComposedStructureAssembly__Group_3_3__016872);
             rule__ComposedStructureAssembly__Group_3_3__1();
 
             state._fsp--;
@@ -19346,20 +22210,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7382:1: rule__ComposedStructureAssembly__Group_3_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8511:1: rule__ComposedStructureAssembly__Group_3_3__0__Impl : ( ',' ) ;
     public final void rule__ComposedStructureAssembly__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7386:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7387:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8515:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8516:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7387:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7388:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8516:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8517:1: ','
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_3_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__ComposedStructureAssembly__Group_3_3__0__Impl14678); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__ComposedStructureAssembly__Group_3_3__0__Impl16900); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_3_3_0()); 
 
             }
@@ -19383,16 +22247,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7401:1: rule__ComposedStructureAssembly__Group_3_3__1 : rule__ComposedStructureAssembly__Group_3_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8530:1: rule__ComposedStructureAssembly__Group_3_3__1 : rule__ComposedStructureAssembly__Group_3_3__1__Impl ;
     public final void rule__ComposedStructureAssembly__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7405:1: ( rule__ComposedStructureAssembly__Group_3_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7406:2: rule__ComposedStructureAssembly__Group_3_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8534:1: ( rule__ComposedStructureAssembly__Group_3_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8535:2: rule__ComposedStructureAssembly__Group_3_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3_3__1__Impl_in_rule__ComposedStructureAssembly__Group_3_3__114709);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_3_3__1__Impl_in_rule__ComposedStructureAssembly__Group_3_3__116931);
             rule__ComposedStructureAssembly__Group_3_3__1__Impl();
 
             state._fsp--;
@@ -19416,23 +22280,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_3_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7412:1: rule__ComposedStructureAssembly__Group_3_3__1__Impl : ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8541:1: rule__ComposedStructureAssembly__Group_3_3__1__Impl : ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 ) ) ;
     public final void rule__ComposedStructureAssembly__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7416:1: ( ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7417:1: ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8545:1: ( ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8546:1: ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7417:1: ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7418:1: ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8546:1: ( ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8547:1: ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsAssignment_3_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7419:1: ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7419:2: rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8548:1: ( rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8548:2: rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1_in_rule__ComposedStructureAssembly__Group_3_3__1__Impl14736);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1_in_rule__ComposedStructureAssembly__Group_3_3__1__Impl16958);
             rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1();
 
             state._fsp--;
@@ -19463,21 +22327,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7433:1: rule__ComposedStructureAssembly__Group_4__0 : rule__ComposedStructureAssembly__Group_4__0__Impl rule__ComposedStructureAssembly__Group_4__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8562:1: rule__ComposedStructureAssembly__Group_4__0 : rule__ComposedStructureAssembly__Group_4__0__Impl rule__ComposedStructureAssembly__Group_4__1 ;
     public final void rule__ComposedStructureAssembly__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7437:1: ( rule__ComposedStructureAssembly__Group_4__0__Impl rule__ComposedStructureAssembly__Group_4__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7438:2: rule__ComposedStructureAssembly__Group_4__0__Impl rule__ComposedStructureAssembly__Group_4__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8566:1: ( rule__ComposedStructureAssembly__Group_4__0__Impl rule__ComposedStructureAssembly__Group_4__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8567:2: rule__ComposedStructureAssembly__Group_4__0__Impl rule__ComposedStructureAssembly__Group_4__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__0__Impl_in_rule__ComposedStructureAssembly__Group_4__014770);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__0__Impl_in_rule__ComposedStructureAssembly__Group_4__016992);
             rule__ComposedStructureAssembly__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__1_in_rule__ComposedStructureAssembly__Group_4__014773);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__1_in_rule__ComposedStructureAssembly__Group_4__016995);
             rule__ComposedStructureAssembly__Group_4__1();
 
             state._fsp--;
@@ -19501,20 +22365,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7445:1: rule__ComposedStructureAssembly__Group_4__0__Impl : ( 'assemblyConnectors' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8574:1: rule__ComposedStructureAssembly__Group_4__0__Impl : ( 'assemblyConnectors' ) ;
     public final void rule__ComposedStructureAssembly__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7449:1: ( ( 'assemblyConnectors' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7450:1: ( 'assemblyConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8578:1: ( ( 'assemblyConnectors' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8579:1: ( 'assemblyConnectors' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7450:1: ( 'assemblyConnectors' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7451:1: 'assemblyConnectors'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8579:1: ( 'assemblyConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8580:1: 'assemblyConnectors'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsKeyword_4_0()); 
-            match(input,50,FollowSets000.FOLLOW_50_in_rule__ComposedStructureAssembly__Group_4__0__Impl14801); 
+            match(input,57,FollowSets000.FOLLOW_57_in_rule__ComposedStructureAssembly__Group_4__0__Impl17023); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsKeyword_4_0()); 
 
             }
@@ -19538,21 +22402,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7464:1: rule__ComposedStructureAssembly__Group_4__1 : rule__ComposedStructureAssembly__Group_4__1__Impl rule__ComposedStructureAssembly__Group_4__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8593:1: rule__ComposedStructureAssembly__Group_4__1 : rule__ComposedStructureAssembly__Group_4__1__Impl rule__ComposedStructureAssembly__Group_4__2 ;
     public final void rule__ComposedStructureAssembly__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7468:1: ( rule__ComposedStructureAssembly__Group_4__1__Impl rule__ComposedStructureAssembly__Group_4__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7469:2: rule__ComposedStructureAssembly__Group_4__1__Impl rule__ComposedStructureAssembly__Group_4__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8597:1: ( rule__ComposedStructureAssembly__Group_4__1__Impl rule__ComposedStructureAssembly__Group_4__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8598:2: rule__ComposedStructureAssembly__Group_4__1__Impl rule__ComposedStructureAssembly__Group_4__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__1__Impl_in_rule__ComposedStructureAssembly__Group_4__114832);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__1__Impl_in_rule__ComposedStructureAssembly__Group_4__117054);
             rule__ComposedStructureAssembly__Group_4__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__2_in_rule__ComposedStructureAssembly__Group_4__114835);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__2_in_rule__ComposedStructureAssembly__Group_4__117057);
             rule__ComposedStructureAssembly__Group_4__2();
 
             state._fsp--;
@@ -19576,20 +22440,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7476:1: rule__ComposedStructureAssembly__Group_4__1__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8605:1: rule__ComposedStructureAssembly__Group_4__1__Impl : ( '{' ) ;
     public final void rule__ComposedStructureAssembly__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7480:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7481:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8609:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8610:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7481:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7482:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8610:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8611:1: '{'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_4_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group_4__1__Impl14863); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group_4__1__Impl17085); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_4_1()); 
 
             }
@@ -19613,21 +22477,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7495:1: rule__ComposedStructureAssembly__Group_4__2 : rule__ComposedStructureAssembly__Group_4__2__Impl rule__ComposedStructureAssembly__Group_4__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8624:1: rule__ComposedStructureAssembly__Group_4__2 : rule__ComposedStructureAssembly__Group_4__2__Impl rule__ComposedStructureAssembly__Group_4__3 ;
     public final void rule__ComposedStructureAssembly__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7499:1: ( rule__ComposedStructureAssembly__Group_4__2__Impl rule__ComposedStructureAssembly__Group_4__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7500:2: rule__ComposedStructureAssembly__Group_4__2__Impl rule__ComposedStructureAssembly__Group_4__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8628:1: ( rule__ComposedStructureAssembly__Group_4__2__Impl rule__ComposedStructureAssembly__Group_4__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8629:2: rule__ComposedStructureAssembly__Group_4__2__Impl rule__ComposedStructureAssembly__Group_4__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__2__Impl_in_rule__ComposedStructureAssembly__Group_4__214894);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__2__Impl_in_rule__ComposedStructureAssembly__Group_4__217116);
             rule__ComposedStructureAssembly__Group_4__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__3_in_rule__ComposedStructureAssembly__Group_4__214897);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__3_in_rule__ComposedStructureAssembly__Group_4__217119);
             rule__ComposedStructureAssembly__Group_4__3();
 
             state._fsp--;
@@ -19651,23 +22515,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7507:1: rule__ComposedStructureAssembly__Group_4__2__Impl : ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8636:1: rule__ComposedStructureAssembly__Group_4__2__Impl : ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 ) ) ;
     public final void rule__ComposedStructureAssembly__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7511:1: ( ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7512:1: ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8640:1: ( ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8641:1: ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7512:1: ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7513:1: ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8641:1: ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8642:1: ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsAssignment_4_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7514:1: ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7514:2: rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8643:1: ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8643:2: rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2_in_rule__ComposedStructureAssembly__Group_4__2__Impl14924);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2_in_rule__ComposedStructureAssembly__Group_4__2__Impl17146);
             rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2();
 
             state._fsp--;
@@ -19698,21 +22562,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7524:1: rule__ComposedStructureAssembly__Group_4__3 : rule__ComposedStructureAssembly__Group_4__3__Impl rule__ComposedStructureAssembly__Group_4__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8653:1: rule__ComposedStructureAssembly__Group_4__3 : rule__ComposedStructureAssembly__Group_4__3__Impl rule__ComposedStructureAssembly__Group_4__4 ;
     public final void rule__ComposedStructureAssembly__Group_4__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7528:1: ( rule__ComposedStructureAssembly__Group_4__3__Impl rule__ComposedStructureAssembly__Group_4__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7529:2: rule__ComposedStructureAssembly__Group_4__3__Impl rule__ComposedStructureAssembly__Group_4__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8657:1: ( rule__ComposedStructureAssembly__Group_4__3__Impl rule__ComposedStructureAssembly__Group_4__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8658:2: rule__ComposedStructureAssembly__Group_4__3__Impl rule__ComposedStructureAssembly__Group_4__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__3__Impl_in_rule__ComposedStructureAssembly__Group_4__314954);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__3__Impl_in_rule__ComposedStructureAssembly__Group_4__317176);
             rule__ComposedStructureAssembly__Group_4__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__4_in_rule__ComposedStructureAssembly__Group_4__314957);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__4_in_rule__ComposedStructureAssembly__Group_4__317179);
             rule__ComposedStructureAssembly__Group_4__4();
 
             state._fsp--;
@@ -19736,35 +22600,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7536:1: rule__ComposedStructureAssembly__Group_4__3__Impl : ( ( rule__ComposedStructureAssembly__Group_4_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8665:1: rule__ComposedStructureAssembly__Group_4__3__Impl : ( ( rule__ComposedStructureAssembly__Group_4_3__0 )* ) ;
     public final void rule__ComposedStructureAssembly__Group_4__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7540:1: ( ( ( rule__ComposedStructureAssembly__Group_4_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7541:1: ( ( rule__ComposedStructureAssembly__Group_4_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8669:1: ( ( ( rule__ComposedStructureAssembly__Group_4_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8670:1: ( ( rule__ComposedStructureAssembly__Group_4_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7541:1: ( ( rule__ComposedStructureAssembly__Group_4_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7542:1: ( rule__ComposedStructureAssembly__Group_4_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8670:1: ( ( rule__ComposedStructureAssembly__Group_4_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8671:1: ( rule__ComposedStructureAssembly__Group_4_3__0 )*
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup_4_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7543:1: ( rule__ComposedStructureAssembly__Group_4_3__0 )*
-            loop53:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8672:1: ( rule__ComposedStructureAssembly__Group_4_3__0 )*
+            loop59:
             do {
-                int alt53=2;
-                int LA53_0 = input.LA(1);
+                int alt59=2;
+                int LA59_0 = input.LA(1);
 
-                if ( (LA53_0==26) ) {
-                    alt53=1;
+                if ( (LA59_0==23) ) {
+                    alt59=1;
                 }
 
 
-                switch (alt53) {
+                switch (alt59) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7543:2: rule__ComposedStructureAssembly__Group_4_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8672:2: rule__ComposedStructureAssembly__Group_4_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4_3__0_in_rule__ComposedStructureAssembly__Group_4__3__Impl14984);
+            	    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4_3__0_in_rule__ComposedStructureAssembly__Group_4__3__Impl17206);
             	    rule__ComposedStructureAssembly__Group_4_3__0();
 
             	    state._fsp--;
@@ -19774,7 +22638,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop53;
+            	    break loop59;
                 }
             } while (true);
 
@@ -19801,16 +22665,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7553:1: rule__ComposedStructureAssembly__Group_4__4 : rule__ComposedStructureAssembly__Group_4__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8682:1: rule__ComposedStructureAssembly__Group_4__4 : rule__ComposedStructureAssembly__Group_4__4__Impl ;
     public final void rule__ComposedStructureAssembly__Group_4__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7557:1: ( rule__ComposedStructureAssembly__Group_4__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7558:2: rule__ComposedStructureAssembly__Group_4__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8686:1: ( rule__ComposedStructureAssembly__Group_4__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8687:2: rule__ComposedStructureAssembly__Group_4__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__4__Impl_in_rule__ComposedStructureAssembly__Group_4__415015);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4__4__Impl_in_rule__ComposedStructureAssembly__Group_4__417237);
             rule__ComposedStructureAssembly__Group_4__4__Impl();
 
             state._fsp--;
@@ -19834,20 +22698,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7564:1: rule__ComposedStructureAssembly__Group_4__4__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8693:1: rule__ComposedStructureAssembly__Group_4__4__Impl : ( '}' ) ;
     public final void rule__ComposedStructureAssembly__Group_4__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7568:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7569:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8697:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8698:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7569:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7570:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8698:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8699:1: '}'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_4_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group_4__4__Impl15043); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group_4__4__Impl17265); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_4_4()); 
 
             }
@@ -19871,21 +22735,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7593:1: rule__ComposedStructureAssembly__Group_4_3__0 : rule__ComposedStructureAssembly__Group_4_3__0__Impl rule__ComposedStructureAssembly__Group_4_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8722:1: rule__ComposedStructureAssembly__Group_4_3__0 : rule__ComposedStructureAssembly__Group_4_3__0__Impl rule__ComposedStructureAssembly__Group_4_3__1 ;
     public final void rule__ComposedStructureAssembly__Group_4_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7597:1: ( rule__ComposedStructureAssembly__Group_4_3__0__Impl rule__ComposedStructureAssembly__Group_4_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7598:2: rule__ComposedStructureAssembly__Group_4_3__0__Impl rule__ComposedStructureAssembly__Group_4_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8726:1: ( rule__ComposedStructureAssembly__Group_4_3__0__Impl rule__ComposedStructureAssembly__Group_4_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8727:2: rule__ComposedStructureAssembly__Group_4_3__0__Impl rule__ComposedStructureAssembly__Group_4_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4_3__0__Impl_in_rule__ComposedStructureAssembly__Group_4_3__015084);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4_3__0__Impl_in_rule__ComposedStructureAssembly__Group_4_3__017306);
             rule__ComposedStructureAssembly__Group_4_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4_3__1_in_rule__ComposedStructureAssembly__Group_4_3__015087);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4_3__1_in_rule__ComposedStructureAssembly__Group_4_3__017309);
             rule__ComposedStructureAssembly__Group_4_3__1();
 
             state._fsp--;
@@ -19909,20 +22773,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7605:1: rule__ComposedStructureAssembly__Group_4_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8734:1: rule__ComposedStructureAssembly__Group_4_3__0__Impl : ( ',' ) ;
     public final void rule__ComposedStructureAssembly__Group_4_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7609:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7610:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8738:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8739:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7610:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7611:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8739:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8740:1: ','
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_4_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__ComposedStructureAssembly__Group_4_3__0__Impl15115); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__ComposedStructureAssembly__Group_4_3__0__Impl17337); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_4_3_0()); 
 
             }
@@ -19946,16 +22810,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7624:1: rule__ComposedStructureAssembly__Group_4_3__1 : rule__ComposedStructureAssembly__Group_4_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8753:1: rule__ComposedStructureAssembly__Group_4_3__1 : rule__ComposedStructureAssembly__Group_4_3__1__Impl ;
     public final void rule__ComposedStructureAssembly__Group_4_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7628:1: ( rule__ComposedStructureAssembly__Group_4_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7629:2: rule__ComposedStructureAssembly__Group_4_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8757:1: ( rule__ComposedStructureAssembly__Group_4_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8758:2: rule__ComposedStructureAssembly__Group_4_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4_3__1__Impl_in_rule__ComposedStructureAssembly__Group_4_3__115146);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_4_3__1__Impl_in_rule__ComposedStructureAssembly__Group_4_3__117368);
             rule__ComposedStructureAssembly__Group_4_3__1__Impl();
 
             state._fsp--;
@@ -19979,23 +22843,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_4_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7635:1: rule__ComposedStructureAssembly__Group_4_3__1__Impl : ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8764:1: rule__ComposedStructureAssembly__Group_4_3__1__Impl : ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 ) ) ;
     public final void rule__ComposedStructureAssembly__Group_4_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7639:1: ( ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7640:1: ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8768:1: ( ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8769:1: ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7640:1: ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7641:1: ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8769:1: ( ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8770:1: ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsAssignment_4_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7642:1: ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7642:2: rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8771:1: ( rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8771:2: rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1_in_rule__ComposedStructureAssembly__Group_4_3__1__Impl15173);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1_in_rule__ComposedStructureAssembly__Group_4_3__1__Impl17395);
             rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1();
 
             state._fsp--;
@@ -20026,21 +22890,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7656:1: rule__ComposedStructureAssembly__Group_5__0 : rule__ComposedStructureAssembly__Group_5__0__Impl rule__ComposedStructureAssembly__Group_5__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8785:1: rule__ComposedStructureAssembly__Group_5__0 : rule__ComposedStructureAssembly__Group_5__0__Impl rule__ComposedStructureAssembly__Group_5__1 ;
     public final void rule__ComposedStructureAssembly__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7660:1: ( rule__ComposedStructureAssembly__Group_5__0__Impl rule__ComposedStructureAssembly__Group_5__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7661:2: rule__ComposedStructureAssembly__Group_5__0__Impl rule__ComposedStructureAssembly__Group_5__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8789:1: ( rule__ComposedStructureAssembly__Group_5__0__Impl rule__ComposedStructureAssembly__Group_5__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8790:2: rule__ComposedStructureAssembly__Group_5__0__Impl rule__ComposedStructureAssembly__Group_5__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__0__Impl_in_rule__ComposedStructureAssembly__Group_5__015207);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__0__Impl_in_rule__ComposedStructureAssembly__Group_5__017429);
             rule__ComposedStructureAssembly__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__1_in_rule__ComposedStructureAssembly__Group_5__015210);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__1_in_rule__ComposedStructureAssembly__Group_5__017432);
             rule__ComposedStructureAssembly__Group_5__1();
 
             state._fsp--;
@@ -20064,20 +22928,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7668:1: rule__ComposedStructureAssembly__Group_5__0__Impl : ( 'providedDelegationConnectors' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8797:1: rule__ComposedStructureAssembly__Group_5__0__Impl : ( 'providedDelegationConnectors' ) ;
     public final void rule__ComposedStructureAssembly__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7672:1: ( ( 'providedDelegationConnectors' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7673:1: ( 'providedDelegationConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8801:1: ( ( 'providedDelegationConnectors' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8802:1: ( 'providedDelegationConnectors' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7673:1: ( 'providedDelegationConnectors' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7674:1: 'providedDelegationConnectors'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8802:1: ( 'providedDelegationConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8803:1: 'providedDelegationConnectors'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsKeyword_5_0()); 
-            match(input,51,FollowSets000.FOLLOW_51_in_rule__ComposedStructureAssembly__Group_5__0__Impl15238); 
+            match(input,58,FollowSets000.FOLLOW_58_in_rule__ComposedStructureAssembly__Group_5__0__Impl17460); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsKeyword_5_0()); 
 
             }
@@ -20101,21 +22965,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7687:1: rule__ComposedStructureAssembly__Group_5__1 : rule__ComposedStructureAssembly__Group_5__1__Impl rule__ComposedStructureAssembly__Group_5__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8816:1: rule__ComposedStructureAssembly__Group_5__1 : rule__ComposedStructureAssembly__Group_5__1__Impl rule__ComposedStructureAssembly__Group_5__2 ;
     public final void rule__ComposedStructureAssembly__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7691:1: ( rule__ComposedStructureAssembly__Group_5__1__Impl rule__ComposedStructureAssembly__Group_5__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7692:2: rule__ComposedStructureAssembly__Group_5__1__Impl rule__ComposedStructureAssembly__Group_5__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8820:1: ( rule__ComposedStructureAssembly__Group_5__1__Impl rule__ComposedStructureAssembly__Group_5__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8821:2: rule__ComposedStructureAssembly__Group_5__1__Impl rule__ComposedStructureAssembly__Group_5__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__1__Impl_in_rule__ComposedStructureAssembly__Group_5__115269);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__1__Impl_in_rule__ComposedStructureAssembly__Group_5__117491);
             rule__ComposedStructureAssembly__Group_5__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__2_in_rule__ComposedStructureAssembly__Group_5__115272);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__2_in_rule__ComposedStructureAssembly__Group_5__117494);
             rule__ComposedStructureAssembly__Group_5__2();
 
             state._fsp--;
@@ -20139,20 +23003,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7699:1: rule__ComposedStructureAssembly__Group_5__1__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8828:1: rule__ComposedStructureAssembly__Group_5__1__Impl : ( '{' ) ;
     public final void rule__ComposedStructureAssembly__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7703:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7704:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8832:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8833:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7704:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7705:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8833:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8834:1: '{'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_5_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group_5__1__Impl15300); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group_5__1__Impl17522); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_5_1()); 
 
             }
@@ -20176,21 +23040,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7718:1: rule__ComposedStructureAssembly__Group_5__2 : rule__ComposedStructureAssembly__Group_5__2__Impl rule__ComposedStructureAssembly__Group_5__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8847:1: rule__ComposedStructureAssembly__Group_5__2 : rule__ComposedStructureAssembly__Group_5__2__Impl rule__ComposedStructureAssembly__Group_5__3 ;
     public final void rule__ComposedStructureAssembly__Group_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7722:1: ( rule__ComposedStructureAssembly__Group_5__2__Impl rule__ComposedStructureAssembly__Group_5__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7723:2: rule__ComposedStructureAssembly__Group_5__2__Impl rule__ComposedStructureAssembly__Group_5__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8851:1: ( rule__ComposedStructureAssembly__Group_5__2__Impl rule__ComposedStructureAssembly__Group_5__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8852:2: rule__ComposedStructureAssembly__Group_5__2__Impl rule__ComposedStructureAssembly__Group_5__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__2__Impl_in_rule__ComposedStructureAssembly__Group_5__215331);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__2__Impl_in_rule__ComposedStructureAssembly__Group_5__217553);
             rule__ComposedStructureAssembly__Group_5__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__3_in_rule__ComposedStructureAssembly__Group_5__215334);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__3_in_rule__ComposedStructureAssembly__Group_5__217556);
             rule__ComposedStructureAssembly__Group_5__3();
 
             state._fsp--;
@@ -20214,23 +23078,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7730:1: rule__ComposedStructureAssembly__Group_5__2__Impl : ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8859:1: rule__ComposedStructureAssembly__Group_5__2__Impl : ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 ) ) ;
     public final void rule__ComposedStructureAssembly__Group_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7734:1: ( ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7735:1: ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8863:1: ( ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8864:1: ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7735:1: ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7736:1: ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8864:1: ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8865:1: ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsAssignment_5_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7737:1: ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7737:2: rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8866:1: ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8866:2: rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2_in_rule__ComposedStructureAssembly__Group_5__2__Impl15361);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2_in_rule__ComposedStructureAssembly__Group_5__2__Impl17583);
             rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2();
 
             state._fsp--;
@@ -20261,21 +23125,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7747:1: rule__ComposedStructureAssembly__Group_5__3 : rule__ComposedStructureAssembly__Group_5__3__Impl rule__ComposedStructureAssembly__Group_5__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8876:1: rule__ComposedStructureAssembly__Group_5__3 : rule__ComposedStructureAssembly__Group_5__3__Impl rule__ComposedStructureAssembly__Group_5__4 ;
     public final void rule__ComposedStructureAssembly__Group_5__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7751:1: ( rule__ComposedStructureAssembly__Group_5__3__Impl rule__ComposedStructureAssembly__Group_5__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7752:2: rule__ComposedStructureAssembly__Group_5__3__Impl rule__ComposedStructureAssembly__Group_5__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8880:1: ( rule__ComposedStructureAssembly__Group_5__3__Impl rule__ComposedStructureAssembly__Group_5__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8881:2: rule__ComposedStructureAssembly__Group_5__3__Impl rule__ComposedStructureAssembly__Group_5__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__3__Impl_in_rule__ComposedStructureAssembly__Group_5__315391);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__3__Impl_in_rule__ComposedStructureAssembly__Group_5__317613);
             rule__ComposedStructureAssembly__Group_5__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__4_in_rule__ComposedStructureAssembly__Group_5__315394);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__4_in_rule__ComposedStructureAssembly__Group_5__317616);
             rule__ComposedStructureAssembly__Group_5__4();
 
             state._fsp--;
@@ -20299,35 +23163,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7759:1: rule__ComposedStructureAssembly__Group_5__3__Impl : ( ( rule__ComposedStructureAssembly__Group_5_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8888:1: rule__ComposedStructureAssembly__Group_5__3__Impl : ( ( rule__ComposedStructureAssembly__Group_5_3__0 )* ) ;
     public final void rule__ComposedStructureAssembly__Group_5__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7763:1: ( ( ( rule__ComposedStructureAssembly__Group_5_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7764:1: ( ( rule__ComposedStructureAssembly__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8892:1: ( ( ( rule__ComposedStructureAssembly__Group_5_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8893:1: ( ( rule__ComposedStructureAssembly__Group_5_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7764:1: ( ( rule__ComposedStructureAssembly__Group_5_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7765:1: ( rule__ComposedStructureAssembly__Group_5_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8893:1: ( ( rule__ComposedStructureAssembly__Group_5_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8894:1: ( rule__ComposedStructureAssembly__Group_5_3__0 )*
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup_5_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7766:1: ( rule__ComposedStructureAssembly__Group_5_3__0 )*
-            loop54:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8895:1: ( rule__ComposedStructureAssembly__Group_5_3__0 )*
+            loop60:
             do {
-                int alt54=2;
-                int LA54_0 = input.LA(1);
+                int alt60=2;
+                int LA60_0 = input.LA(1);
 
-                if ( (LA54_0==26) ) {
-                    alt54=1;
+                if ( (LA60_0==23) ) {
+                    alt60=1;
                 }
 
 
-                switch (alt54) {
+                switch (alt60) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7766:2: rule__ComposedStructureAssembly__Group_5_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8895:2: rule__ComposedStructureAssembly__Group_5_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5_3__0_in_rule__ComposedStructureAssembly__Group_5__3__Impl15421);
+            	    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5_3__0_in_rule__ComposedStructureAssembly__Group_5__3__Impl17643);
             	    rule__ComposedStructureAssembly__Group_5_3__0();
 
             	    state._fsp--;
@@ -20337,7 +23201,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop54;
+            	    break loop60;
                 }
             } while (true);
 
@@ -20364,16 +23228,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7776:1: rule__ComposedStructureAssembly__Group_5__4 : rule__ComposedStructureAssembly__Group_5__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8905:1: rule__ComposedStructureAssembly__Group_5__4 : rule__ComposedStructureAssembly__Group_5__4__Impl ;
     public final void rule__ComposedStructureAssembly__Group_5__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7780:1: ( rule__ComposedStructureAssembly__Group_5__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7781:2: rule__ComposedStructureAssembly__Group_5__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8909:1: ( rule__ComposedStructureAssembly__Group_5__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8910:2: rule__ComposedStructureAssembly__Group_5__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__4__Impl_in_rule__ComposedStructureAssembly__Group_5__415452);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5__4__Impl_in_rule__ComposedStructureAssembly__Group_5__417674);
             rule__ComposedStructureAssembly__Group_5__4__Impl();
 
             state._fsp--;
@@ -20397,20 +23261,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7787:1: rule__ComposedStructureAssembly__Group_5__4__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8916:1: rule__ComposedStructureAssembly__Group_5__4__Impl : ( '}' ) ;
     public final void rule__ComposedStructureAssembly__Group_5__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7791:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7792:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8920:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8921:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7792:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7793:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8921:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8922:1: '}'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_5_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group_5__4__Impl15480); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group_5__4__Impl17702); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_5_4()); 
 
             }
@@ -20434,21 +23298,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7816:1: rule__ComposedStructureAssembly__Group_5_3__0 : rule__ComposedStructureAssembly__Group_5_3__0__Impl rule__ComposedStructureAssembly__Group_5_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8945:1: rule__ComposedStructureAssembly__Group_5_3__0 : rule__ComposedStructureAssembly__Group_5_3__0__Impl rule__ComposedStructureAssembly__Group_5_3__1 ;
     public final void rule__ComposedStructureAssembly__Group_5_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7820:1: ( rule__ComposedStructureAssembly__Group_5_3__0__Impl rule__ComposedStructureAssembly__Group_5_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7821:2: rule__ComposedStructureAssembly__Group_5_3__0__Impl rule__ComposedStructureAssembly__Group_5_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8949:1: ( rule__ComposedStructureAssembly__Group_5_3__0__Impl rule__ComposedStructureAssembly__Group_5_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8950:2: rule__ComposedStructureAssembly__Group_5_3__0__Impl rule__ComposedStructureAssembly__Group_5_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5_3__0__Impl_in_rule__ComposedStructureAssembly__Group_5_3__015521);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5_3__0__Impl_in_rule__ComposedStructureAssembly__Group_5_3__017743);
             rule__ComposedStructureAssembly__Group_5_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5_3__1_in_rule__ComposedStructureAssembly__Group_5_3__015524);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5_3__1_in_rule__ComposedStructureAssembly__Group_5_3__017746);
             rule__ComposedStructureAssembly__Group_5_3__1();
 
             state._fsp--;
@@ -20472,20 +23336,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7828:1: rule__ComposedStructureAssembly__Group_5_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8957:1: rule__ComposedStructureAssembly__Group_5_3__0__Impl : ( ',' ) ;
     public final void rule__ComposedStructureAssembly__Group_5_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7832:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7833:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8961:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8962:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7833:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7834:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8962:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8963:1: ','
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_5_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__ComposedStructureAssembly__Group_5_3__0__Impl15552); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__ComposedStructureAssembly__Group_5_3__0__Impl17774); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_5_3_0()); 
 
             }
@@ -20509,16 +23373,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7847:1: rule__ComposedStructureAssembly__Group_5_3__1 : rule__ComposedStructureAssembly__Group_5_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8976:1: rule__ComposedStructureAssembly__Group_5_3__1 : rule__ComposedStructureAssembly__Group_5_3__1__Impl ;
     public final void rule__ComposedStructureAssembly__Group_5_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7851:1: ( rule__ComposedStructureAssembly__Group_5_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7852:2: rule__ComposedStructureAssembly__Group_5_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8980:1: ( rule__ComposedStructureAssembly__Group_5_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8981:2: rule__ComposedStructureAssembly__Group_5_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5_3__1__Impl_in_rule__ComposedStructureAssembly__Group_5_3__115583);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_5_3__1__Impl_in_rule__ComposedStructureAssembly__Group_5_3__117805);
             rule__ComposedStructureAssembly__Group_5_3__1__Impl();
 
             state._fsp--;
@@ -20542,23 +23406,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_5_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7858:1: rule__ComposedStructureAssembly__Group_5_3__1__Impl : ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8987:1: rule__ComposedStructureAssembly__Group_5_3__1__Impl : ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 ) ) ;
     public final void rule__ComposedStructureAssembly__Group_5_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7862:1: ( ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7863:1: ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8991:1: ( ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8992:1: ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7863:1: ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7864:1: ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8992:1: ( ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8993:1: ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsAssignment_5_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7865:1: ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7865:2: rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8994:1: ( rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8994:2: rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1_in_rule__ComposedStructureAssembly__Group_5_3__1__Impl15610);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1_in_rule__ComposedStructureAssembly__Group_5_3__1__Impl17832);
             rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1();
 
             state._fsp--;
@@ -20589,21 +23453,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7879:1: rule__ComposedStructureAssembly__Group_6__0 : rule__ComposedStructureAssembly__Group_6__0__Impl rule__ComposedStructureAssembly__Group_6__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9008:1: rule__ComposedStructureAssembly__Group_6__0 : rule__ComposedStructureAssembly__Group_6__0__Impl rule__ComposedStructureAssembly__Group_6__1 ;
     public final void rule__ComposedStructureAssembly__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7883:1: ( rule__ComposedStructureAssembly__Group_6__0__Impl rule__ComposedStructureAssembly__Group_6__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7884:2: rule__ComposedStructureAssembly__Group_6__0__Impl rule__ComposedStructureAssembly__Group_6__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9012:1: ( rule__ComposedStructureAssembly__Group_6__0__Impl rule__ComposedStructureAssembly__Group_6__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9013:2: rule__ComposedStructureAssembly__Group_6__0__Impl rule__ComposedStructureAssembly__Group_6__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__0__Impl_in_rule__ComposedStructureAssembly__Group_6__015644);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__0__Impl_in_rule__ComposedStructureAssembly__Group_6__017866);
             rule__ComposedStructureAssembly__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__1_in_rule__ComposedStructureAssembly__Group_6__015647);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__1_in_rule__ComposedStructureAssembly__Group_6__017869);
             rule__ComposedStructureAssembly__Group_6__1();
 
             state._fsp--;
@@ -20627,20 +23491,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7891:1: rule__ComposedStructureAssembly__Group_6__0__Impl : ( 'requiredDelegationConnectors' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9020:1: rule__ComposedStructureAssembly__Group_6__0__Impl : ( 'requiredDelegationConnectors' ) ;
     public final void rule__ComposedStructureAssembly__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7895:1: ( ( 'requiredDelegationConnectors' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7896:1: ( 'requiredDelegationConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9024:1: ( ( 'requiredDelegationConnectors' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9025:1: ( 'requiredDelegationConnectors' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7896:1: ( 'requiredDelegationConnectors' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7897:1: 'requiredDelegationConnectors'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9025:1: ( 'requiredDelegationConnectors' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9026:1: 'requiredDelegationConnectors'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsKeyword_6_0()); 
-            match(input,52,FollowSets000.FOLLOW_52_in_rule__ComposedStructureAssembly__Group_6__0__Impl15675); 
+            match(input,59,FollowSets000.FOLLOW_59_in_rule__ComposedStructureAssembly__Group_6__0__Impl17897); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsKeyword_6_0()); 
 
             }
@@ -20664,21 +23528,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7910:1: rule__ComposedStructureAssembly__Group_6__1 : rule__ComposedStructureAssembly__Group_6__1__Impl rule__ComposedStructureAssembly__Group_6__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9039:1: rule__ComposedStructureAssembly__Group_6__1 : rule__ComposedStructureAssembly__Group_6__1__Impl rule__ComposedStructureAssembly__Group_6__2 ;
     public final void rule__ComposedStructureAssembly__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7914:1: ( rule__ComposedStructureAssembly__Group_6__1__Impl rule__ComposedStructureAssembly__Group_6__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7915:2: rule__ComposedStructureAssembly__Group_6__1__Impl rule__ComposedStructureAssembly__Group_6__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9043:1: ( rule__ComposedStructureAssembly__Group_6__1__Impl rule__ComposedStructureAssembly__Group_6__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9044:2: rule__ComposedStructureAssembly__Group_6__1__Impl rule__ComposedStructureAssembly__Group_6__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__1__Impl_in_rule__ComposedStructureAssembly__Group_6__115706);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__1__Impl_in_rule__ComposedStructureAssembly__Group_6__117928);
             rule__ComposedStructureAssembly__Group_6__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__2_in_rule__ComposedStructureAssembly__Group_6__115709);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__2_in_rule__ComposedStructureAssembly__Group_6__117931);
             rule__ComposedStructureAssembly__Group_6__2();
 
             state._fsp--;
@@ -20702,20 +23566,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7922:1: rule__ComposedStructureAssembly__Group_6__1__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9051:1: rule__ComposedStructureAssembly__Group_6__1__Impl : ( '{' ) ;
     public final void rule__ComposedStructureAssembly__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7926:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7927:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9055:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9056:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7927:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7928:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9056:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9057:1: '{'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_6_1()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group_6__1__Impl15737); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__ComposedStructureAssembly__Group_6__1__Impl17959); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_6_1()); 
 
             }
@@ -20739,21 +23603,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7941:1: rule__ComposedStructureAssembly__Group_6__2 : rule__ComposedStructureAssembly__Group_6__2__Impl rule__ComposedStructureAssembly__Group_6__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9070:1: rule__ComposedStructureAssembly__Group_6__2 : rule__ComposedStructureAssembly__Group_6__2__Impl rule__ComposedStructureAssembly__Group_6__3 ;
     public final void rule__ComposedStructureAssembly__Group_6__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7945:1: ( rule__ComposedStructureAssembly__Group_6__2__Impl rule__ComposedStructureAssembly__Group_6__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7946:2: rule__ComposedStructureAssembly__Group_6__2__Impl rule__ComposedStructureAssembly__Group_6__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9074:1: ( rule__ComposedStructureAssembly__Group_6__2__Impl rule__ComposedStructureAssembly__Group_6__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9075:2: rule__ComposedStructureAssembly__Group_6__2__Impl rule__ComposedStructureAssembly__Group_6__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__2__Impl_in_rule__ComposedStructureAssembly__Group_6__215768);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__2__Impl_in_rule__ComposedStructureAssembly__Group_6__217990);
             rule__ComposedStructureAssembly__Group_6__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__3_in_rule__ComposedStructureAssembly__Group_6__215771);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__3_in_rule__ComposedStructureAssembly__Group_6__217993);
             rule__ComposedStructureAssembly__Group_6__3();
 
             state._fsp--;
@@ -20777,23 +23641,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7953:1: rule__ComposedStructureAssembly__Group_6__2__Impl : ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9082:1: rule__ComposedStructureAssembly__Group_6__2__Impl : ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 ) ) ;
     public final void rule__ComposedStructureAssembly__Group_6__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7957:1: ( ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7958:1: ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9086:1: ( ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9087:1: ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7958:1: ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7959:1: ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9087:1: ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9088:1: ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsAssignment_6_2()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7960:1: ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7960:2: rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9089:1: ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9089:2: rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2_in_rule__ComposedStructureAssembly__Group_6__2__Impl15798);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2_in_rule__ComposedStructureAssembly__Group_6__2__Impl18020);
             rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2();
 
             state._fsp--;
@@ -20824,21 +23688,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7970:1: rule__ComposedStructureAssembly__Group_6__3 : rule__ComposedStructureAssembly__Group_6__3__Impl rule__ComposedStructureAssembly__Group_6__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9099:1: rule__ComposedStructureAssembly__Group_6__3 : rule__ComposedStructureAssembly__Group_6__3__Impl rule__ComposedStructureAssembly__Group_6__4 ;
     public final void rule__ComposedStructureAssembly__Group_6__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7974:1: ( rule__ComposedStructureAssembly__Group_6__3__Impl rule__ComposedStructureAssembly__Group_6__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7975:2: rule__ComposedStructureAssembly__Group_6__3__Impl rule__ComposedStructureAssembly__Group_6__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9103:1: ( rule__ComposedStructureAssembly__Group_6__3__Impl rule__ComposedStructureAssembly__Group_6__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9104:2: rule__ComposedStructureAssembly__Group_6__3__Impl rule__ComposedStructureAssembly__Group_6__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__3__Impl_in_rule__ComposedStructureAssembly__Group_6__315828);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__3__Impl_in_rule__ComposedStructureAssembly__Group_6__318050);
             rule__ComposedStructureAssembly__Group_6__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__4_in_rule__ComposedStructureAssembly__Group_6__315831);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__4_in_rule__ComposedStructureAssembly__Group_6__318053);
             rule__ComposedStructureAssembly__Group_6__4();
 
             state._fsp--;
@@ -20862,35 +23726,35 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7982:1: rule__ComposedStructureAssembly__Group_6__3__Impl : ( ( rule__ComposedStructureAssembly__Group_6_3__0 )* ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9111:1: rule__ComposedStructureAssembly__Group_6__3__Impl : ( ( rule__ComposedStructureAssembly__Group_6_3__0 )* ) ;
     public final void rule__ComposedStructureAssembly__Group_6__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7986:1: ( ( ( rule__ComposedStructureAssembly__Group_6_3__0 )* ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7987:1: ( ( rule__ComposedStructureAssembly__Group_6_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9115:1: ( ( ( rule__ComposedStructureAssembly__Group_6_3__0 )* ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9116:1: ( ( rule__ComposedStructureAssembly__Group_6_3__0 )* )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7987:1: ( ( rule__ComposedStructureAssembly__Group_6_3__0 )* )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7988:1: ( rule__ComposedStructureAssembly__Group_6_3__0 )*
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9116:1: ( ( rule__ComposedStructureAssembly__Group_6_3__0 )* )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9117:1: ( rule__ComposedStructureAssembly__Group_6_3__0 )*
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getGroup_6_3()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7989:1: ( rule__ComposedStructureAssembly__Group_6_3__0 )*
-            loop55:
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9118:1: ( rule__ComposedStructureAssembly__Group_6_3__0 )*
+            loop61:
             do {
-                int alt55=2;
-                int LA55_0 = input.LA(1);
+                int alt61=2;
+                int LA61_0 = input.LA(1);
 
-                if ( (LA55_0==26) ) {
-                    alt55=1;
+                if ( (LA61_0==23) ) {
+                    alt61=1;
                 }
 
 
-                switch (alt55) {
+                switch (alt61) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7989:2: rule__ComposedStructureAssembly__Group_6_3__0
+            	    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9118:2: rule__ComposedStructureAssembly__Group_6_3__0
             	    {
-            	    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6_3__0_in_rule__ComposedStructureAssembly__Group_6__3__Impl15858);
+            	    pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6_3__0_in_rule__ComposedStructureAssembly__Group_6__3__Impl18080);
             	    rule__ComposedStructureAssembly__Group_6_3__0();
 
             	    state._fsp--;
@@ -20900,7 +23764,7 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
             	    break;
 
             	default :
-            	    break loop55;
+            	    break loop61;
                 }
             } while (true);
 
@@ -20927,16 +23791,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:7999:1: rule__ComposedStructureAssembly__Group_6__4 : rule__ComposedStructureAssembly__Group_6__4__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9128:1: rule__ComposedStructureAssembly__Group_6__4 : rule__ComposedStructureAssembly__Group_6__4__Impl ;
     public final void rule__ComposedStructureAssembly__Group_6__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8003:1: ( rule__ComposedStructureAssembly__Group_6__4__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8004:2: rule__ComposedStructureAssembly__Group_6__4__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9132:1: ( rule__ComposedStructureAssembly__Group_6__4__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9133:2: rule__ComposedStructureAssembly__Group_6__4__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__4__Impl_in_rule__ComposedStructureAssembly__Group_6__415889);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6__4__Impl_in_rule__ComposedStructureAssembly__Group_6__418111);
             rule__ComposedStructureAssembly__Group_6__4__Impl();
 
             state._fsp--;
@@ -20960,20 +23824,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8010:1: rule__ComposedStructureAssembly__Group_6__4__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9139:1: rule__ComposedStructureAssembly__Group_6__4__Impl : ( '}' ) ;
     public final void rule__ComposedStructureAssembly__Group_6__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8014:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8015:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9143:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9144:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8015:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8016:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9144:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9145:1: '}'
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_6_4()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group_6__4__Impl15917); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ComposedStructureAssembly__Group_6__4__Impl18139); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_6_4()); 
 
             }
@@ -20997,21 +23861,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6_3__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8039:1: rule__ComposedStructureAssembly__Group_6_3__0 : rule__ComposedStructureAssembly__Group_6_3__0__Impl rule__ComposedStructureAssembly__Group_6_3__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9168:1: rule__ComposedStructureAssembly__Group_6_3__0 : rule__ComposedStructureAssembly__Group_6_3__0__Impl rule__ComposedStructureAssembly__Group_6_3__1 ;
     public final void rule__ComposedStructureAssembly__Group_6_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8043:1: ( rule__ComposedStructureAssembly__Group_6_3__0__Impl rule__ComposedStructureAssembly__Group_6_3__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8044:2: rule__ComposedStructureAssembly__Group_6_3__0__Impl rule__ComposedStructureAssembly__Group_6_3__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9172:1: ( rule__ComposedStructureAssembly__Group_6_3__0__Impl rule__ComposedStructureAssembly__Group_6_3__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9173:2: rule__ComposedStructureAssembly__Group_6_3__0__Impl rule__ComposedStructureAssembly__Group_6_3__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6_3__0__Impl_in_rule__ComposedStructureAssembly__Group_6_3__015958);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6_3__0__Impl_in_rule__ComposedStructureAssembly__Group_6_3__018180);
             rule__ComposedStructureAssembly__Group_6_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6_3__1_in_rule__ComposedStructureAssembly__Group_6_3__015961);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6_3__1_in_rule__ComposedStructureAssembly__Group_6_3__018183);
             rule__ComposedStructureAssembly__Group_6_3__1();
 
             state._fsp--;
@@ -21035,20 +23899,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6_3__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8051:1: rule__ComposedStructureAssembly__Group_6_3__0__Impl : ( ',' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9180:1: rule__ComposedStructureAssembly__Group_6_3__0__Impl : ( ',' ) ;
     public final void rule__ComposedStructureAssembly__Group_6_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8055:1: ( ( ',' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8056:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9184:1: ( ( ',' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9185:1: ( ',' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8056:1: ( ',' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8057:1: ','
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9185:1: ( ',' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9186:1: ','
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_6_3_0()); 
-            match(input,26,FollowSets000.FOLLOW_26_in_rule__ComposedStructureAssembly__Group_6_3__0__Impl15989); 
+            match(input,23,FollowSets000.FOLLOW_23_in_rule__ComposedStructureAssembly__Group_6_3__0__Impl18211); 
              after(grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_6_3_0()); 
 
             }
@@ -21072,16 +23936,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6_3__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8070:1: rule__ComposedStructureAssembly__Group_6_3__1 : rule__ComposedStructureAssembly__Group_6_3__1__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9199:1: rule__ComposedStructureAssembly__Group_6_3__1 : rule__ComposedStructureAssembly__Group_6_3__1__Impl ;
     public final void rule__ComposedStructureAssembly__Group_6_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8074:1: ( rule__ComposedStructureAssembly__Group_6_3__1__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8075:2: rule__ComposedStructureAssembly__Group_6_3__1__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9203:1: ( rule__ComposedStructureAssembly__Group_6_3__1__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9204:2: rule__ComposedStructureAssembly__Group_6_3__1__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6_3__1__Impl_in_rule__ComposedStructureAssembly__Group_6_3__116020);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__Group_6_3__1__Impl_in_rule__ComposedStructureAssembly__Group_6_3__118242);
             rule__ComposedStructureAssembly__Group_6_3__1__Impl();
 
             state._fsp--;
@@ -21105,23 +23969,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__Group_6_3__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8081:1: rule__ComposedStructureAssembly__Group_6_3__1__Impl : ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9210:1: rule__ComposedStructureAssembly__Group_6_3__1__Impl : ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 ) ) ;
     public final void rule__ComposedStructureAssembly__Group_6_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8085:1: ( ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8086:1: ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9214:1: ( ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9215:1: ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8086:1: ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8087:1: ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9215:1: ( ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9216:1: ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 )
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsAssignment_6_3_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8088:1: ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8088:2: rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9217:1: ( rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9217:2: rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1_in_rule__ComposedStructureAssembly__Group_6_3__1__Impl16047);
+            pushFollow(FollowSets000.FOLLOW_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1_in_rule__ComposedStructureAssembly__Group_6_3__1__Impl18269);
             rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1();
 
             state._fsp--;
@@ -21152,21 +24016,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8102:1: rule__AssemblyContext__Group__0 : rule__AssemblyContext__Group__0__Impl rule__AssemblyContext__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9231:1: rule__AssemblyContext__Group__0 : rule__AssemblyContext__Group__0__Impl rule__AssemblyContext__Group__1 ;
     public final void rule__AssemblyContext__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8106:1: ( rule__AssemblyContext__Group__0__Impl rule__AssemblyContext__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8107:2: rule__AssemblyContext__Group__0__Impl rule__AssemblyContext__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9235:1: ( rule__AssemblyContext__Group__0__Impl rule__AssemblyContext__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9236:2: rule__AssemblyContext__Group__0__Impl rule__AssemblyContext__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__0__Impl_in_rule__AssemblyContext__Group__016081);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__0__Impl_in_rule__AssemblyContext__Group__018303);
             rule__AssemblyContext__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__1_in_rule__AssemblyContext__Group__016084);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__1_in_rule__AssemblyContext__Group__018306);
             rule__AssemblyContext__Group__1();
 
             state._fsp--;
@@ -21190,20 +24054,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8114:1: rule__AssemblyContext__Group__0__Impl : ( 'AssemblyContext' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9243:1: rule__AssemblyContext__Group__0__Impl : ( 'AssemblyContext' ) ;
     public final void rule__AssemblyContext__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8118:1: ( ( 'AssemblyContext' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8119:1: ( 'AssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9247:1: ( ( 'AssemblyContext' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9248:1: ( 'AssemblyContext' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8119:1: ( 'AssemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8120:1: 'AssemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9248:1: ( 'AssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9249:1: 'AssemblyContext'
             {
              before(grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0()); 
-            match(input,53,FollowSets000.FOLLOW_53_in_rule__AssemblyContext__Group__0__Impl16112); 
+            match(input,60,FollowSets000.FOLLOW_60_in_rule__AssemblyContext__Group__0__Impl18334); 
              after(grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0()); 
 
             }
@@ -21227,21 +24091,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8133:1: rule__AssemblyContext__Group__1 : rule__AssemblyContext__Group__1__Impl rule__AssemblyContext__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9262:1: rule__AssemblyContext__Group__1 : rule__AssemblyContext__Group__1__Impl rule__AssemblyContext__Group__2 ;
     public final void rule__AssemblyContext__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8137:1: ( rule__AssemblyContext__Group__1__Impl rule__AssemblyContext__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8138:2: rule__AssemblyContext__Group__1__Impl rule__AssemblyContext__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9266:1: ( rule__AssemblyContext__Group__1__Impl rule__AssemblyContext__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9267:2: rule__AssemblyContext__Group__1__Impl rule__AssemblyContext__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__1__Impl_in_rule__AssemblyContext__Group__116143);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__1__Impl_in_rule__AssemblyContext__Group__118365);
             rule__AssemblyContext__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__2_in_rule__AssemblyContext__Group__116146);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__2_in_rule__AssemblyContext__Group__118368);
             rule__AssemblyContext__Group__2();
 
             state._fsp--;
@@ -21265,23 +24129,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8145:1: rule__AssemblyContext__Group__1__Impl : ( ( rule__AssemblyContext__NameAssignment_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9274:1: rule__AssemblyContext__Group__1__Impl : ( ( rule__AssemblyContext__NameAssignment_1 ) ) ;
     public final void rule__AssemblyContext__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8149:1: ( ( ( rule__AssemblyContext__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8150:1: ( ( rule__AssemblyContext__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9278:1: ( ( ( rule__AssemblyContext__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9279:1: ( ( rule__AssemblyContext__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8150:1: ( ( rule__AssemblyContext__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8151:1: ( rule__AssemblyContext__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9279:1: ( ( rule__AssemblyContext__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9280:1: ( rule__AssemblyContext__NameAssignment_1 )
             {
              before(grammarAccess.getAssemblyContextAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8152:1: ( rule__AssemblyContext__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8152:2: rule__AssemblyContext__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9281:1: ( rule__AssemblyContext__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9281:2: rule__AssemblyContext__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__NameAssignment_1_in_rule__AssemblyContext__Group__1__Impl16173);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__NameAssignment_1_in_rule__AssemblyContext__Group__1__Impl18395);
             rule__AssemblyContext__NameAssignment_1();
 
             state._fsp--;
@@ -21312,21 +24176,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8162:1: rule__AssemblyContext__Group__2 : rule__AssemblyContext__Group__2__Impl rule__AssemblyContext__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9291:1: rule__AssemblyContext__Group__2 : rule__AssemblyContext__Group__2__Impl rule__AssemblyContext__Group__3 ;
     public final void rule__AssemblyContext__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8166:1: ( rule__AssemblyContext__Group__2__Impl rule__AssemblyContext__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8167:2: rule__AssemblyContext__Group__2__Impl rule__AssemblyContext__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9295:1: ( rule__AssemblyContext__Group__2__Impl rule__AssemblyContext__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9296:2: rule__AssemblyContext__Group__2__Impl rule__AssemblyContext__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__2__Impl_in_rule__AssemblyContext__Group__216203);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__2__Impl_in_rule__AssemblyContext__Group__218425);
             rule__AssemblyContext__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__3_in_rule__AssemblyContext__Group__216206);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__3_in_rule__AssemblyContext__Group__218428);
             rule__AssemblyContext__Group__3();
 
             state._fsp--;
@@ -21350,20 +24214,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8174:1: rule__AssemblyContext__Group__2__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9303:1: rule__AssemblyContext__Group__2__Impl : ( '{' ) ;
     public final void rule__AssemblyContext__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8178:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8179:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9307:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9308:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8179:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8180:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9308:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9309:1: '{'
             {
              before(grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AssemblyContext__Group__2__Impl16234); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__AssemblyContext__Group__2__Impl18456); 
              after(grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -21387,21 +24251,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8193:1: rule__AssemblyContext__Group__3 : rule__AssemblyContext__Group__3__Impl rule__AssemblyContext__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9322:1: rule__AssemblyContext__Group__3 : rule__AssemblyContext__Group__3__Impl rule__AssemblyContext__Group__4 ;
     public final void rule__AssemblyContext__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8197:1: ( rule__AssemblyContext__Group__3__Impl rule__AssemblyContext__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8198:2: rule__AssemblyContext__Group__3__Impl rule__AssemblyContext__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9326:1: ( rule__AssemblyContext__Group__3__Impl rule__AssemblyContext__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9327:2: rule__AssemblyContext__Group__3__Impl rule__AssemblyContext__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__3__Impl_in_rule__AssemblyContext__Group__316265);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__3__Impl_in_rule__AssemblyContext__Group__318487);
             rule__AssemblyContext__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__4_in_rule__AssemblyContext__Group__316268);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__4_in_rule__AssemblyContext__Group__318490);
             rule__AssemblyContext__Group__4();
 
             state._fsp--;
@@ -21425,20 +24289,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8205:1: rule__AssemblyContext__Group__3__Impl : ( 'encapsulatedComponent' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9334:1: rule__AssemblyContext__Group__3__Impl : ( 'encapsulatedComponent' ) ;
     public final void rule__AssemblyContext__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8209:1: ( ( 'encapsulatedComponent' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8210:1: ( 'encapsulatedComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9338:1: ( ( 'encapsulatedComponent' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9339:1: ( 'encapsulatedComponent' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8210:1: ( 'encapsulatedComponent' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8211:1: 'encapsulatedComponent'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9339:1: ( 'encapsulatedComponent' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9340:1: 'encapsulatedComponent'
             {
              before(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_3()); 
-            match(input,54,FollowSets000.FOLLOW_54_in_rule__AssemblyContext__Group__3__Impl16296); 
+            match(input,61,FollowSets000.FOLLOW_61_in_rule__AssemblyContext__Group__3__Impl18518); 
              after(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_3()); 
 
             }
@@ -21462,21 +24326,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8224:1: rule__AssemblyContext__Group__4 : rule__AssemblyContext__Group__4__Impl rule__AssemblyContext__Group__5 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9353:1: rule__AssemblyContext__Group__4 : rule__AssemblyContext__Group__4__Impl rule__AssemblyContext__Group__5 ;
     public final void rule__AssemblyContext__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8228:1: ( rule__AssemblyContext__Group__4__Impl rule__AssemblyContext__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8229:2: rule__AssemblyContext__Group__4__Impl rule__AssemblyContext__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9357:1: ( rule__AssemblyContext__Group__4__Impl rule__AssemblyContext__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9358:2: rule__AssemblyContext__Group__4__Impl rule__AssemblyContext__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__4__Impl_in_rule__AssemblyContext__Group__416327);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__4__Impl_in_rule__AssemblyContext__Group__418549);
             rule__AssemblyContext__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__5_in_rule__AssemblyContext__Group__416330);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__5_in_rule__AssemblyContext__Group__418552);
             rule__AssemblyContext__Group__5();
 
             state._fsp--;
@@ -21500,23 +24364,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8236:1: rule__AssemblyContext__Group__4__Impl : ( ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9365:1: rule__AssemblyContext__Group__4__Impl : ( ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 ) ) ;
     public final void rule__AssemblyContext__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8240:1: ( ( ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8241:1: ( ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9369:1: ( ( ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9370:1: ( ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8241:1: ( ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8242:1: ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9370:1: ( ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9371:1: ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 )
             {
              before(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentAssignment_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8243:1: ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8243:2: rule__AssemblyContext__EncapsulatedComponentAssignment_4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9372:1: ( rule__AssemblyContext__EncapsulatedComponentAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9372:2: rule__AssemblyContext__EncapsulatedComponentAssignment_4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__EncapsulatedComponentAssignment_4_in_rule__AssemblyContext__Group__4__Impl16357);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__EncapsulatedComponentAssignment_4_in_rule__AssemblyContext__Group__4__Impl18579);
             rule__AssemblyContext__EncapsulatedComponentAssignment_4();
 
             state._fsp--;
@@ -21547,16 +24411,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8253:1: rule__AssemblyContext__Group__5 : rule__AssemblyContext__Group__5__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9382:1: rule__AssemblyContext__Group__5 : rule__AssemblyContext__Group__5__Impl ;
     public final void rule__AssemblyContext__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8257:1: ( rule__AssemblyContext__Group__5__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8258:2: rule__AssemblyContext__Group__5__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9386:1: ( rule__AssemblyContext__Group__5__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9387:2: rule__AssemblyContext__Group__5__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__5__Impl_in_rule__AssemblyContext__Group__516387);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyContext__Group__5__Impl_in_rule__AssemblyContext__Group__518609);
             rule__AssemblyContext__Group__5__Impl();
 
             state._fsp--;
@@ -21580,20 +24444,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8264:1: rule__AssemblyContext__Group__5__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9393:1: rule__AssemblyContext__Group__5__Impl : ( '}' ) ;
     public final void rule__AssemblyContext__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8268:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8269:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9397:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9398:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8269:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8270:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9398:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9399:1: '}'
             {
              before(grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__AssemblyContext__Group__5__Impl16415); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AssemblyContext__Group__5__Impl18637); 
              after(grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_5()); 
 
             }
@@ -21617,21 +24481,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8295:1: rule__AssemblyConnector__Group__0 : rule__AssemblyConnector__Group__0__Impl rule__AssemblyConnector__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9424:1: rule__AssemblyConnector__Group__0 : rule__AssemblyConnector__Group__0__Impl rule__AssemblyConnector__Group__1 ;
     public final void rule__AssemblyConnector__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8299:1: ( rule__AssemblyConnector__Group__0__Impl rule__AssemblyConnector__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8300:2: rule__AssemblyConnector__Group__0__Impl rule__AssemblyConnector__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9428:1: ( rule__AssemblyConnector__Group__0__Impl rule__AssemblyConnector__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9429:2: rule__AssemblyConnector__Group__0__Impl rule__AssemblyConnector__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__0__Impl_in_rule__AssemblyConnector__Group__016458);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__0__Impl_in_rule__AssemblyConnector__Group__018680);
             rule__AssemblyConnector__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__1_in_rule__AssemblyConnector__Group__016461);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__1_in_rule__AssemblyConnector__Group__018683);
             rule__AssemblyConnector__Group__1();
 
             state._fsp--;
@@ -21655,20 +24519,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8307:1: rule__AssemblyConnector__Group__0__Impl : ( 'AssemblyConnector' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9436:1: rule__AssemblyConnector__Group__0__Impl : ( 'AssemblyConnector' ) ;
     public final void rule__AssemblyConnector__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8311:1: ( ( 'AssemblyConnector' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8312:1: ( 'AssemblyConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9440:1: ( ( 'AssemblyConnector' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9441:1: ( 'AssemblyConnector' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8312:1: ( 'AssemblyConnector' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8313:1: 'AssemblyConnector'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9441:1: ( 'AssemblyConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9442:1: 'AssemblyConnector'
             {
              before(grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0()); 
-            match(input,55,FollowSets000.FOLLOW_55_in_rule__AssemblyConnector__Group__0__Impl16489); 
+            match(input,62,FollowSets000.FOLLOW_62_in_rule__AssemblyConnector__Group__0__Impl18711); 
              after(grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0()); 
 
             }
@@ -21692,21 +24556,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8326:1: rule__AssemblyConnector__Group__1 : rule__AssemblyConnector__Group__1__Impl rule__AssemblyConnector__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9455:1: rule__AssemblyConnector__Group__1 : rule__AssemblyConnector__Group__1__Impl rule__AssemblyConnector__Group__2 ;
     public final void rule__AssemblyConnector__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8330:1: ( rule__AssemblyConnector__Group__1__Impl rule__AssemblyConnector__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8331:2: rule__AssemblyConnector__Group__1__Impl rule__AssemblyConnector__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9459:1: ( rule__AssemblyConnector__Group__1__Impl rule__AssemblyConnector__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9460:2: rule__AssemblyConnector__Group__1__Impl rule__AssemblyConnector__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__1__Impl_in_rule__AssemblyConnector__Group__116520);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__1__Impl_in_rule__AssemblyConnector__Group__118742);
             rule__AssemblyConnector__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__2_in_rule__AssemblyConnector__Group__116523);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__2_in_rule__AssemblyConnector__Group__118745);
             rule__AssemblyConnector__Group__2();
 
             state._fsp--;
@@ -21730,23 +24594,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8338:1: rule__AssemblyConnector__Group__1__Impl : ( ( rule__AssemblyConnector__NameAssignment_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9467:1: rule__AssemblyConnector__Group__1__Impl : ( ( rule__AssemblyConnector__NameAssignment_1 ) ) ;
     public final void rule__AssemblyConnector__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8342:1: ( ( ( rule__AssemblyConnector__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8343:1: ( ( rule__AssemblyConnector__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9471:1: ( ( ( rule__AssemblyConnector__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9472:1: ( ( rule__AssemblyConnector__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8343:1: ( ( rule__AssemblyConnector__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8344:1: ( rule__AssemblyConnector__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9472:1: ( ( rule__AssemblyConnector__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9473:1: ( rule__AssemblyConnector__NameAssignment_1 )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8345:1: ( rule__AssemblyConnector__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8345:2: rule__AssemblyConnector__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9474:1: ( rule__AssemblyConnector__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9474:2: rule__AssemblyConnector__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__NameAssignment_1_in_rule__AssemblyConnector__Group__1__Impl16550);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__NameAssignment_1_in_rule__AssemblyConnector__Group__1__Impl18772);
             rule__AssemblyConnector__NameAssignment_1();
 
             state._fsp--;
@@ -21777,21 +24641,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8355:1: rule__AssemblyConnector__Group__2 : rule__AssemblyConnector__Group__2__Impl rule__AssemblyConnector__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9484:1: rule__AssemblyConnector__Group__2 : rule__AssemblyConnector__Group__2__Impl rule__AssemblyConnector__Group__3 ;
     public final void rule__AssemblyConnector__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8359:1: ( rule__AssemblyConnector__Group__2__Impl rule__AssemblyConnector__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8360:2: rule__AssemblyConnector__Group__2__Impl rule__AssemblyConnector__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9488:1: ( rule__AssemblyConnector__Group__2__Impl rule__AssemblyConnector__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9489:2: rule__AssemblyConnector__Group__2__Impl rule__AssemblyConnector__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__2__Impl_in_rule__AssemblyConnector__Group__216580);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__2__Impl_in_rule__AssemblyConnector__Group__218802);
             rule__AssemblyConnector__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__3_in_rule__AssemblyConnector__Group__216583);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__3_in_rule__AssemblyConnector__Group__218805);
             rule__AssemblyConnector__Group__3();
 
             state._fsp--;
@@ -21815,20 +24679,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8367:1: rule__AssemblyConnector__Group__2__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9496:1: rule__AssemblyConnector__Group__2__Impl : ( '{' ) ;
     public final void rule__AssemblyConnector__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8371:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8372:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9500:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9501:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8372:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8373:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9501:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9502:1: '{'
             {
              before(grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__AssemblyConnector__Group__2__Impl16611); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__AssemblyConnector__Group__2__Impl18833); 
              after(grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -21852,21 +24716,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8386:1: rule__AssemblyConnector__Group__3 : rule__AssemblyConnector__Group__3__Impl rule__AssemblyConnector__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9515:1: rule__AssemblyConnector__Group__3 : rule__AssemblyConnector__Group__3__Impl rule__AssemblyConnector__Group__4 ;
     public final void rule__AssemblyConnector__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8390:1: ( rule__AssemblyConnector__Group__3__Impl rule__AssemblyConnector__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8391:2: rule__AssemblyConnector__Group__3__Impl rule__AssemblyConnector__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9519:1: ( rule__AssemblyConnector__Group__3__Impl rule__AssemblyConnector__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9520:2: rule__AssemblyConnector__Group__3__Impl rule__AssemblyConnector__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__3__Impl_in_rule__AssemblyConnector__Group__316642);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__3__Impl_in_rule__AssemblyConnector__Group__318864);
             rule__AssemblyConnector__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__4_in_rule__AssemblyConnector__Group__316645);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__4_in_rule__AssemblyConnector__Group__318867);
             rule__AssemblyConnector__Group__4();
 
             state._fsp--;
@@ -21890,20 +24754,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8398:1: rule__AssemblyConnector__Group__3__Impl : ( 'requiredRole' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9527:1: rule__AssemblyConnector__Group__3__Impl : ( 'requiredRole' ) ;
     public final void rule__AssemblyConnector__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8402:1: ( ( 'requiredRole' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8403:1: ( 'requiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9531:1: ( ( 'requiredRole' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9532:1: ( 'requiredRole' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8403:1: ( 'requiredRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8404:1: 'requiredRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9532:1: ( 'requiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9533:1: 'requiredRole'
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_3()); 
-            match(input,56,FollowSets000.FOLLOW_56_in_rule__AssemblyConnector__Group__3__Impl16673); 
+            match(input,63,FollowSets000.FOLLOW_63_in_rule__AssemblyConnector__Group__3__Impl18895); 
              after(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_3()); 
 
             }
@@ -21927,21 +24791,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8417:1: rule__AssemblyConnector__Group__4 : rule__AssemblyConnector__Group__4__Impl rule__AssemblyConnector__Group__5 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9546:1: rule__AssemblyConnector__Group__4 : rule__AssemblyConnector__Group__4__Impl rule__AssemblyConnector__Group__5 ;
     public final void rule__AssemblyConnector__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8421:1: ( rule__AssemblyConnector__Group__4__Impl rule__AssemblyConnector__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8422:2: rule__AssemblyConnector__Group__4__Impl rule__AssemblyConnector__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9550:1: ( rule__AssemblyConnector__Group__4__Impl rule__AssemblyConnector__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9551:2: rule__AssemblyConnector__Group__4__Impl rule__AssemblyConnector__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__4__Impl_in_rule__AssemblyConnector__Group__416704);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__4__Impl_in_rule__AssemblyConnector__Group__418926);
             rule__AssemblyConnector__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__5_in_rule__AssemblyConnector__Group__416707);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__5_in_rule__AssemblyConnector__Group__418929);
             rule__AssemblyConnector__Group__5();
 
             state._fsp--;
@@ -21965,23 +24829,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8429:1: rule__AssemblyConnector__Group__4__Impl : ( ( rule__AssemblyConnector__RequiredRoleAssignment_4 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9558:1: rule__AssemblyConnector__Group__4__Impl : ( ( rule__AssemblyConnector__RequiredRoleAssignment_4 ) ) ;
     public final void rule__AssemblyConnector__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8433:1: ( ( ( rule__AssemblyConnector__RequiredRoleAssignment_4 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8434:1: ( ( rule__AssemblyConnector__RequiredRoleAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9562:1: ( ( ( rule__AssemblyConnector__RequiredRoleAssignment_4 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9563:1: ( ( rule__AssemblyConnector__RequiredRoleAssignment_4 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8434:1: ( ( rule__AssemblyConnector__RequiredRoleAssignment_4 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8435:1: ( rule__AssemblyConnector__RequiredRoleAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9563:1: ( ( rule__AssemblyConnector__RequiredRoleAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9564:1: ( rule__AssemblyConnector__RequiredRoleAssignment_4 )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleAssignment_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8436:1: ( rule__AssemblyConnector__RequiredRoleAssignment_4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8436:2: rule__AssemblyConnector__RequiredRoleAssignment_4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9565:1: ( rule__AssemblyConnector__RequiredRoleAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9565:2: rule__AssemblyConnector__RequiredRoleAssignment_4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__RequiredRoleAssignment_4_in_rule__AssemblyConnector__Group__4__Impl16734);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__RequiredRoleAssignment_4_in_rule__AssemblyConnector__Group__4__Impl18956);
             rule__AssemblyConnector__RequiredRoleAssignment_4();
 
             state._fsp--;
@@ -22012,21 +24876,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8446:1: rule__AssemblyConnector__Group__5 : rule__AssemblyConnector__Group__5__Impl rule__AssemblyConnector__Group__6 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9575:1: rule__AssemblyConnector__Group__5 : rule__AssemblyConnector__Group__5__Impl rule__AssemblyConnector__Group__6 ;
     public final void rule__AssemblyConnector__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8450:1: ( rule__AssemblyConnector__Group__5__Impl rule__AssemblyConnector__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8451:2: rule__AssemblyConnector__Group__5__Impl rule__AssemblyConnector__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9579:1: ( rule__AssemblyConnector__Group__5__Impl rule__AssemblyConnector__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9580:2: rule__AssemblyConnector__Group__5__Impl rule__AssemblyConnector__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__5__Impl_in_rule__AssemblyConnector__Group__516764);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__5__Impl_in_rule__AssemblyConnector__Group__518986);
             rule__AssemblyConnector__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__6_in_rule__AssemblyConnector__Group__516767);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__6_in_rule__AssemblyConnector__Group__518989);
             rule__AssemblyConnector__Group__6();
 
             state._fsp--;
@@ -22050,20 +24914,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8458:1: rule__AssemblyConnector__Group__5__Impl : ( 'providedRole' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9587:1: rule__AssemblyConnector__Group__5__Impl : ( 'providedRole' ) ;
     public final void rule__AssemblyConnector__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8462:1: ( ( 'providedRole' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8463:1: ( 'providedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9591:1: ( ( 'providedRole' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9592:1: ( 'providedRole' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8463:1: ( 'providedRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8464:1: 'providedRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9592:1: ( 'providedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9593:1: 'providedRole'
             {
              before(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_5()); 
-            match(input,57,FollowSets000.FOLLOW_57_in_rule__AssemblyConnector__Group__5__Impl16795); 
+            match(input,64,FollowSets000.FOLLOW_64_in_rule__AssemblyConnector__Group__5__Impl19017); 
              after(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_5()); 
 
             }
@@ -22087,21 +24951,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8477:1: rule__AssemblyConnector__Group__6 : rule__AssemblyConnector__Group__6__Impl rule__AssemblyConnector__Group__7 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9606:1: rule__AssemblyConnector__Group__6 : rule__AssemblyConnector__Group__6__Impl rule__AssemblyConnector__Group__7 ;
     public final void rule__AssemblyConnector__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8481:1: ( rule__AssemblyConnector__Group__6__Impl rule__AssemblyConnector__Group__7 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8482:2: rule__AssemblyConnector__Group__6__Impl rule__AssemblyConnector__Group__7
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9610:1: ( rule__AssemblyConnector__Group__6__Impl rule__AssemblyConnector__Group__7 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9611:2: rule__AssemblyConnector__Group__6__Impl rule__AssemblyConnector__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__6__Impl_in_rule__AssemblyConnector__Group__616826);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__6__Impl_in_rule__AssemblyConnector__Group__619048);
             rule__AssemblyConnector__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__7_in_rule__AssemblyConnector__Group__616829);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__7_in_rule__AssemblyConnector__Group__619051);
             rule__AssemblyConnector__Group__7();
 
             state._fsp--;
@@ -22125,23 +24989,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8489:1: rule__AssemblyConnector__Group__6__Impl : ( ( rule__AssemblyConnector__ProvidedRoleAssignment_6 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9618:1: rule__AssemblyConnector__Group__6__Impl : ( ( rule__AssemblyConnector__ProvidedRoleAssignment_6 ) ) ;
     public final void rule__AssemblyConnector__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8493:1: ( ( ( rule__AssemblyConnector__ProvidedRoleAssignment_6 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8494:1: ( ( rule__AssemblyConnector__ProvidedRoleAssignment_6 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9622:1: ( ( ( rule__AssemblyConnector__ProvidedRoleAssignment_6 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9623:1: ( ( rule__AssemblyConnector__ProvidedRoleAssignment_6 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8494:1: ( ( rule__AssemblyConnector__ProvidedRoleAssignment_6 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8495:1: ( rule__AssemblyConnector__ProvidedRoleAssignment_6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9623:1: ( ( rule__AssemblyConnector__ProvidedRoleAssignment_6 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9624:1: ( rule__AssemblyConnector__ProvidedRoleAssignment_6 )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleAssignment_6()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8496:1: ( rule__AssemblyConnector__ProvidedRoleAssignment_6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8496:2: rule__AssemblyConnector__ProvidedRoleAssignment_6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9625:1: ( rule__AssemblyConnector__ProvidedRoleAssignment_6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9625:2: rule__AssemblyConnector__ProvidedRoleAssignment_6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__ProvidedRoleAssignment_6_in_rule__AssemblyConnector__Group__6__Impl16856);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__ProvidedRoleAssignment_6_in_rule__AssemblyConnector__Group__6__Impl19078);
             rule__AssemblyConnector__ProvidedRoleAssignment_6();
 
             state._fsp--;
@@ -22172,21 +25036,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__7"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8506:1: rule__AssemblyConnector__Group__7 : rule__AssemblyConnector__Group__7__Impl rule__AssemblyConnector__Group__8 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9635:1: rule__AssemblyConnector__Group__7 : rule__AssemblyConnector__Group__7__Impl rule__AssemblyConnector__Group__8 ;
     public final void rule__AssemblyConnector__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8510:1: ( rule__AssemblyConnector__Group__7__Impl rule__AssemblyConnector__Group__8 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8511:2: rule__AssemblyConnector__Group__7__Impl rule__AssemblyConnector__Group__8
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9639:1: ( rule__AssemblyConnector__Group__7__Impl rule__AssemblyConnector__Group__8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9640:2: rule__AssemblyConnector__Group__7__Impl rule__AssemblyConnector__Group__8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__7__Impl_in_rule__AssemblyConnector__Group__716886);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__7__Impl_in_rule__AssemblyConnector__Group__719108);
             rule__AssemblyConnector__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__8_in_rule__AssemblyConnector__Group__716889);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__8_in_rule__AssemblyConnector__Group__719111);
             rule__AssemblyConnector__Group__8();
 
             state._fsp--;
@@ -22210,20 +25074,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__7__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8518:1: rule__AssemblyConnector__Group__7__Impl : ( 'providingAssemblyContext' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9647:1: rule__AssemblyConnector__Group__7__Impl : ( 'providingAssemblyContext' ) ;
     public final void rule__AssemblyConnector__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8522:1: ( ( 'providingAssemblyContext' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8523:1: ( 'providingAssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9651:1: ( ( 'providingAssemblyContext' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9652:1: ( 'providingAssemblyContext' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8523:1: ( 'providingAssemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8524:1: 'providingAssemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9652:1: ( 'providingAssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9653:1: 'providingAssemblyContext'
             {
              before(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_7()); 
-            match(input,58,FollowSets000.FOLLOW_58_in_rule__AssemblyConnector__Group__7__Impl16917); 
+            match(input,65,FollowSets000.FOLLOW_65_in_rule__AssemblyConnector__Group__7__Impl19139); 
              after(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_7()); 
 
             }
@@ -22247,21 +25111,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__8"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8537:1: rule__AssemblyConnector__Group__8 : rule__AssemblyConnector__Group__8__Impl rule__AssemblyConnector__Group__9 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9666:1: rule__AssemblyConnector__Group__8 : rule__AssemblyConnector__Group__8__Impl rule__AssemblyConnector__Group__9 ;
     public final void rule__AssemblyConnector__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8541:1: ( rule__AssemblyConnector__Group__8__Impl rule__AssemblyConnector__Group__9 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8542:2: rule__AssemblyConnector__Group__8__Impl rule__AssemblyConnector__Group__9
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9670:1: ( rule__AssemblyConnector__Group__8__Impl rule__AssemblyConnector__Group__9 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9671:2: rule__AssemblyConnector__Group__8__Impl rule__AssemblyConnector__Group__9
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__8__Impl_in_rule__AssemblyConnector__Group__816948);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__8__Impl_in_rule__AssemblyConnector__Group__819170);
             rule__AssemblyConnector__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__9_in_rule__AssemblyConnector__Group__816951);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__9_in_rule__AssemblyConnector__Group__819173);
             rule__AssemblyConnector__Group__9();
 
             state._fsp--;
@@ -22285,23 +25149,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__8__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8549:1: rule__AssemblyConnector__Group__8__Impl : ( ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9678:1: rule__AssemblyConnector__Group__8__Impl : ( ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 ) ) ;
     public final void rule__AssemblyConnector__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8553:1: ( ( ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8554:1: ( ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9682:1: ( ( ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9683:1: ( ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8554:1: ( ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8555:1: ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9683:1: ( ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9684:1: ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssignment_8()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8556:1: ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8556:2: rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9685:1: ( rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9685:2: rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8_in_rule__AssemblyConnector__Group__8__Impl16978);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8_in_rule__AssemblyConnector__Group__8__Impl19200);
             rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8();
 
             state._fsp--;
@@ -22332,21 +25196,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__9"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8566:1: rule__AssemblyConnector__Group__9 : rule__AssemblyConnector__Group__9__Impl rule__AssemblyConnector__Group__10 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9695:1: rule__AssemblyConnector__Group__9 : rule__AssemblyConnector__Group__9__Impl rule__AssemblyConnector__Group__10 ;
     public final void rule__AssemblyConnector__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8570:1: ( rule__AssemblyConnector__Group__9__Impl rule__AssemblyConnector__Group__10 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8571:2: rule__AssemblyConnector__Group__9__Impl rule__AssemblyConnector__Group__10
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9699:1: ( rule__AssemblyConnector__Group__9__Impl rule__AssemblyConnector__Group__10 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9700:2: rule__AssemblyConnector__Group__9__Impl rule__AssemblyConnector__Group__10
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__9__Impl_in_rule__AssemblyConnector__Group__917008);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__9__Impl_in_rule__AssemblyConnector__Group__919230);
             rule__AssemblyConnector__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__10_in_rule__AssemblyConnector__Group__917011);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__10_in_rule__AssemblyConnector__Group__919233);
             rule__AssemblyConnector__Group__10();
 
             state._fsp--;
@@ -22370,20 +25234,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__9__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8578:1: rule__AssemblyConnector__Group__9__Impl : ( 'requiringAssemblyContext' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9707:1: rule__AssemblyConnector__Group__9__Impl : ( 'requiringAssemblyContext' ) ;
     public final void rule__AssemblyConnector__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8582:1: ( ( 'requiringAssemblyContext' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8583:1: ( 'requiringAssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9711:1: ( ( 'requiringAssemblyContext' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9712:1: ( 'requiringAssemblyContext' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8583:1: ( 'requiringAssemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8584:1: 'requiringAssemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9712:1: ( 'requiringAssemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9713:1: 'requiringAssemblyContext'
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_9()); 
-            match(input,59,FollowSets000.FOLLOW_59_in_rule__AssemblyConnector__Group__9__Impl17039); 
+            match(input,66,FollowSets000.FOLLOW_66_in_rule__AssemblyConnector__Group__9__Impl19261); 
              after(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_9()); 
 
             }
@@ -22407,21 +25271,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__10"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8597:1: rule__AssemblyConnector__Group__10 : rule__AssemblyConnector__Group__10__Impl rule__AssemblyConnector__Group__11 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9726:1: rule__AssemblyConnector__Group__10 : rule__AssemblyConnector__Group__10__Impl rule__AssemblyConnector__Group__11 ;
     public final void rule__AssemblyConnector__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8601:1: ( rule__AssemblyConnector__Group__10__Impl rule__AssemblyConnector__Group__11 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8602:2: rule__AssemblyConnector__Group__10__Impl rule__AssemblyConnector__Group__11
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9730:1: ( rule__AssemblyConnector__Group__10__Impl rule__AssemblyConnector__Group__11 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9731:2: rule__AssemblyConnector__Group__10__Impl rule__AssemblyConnector__Group__11
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__10__Impl_in_rule__AssemblyConnector__Group__1017070);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__10__Impl_in_rule__AssemblyConnector__Group__1019292);
             rule__AssemblyConnector__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__11_in_rule__AssemblyConnector__Group__1017073);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__11_in_rule__AssemblyConnector__Group__1019295);
             rule__AssemblyConnector__Group__11();
 
             state._fsp--;
@@ -22445,23 +25309,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__10__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8609:1: rule__AssemblyConnector__Group__10__Impl : ( ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9738:1: rule__AssemblyConnector__Group__10__Impl : ( ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 ) ) ;
     public final void rule__AssemblyConnector__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8613:1: ( ( ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8614:1: ( ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9742:1: ( ( ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9743:1: ( ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8614:1: ( ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8615:1: ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9743:1: ( ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9744:1: ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssignment_10()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8616:1: ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8616:2: rule__AssemblyConnector__RequiringAssemblyContextAssignment_10
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9745:1: ( rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9745:2: rule__AssemblyConnector__RequiringAssemblyContextAssignment_10
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__RequiringAssemblyContextAssignment_10_in_rule__AssemblyConnector__Group__10__Impl17100);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__RequiringAssemblyContextAssignment_10_in_rule__AssemblyConnector__Group__10__Impl19322);
             rule__AssemblyConnector__RequiringAssemblyContextAssignment_10();
 
             state._fsp--;
@@ -22492,16 +25356,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__11"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8626:1: rule__AssemblyConnector__Group__11 : rule__AssemblyConnector__Group__11__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9755:1: rule__AssemblyConnector__Group__11 : rule__AssemblyConnector__Group__11__Impl ;
     public final void rule__AssemblyConnector__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8630:1: ( rule__AssemblyConnector__Group__11__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8631:2: rule__AssemblyConnector__Group__11__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9759:1: ( rule__AssemblyConnector__Group__11__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9760:2: rule__AssemblyConnector__Group__11__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__11__Impl_in_rule__AssemblyConnector__Group__1117130);
+            pushFollow(FollowSets000.FOLLOW_rule__AssemblyConnector__Group__11__Impl_in_rule__AssemblyConnector__Group__1119352);
             rule__AssemblyConnector__Group__11__Impl();
 
             state._fsp--;
@@ -22525,20 +25389,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__Group__11__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8637:1: rule__AssemblyConnector__Group__11__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9766:1: rule__AssemblyConnector__Group__11__Impl : ( '}' ) ;
     public final void rule__AssemblyConnector__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8641:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8642:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9770:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9771:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8642:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8643:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9771:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9772:1: '}'
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__AssemblyConnector__Group__11__Impl17158); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__AssemblyConnector__Group__11__Impl19380); 
              after(grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_11()); 
 
             }
@@ -22562,21 +25426,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8680:1: rule__ProvidedDelegationConnector__Group__0 : rule__ProvidedDelegationConnector__Group__0__Impl rule__ProvidedDelegationConnector__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9809:1: rule__ProvidedDelegationConnector__Group__0 : rule__ProvidedDelegationConnector__Group__0__Impl rule__ProvidedDelegationConnector__Group__1 ;
     public final void rule__ProvidedDelegationConnector__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8684:1: ( rule__ProvidedDelegationConnector__Group__0__Impl rule__ProvidedDelegationConnector__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8685:2: rule__ProvidedDelegationConnector__Group__0__Impl rule__ProvidedDelegationConnector__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9813:1: ( rule__ProvidedDelegationConnector__Group__0__Impl rule__ProvidedDelegationConnector__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9814:2: rule__ProvidedDelegationConnector__Group__0__Impl rule__ProvidedDelegationConnector__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__0__Impl_in_rule__ProvidedDelegationConnector__Group__017213);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__0__Impl_in_rule__ProvidedDelegationConnector__Group__019435);
             rule__ProvidedDelegationConnector__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__1_in_rule__ProvidedDelegationConnector__Group__017216);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__1_in_rule__ProvidedDelegationConnector__Group__019438);
             rule__ProvidedDelegationConnector__Group__1();
 
             state._fsp--;
@@ -22600,20 +25464,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8692:1: rule__ProvidedDelegationConnector__Group__0__Impl : ( 'ProvidedDelegationConnector' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9821:1: rule__ProvidedDelegationConnector__Group__0__Impl : ( 'ProvidedDelegationConnector' ) ;
     public final void rule__ProvidedDelegationConnector__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8696:1: ( ( 'ProvidedDelegationConnector' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8697:1: ( 'ProvidedDelegationConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9825:1: ( ( 'ProvidedDelegationConnector' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9826:1: ( 'ProvidedDelegationConnector' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8697:1: ( 'ProvidedDelegationConnector' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8698:1: 'ProvidedDelegationConnector'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9826:1: ( 'ProvidedDelegationConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9827:1: 'ProvidedDelegationConnector'
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0()); 
-            match(input,60,FollowSets000.FOLLOW_60_in_rule__ProvidedDelegationConnector__Group__0__Impl17244); 
+            match(input,67,FollowSets000.FOLLOW_67_in_rule__ProvidedDelegationConnector__Group__0__Impl19466); 
              after(grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0()); 
 
             }
@@ -22637,21 +25501,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8711:1: rule__ProvidedDelegationConnector__Group__1 : rule__ProvidedDelegationConnector__Group__1__Impl rule__ProvidedDelegationConnector__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9840:1: rule__ProvidedDelegationConnector__Group__1 : rule__ProvidedDelegationConnector__Group__1__Impl rule__ProvidedDelegationConnector__Group__2 ;
     public final void rule__ProvidedDelegationConnector__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8715:1: ( rule__ProvidedDelegationConnector__Group__1__Impl rule__ProvidedDelegationConnector__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8716:2: rule__ProvidedDelegationConnector__Group__1__Impl rule__ProvidedDelegationConnector__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9844:1: ( rule__ProvidedDelegationConnector__Group__1__Impl rule__ProvidedDelegationConnector__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9845:2: rule__ProvidedDelegationConnector__Group__1__Impl rule__ProvidedDelegationConnector__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__1__Impl_in_rule__ProvidedDelegationConnector__Group__117275);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__1__Impl_in_rule__ProvidedDelegationConnector__Group__119497);
             rule__ProvidedDelegationConnector__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__2_in_rule__ProvidedDelegationConnector__Group__117278);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__2_in_rule__ProvidedDelegationConnector__Group__119500);
             rule__ProvidedDelegationConnector__Group__2();
 
             state._fsp--;
@@ -22675,23 +25539,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8723:1: rule__ProvidedDelegationConnector__Group__1__Impl : ( ( rule__ProvidedDelegationConnector__NameAssignment_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9852:1: rule__ProvidedDelegationConnector__Group__1__Impl : ( ( rule__ProvidedDelegationConnector__NameAssignment_1 ) ) ;
     public final void rule__ProvidedDelegationConnector__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8727:1: ( ( ( rule__ProvidedDelegationConnector__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8728:1: ( ( rule__ProvidedDelegationConnector__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9856:1: ( ( ( rule__ProvidedDelegationConnector__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9857:1: ( ( rule__ProvidedDelegationConnector__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8728:1: ( ( rule__ProvidedDelegationConnector__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8729:1: ( rule__ProvidedDelegationConnector__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9857:1: ( ( rule__ProvidedDelegationConnector__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9858:1: ( rule__ProvidedDelegationConnector__NameAssignment_1 )
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8730:1: ( rule__ProvidedDelegationConnector__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8730:2: rule__ProvidedDelegationConnector__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9859:1: ( rule__ProvidedDelegationConnector__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9859:2: rule__ProvidedDelegationConnector__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__NameAssignment_1_in_rule__ProvidedDelegationConnector__Group__1__Impl17305);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__NameAssignment_1_in_rule__ProvidedDelegationConnector__Group__1__Impl19527);
             rule__ProvidedDelegationConnector__NameAssignment_1();
 
             state._fsp--;
@@ -22722,21 +25586,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8740:1: rule__ProvidedDelegationConnector__Group__2 : rule__ProvidedDelegationConnector__Group__2__Impl rule__ProvidedDelegationConnector__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9869:1: rule__ProvidedDelegationConnector__Group__2 : rule__ProvidedDelegationConnector__Group__2__Impl rule__ProvidedDelegationConnector__Group__3 ;
     public final void rule__ProvidedDelegationConnector__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8744:1: ( rule__ProvidedDelegationConnector__Group__2__Impl rule__ProvidedDelegationConnector__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8745:2: rule__ProvidedDelegationConnector__Group__2__Impl rule__ProvidedDelegationConnector__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9873:1: ( rule__ProvidedDelegationConnector__Group__2__Impl rule__ProvidedDelegationConnector__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9874:2: rule__ProvidedDelegationConnector__Group__2__Impl rule__ProvidedDelegationConnector__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__2__Impl_in_rule__ProvidedDelegationConnector__Group__217335);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__2__Impl_in_rule__ProvidedDelegationConnector__Group__219557);
             rule__ProvidedDelegationConnector__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__3_in_rule__ProvidedDelegationConnector__Group__217338);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__3_in_rule__ProvidedDelegationConnector__Group__219560);
             rule__ProvidedDelegationConnector__Group__3();
 
             state._fsp--;
@@ -22760,20 +25624,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8752:1: rule__ProvidedDelegationConnector__Group__2__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9881:1: rule__ProvidedDelegationConnector__Group__2__Impl : ( '{' ) ;
     public final void rule__ProvidedDelegationConnector__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8756:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8757:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9885:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9886:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8757:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8758:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9886:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9887:1: '{'
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__ProvidedDelegationConnector__Group__2__Impl17366); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__ProvidedDelegationConnector__Group__2__Impl19588); 
              after(grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -22797,21 +25661,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8771:1: rule__ProvidedDelegationConnector__Group__3 : rule__ProvidedDelegationConnector__Group__3__Impl rule__ProvidedDelegationConnector__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9900:1: rule__ProvidedDelegationConnector__Group__3 : rule__ProvidedDelegationConnector__Group__3__Impl rule__ProvidedDelegationConnector__Group__4 ;
     public final void rule__ProvidedDelegationConnector__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8775:1: ( rule__ProvidedDelegationConnector__Group__3__Impl rule__ProvidedDelegationConnector__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8776:2: rule__ProvidedDelegationConnector__Group__3__Impl rule__ProvidedDelegationConnector__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9904:1: ( rule__ProvidedDelegationConnector__Group__3__Impl rule__ProvidedDelegationConnector__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9905:2: rule__ProvidedDelegationConnector__Group__3__Impl rule__ProvidedDelegationConnector__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__3__Impl_in_rule__ProvidedDelegationConnector__Group__317397);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__3__Impl_in_rule__ProvidedDelegationConnector__Group__319619);
             rule__ProvidedDelegationConnector__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__4_in_rule__ProvidedDelegationConnector__Group__317400);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__4_in_rule__ProvidedDelegationConnector__Group__319622);
             rule__ProvidedDelegationConnector__Group__4();
 
             state._fsp--;
@@ -22835,20 +25699,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8783:1: rule__ProvidedDelegationConnector__Group__3__Impl : ( 'assemblyContext' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9912:1: rule__ProvidedDelegationConnector__Group__3__Impl : ( 'assemblyContext' ) ;
     public final void rule__ProvidedDelegationConnector__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8787:1: ( ( 'assemblyContext' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8788:1: ( 'assemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9916:1: ( ( 'assemblyContext' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9917:1: ( 'assemblyContext' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8788:1: ( 'assemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8789:1: 'assemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9917:1: ( 'assemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9918:1: 'assemblyContext'
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_3()); 
-            match(input,61,FollowSets000.FOLLOW_61_in_rule__ProvidedDelegationConnector__Group__3__Impl17428); 
+            match(input,68,FollowSets000.FOLLOW_68_in_rule__ProvidedDelegationConnector__Group__3__Impl19650); 
              after(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_3()); 
 
             }
@@ -22872,21 +25736,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8802:1: rule__ProvidedDelegationConnector__Group__4 : rule__ProvidedDelegationConnector__Group__4__Impl rule__ProvidedDelegationConnector__Group__5 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9931:1: rule__ProvidedDelegationConnector__Group__4 : rule__ProvidedDelegationConnector__Group__4__Impl rule__ProvidedDelegationConnector__Group__5 ;
     public final void rule__ProvidedDelegationConnector__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8806:1: ( rule__ProvidedDelegationConnector__Group__4__Impl rule__ProvidedDelegationConnector__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8807:2: rule__ProvidedDelegationConnector__Group__4__Impl rule__ProvidedDelegationConnector__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9935:1: ( rule__ProvidedDelegationConnector__Group__4__Impl rule__ProvidedDelegationConnector__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9936:2: rule__ProvidedDelegationConnector__Group__4__Impl rule__ProvidedDelegationConnector__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__4__Impl_in_rule__ProvidedDelegationConnector__Group__417459);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__4__Impl_in_rule__ProvidedDelegationConnector__Group__419681);
             rule__ProvidedDelegationConnector__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__5_in_rule__ProvidedDelegationConnector__Group__417462);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__5_in_rule__ProvidedDelegationConnector__Group__419684);
             rule__ProvidedDelegationConnector__Group__5();
 
             state._fsp--;
@@ -22910,23 +25774,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8814:1: rule__ProvidedDelegationConnector__Group__4__Impl : ( ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9943:1: rule__ProvidedDelegationConnector__Group__4__Impl : ( ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 ) ) ;
     public final void rule__ProvidedDelegationConnector__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8818:1: ( ( ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8819:1: ( ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9947:1: ( ( ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9948:1: ( ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8819:1: ( ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8820:1: ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9948:1: ( ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9949:1: ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 )
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssignment_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8821:1: ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8821:2: rule__ProvidedDelegationConnector__AssemblyContextAssignment_4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9950:1: ( rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9950:2: rule__ProvidedDelegationConnector__AssemblyContextAssignment_4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__AssemblyContextAssignment_4_in_rule__ProvidedDelegationConnector__Group__4__Impl17489);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__AssemblyContextAssignment_4_in_rule__ProvidedDelegationConnector__Group__4__Impl19711);
             rule__ProvidedDelegationConnector__AssemblyContextAssignment_4();
 
             state._fsp--;
@@ -22957,21 +25821,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8831:1: rule__ProvidedDelegationConnector__Group__5 : rule__ProvidedDelegationConnector__Group__5__Impl rule__ProvidedDelegationConnector__Group__6 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9960:1: rule__ProvidedDelegationConnector__Group__5 : rule__ProvidedDelegationConnector__Group__5__Impl rule__ProvidedDelegationConnector__Group__6 ;
     public final void rule__ProvidedDelegationConnector__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8835:1: ( rule__ProvidedDelegationConnector__Group__5__Impl rule__ProvidedDelegationConnector__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8836:2: rule__ProvidedDelegationConnector__Group__5__Impl rule__ProvidedDelegationConnector__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9964:1: ( rule__ProvidedDelegationConnector__Group__5__Impl rule__ProvidedDelegationConnector__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9965:2: rule__ProvidedDelegationConnector__Group__5__Impl rule__ProvidedDelegationConnector__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__5__Impl_in_rule__ProvidedDelegationConnector__Group__517519);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__5__Impl_in_rule__ProvidedDelegationConnector__Group__519741);
             rule__ProvidedDelegationConnector__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__6_in_rule__ProvidedDelegationConnector__Group__517522);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__6_in_rule__ProvidedDelegationConnector__Group__519744);
             rule__ProvidedDelegationConnector__Group__6();
 
             state._fsp--;
@@ -22995,20 +25859,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8843:1: rule__ProvidedDelegationConnector__Group__5__Impl : ( 'innerProvidedRole' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9972:1: rule__ProvidedDelegationConnector__Group__5__Impl : ( 'innerProvidedRole' ) ;
     public final void rule__ProvidedDelegationConnector__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8847:1: ( ( 'innerProvidedRole' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8848:1: ( 'innerProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9976:1: ( ( 'innerProvidedRole' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9977:1: ( 'innerProvidedRole' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8848:1: ( 'innerProvidedRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8849:1: 'innerProvidedRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9977:1: ( 'innerProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9978:1: 'innerProvidedRole'
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_5()); 
-            match(input,62,FollowSets000.FOLLOW_62_in_rule__ProvidedDelegationConnector__Group__5__Impl17550); 
+            match(input,69,FollowSets000.FOLLOW_69_in_rule__ProvidedDelegationConnector__Group__5__Impl19772); 
              after(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_5()); 
 
             }
@@ -23032,21 +25896,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8862:1: rule__ProvidedDelegationConnector__Group__6 : rule__ProvidedDelegationConnector__Group__6__Impl rule__ProvidedDelegationConnector__Group__7 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9991:1: rule__ProvidedDelegationConnector__Group__6 : rule__ProvidedDelegationConnector__Group__6__Impl rule__ProvidedDelegationConnector__Group__7 ;
     public final void rule__ProvidedDelegationConnector__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8866:1: ( rule__ProvidedDelegationConnector__Group__6__Impl rule__ProvidedDelegationConnector__Group__7 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8867:2: rule__ProvidedDelegationConnector__Group__6__Impl rule__ProvidedDelegationConnector__Group__7
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9995:1: ( rule__ProvidedDelegationConnector__Group__6__Impl rule__ProvidedDelegationConnector__Group__7 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9996:2: rule__ProvidedDelegationConnector__Group__6__Impl rule__ProvidedDelegationConnector__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__6__Impl_in_rule__ProvidedDelegationConnector__Group__617581);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__6__Impl_in_rule__ProvidedDelegationConnector__Group__619803);
             rule__ProvidedDelegationConnector__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__7_in_rule__ProvidedDelegationConnector__Group__617584);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__7_in_rule__ProvidedDelegationConnector__Group__619806);
             rule__ProvidedDelegationConnector__Group__7();
 
             state._fsp--;
@@ -23070,23 +25934,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8874:1: rule__ProvidedDelegationConnector__Group__6__Impl : ( ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10003:1: rule__ProvidedDelegationConnector__Group__6__Impl : ( ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 ) ) ;
     public final void rule__ProvidedDelegationConnector__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8878:1: ( ( ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8879:1: ( ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10007:1: ( ( ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10008:1: ( ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8879:1: ( ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8880:1: ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10008:1: ( ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10009:1: ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 )
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleAssignment_6()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8881:1: ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8881:2: rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10010:1: ( rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10010:2: rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6_in_rule__ProvidedDelegationConnector__Group__6__Impl17611);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6_in_rule__ProvidedDelegationConnector__Group__6__Impl19833);
             rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6();
 
             state._fsp--;
@@ -23117,21 +25981,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__7"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8891:1: rule__ProvidedDelegationConnector__Group__7 : rule__ProvidedDelegationConnector__Group__7__Impl rule__ProvidedDelegationConnector__Group__8 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10020:1: rule__ProvidedDelegationConnector__Group__7 : rule__ProvidedDelegationConnector__Group__7__Impl rule__ProvidedDelegationConnector__Group__8 ;
     public final void rule__ProvidedDelegationConnector__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8895:1: ( rule__ProvidedDelegationConnector__Group__7__Impl rule__ProvidedDelegationConnector__Group__8 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8896:2: rule__ProvidedDelegationConnector__Group__7__Impl rule__ProvidedDelegationConnector__Group__8
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10024:1: ( rule__ProvidedDelegationConnector__Group__7__Impl rule__ProvidedDelegationConnector__Group__8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10025:2: rule__ProvidedDelegationConnector__Group__7__Impl rule__ProvidedDelegationConnector__Group__8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__7__Impl_in_rule__ProvidedDelegationConnector__Group__717641);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__7__Impl_in_rule__ProvidedDelegationConnector__Group__719863);
             rule__ProvidedDelegationConnector__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__8_in_rule__ProvidedDelegationConnector__Group__717644);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__8_in_rule__ProvidedDelegationConnector__Group__719866);
             rule__ProvidedDelegationConnector__Group__8();
 
             state._fsp--;
@@ -23155,20 +26019,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__7__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8903:1: rule__ProvidedDelegationConnector__Group__7__Impl : ( 'outerProvidedRole' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10032:1: rule__ProvidedDelegationConnector__Group__7__Impl : ( 'outerProvidedRole' ) ;
     public final void rule__ProvidedDelegationConnector__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8907:1: ( ( 'outerProvidedRole' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8908:1: ( 'outerProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10036:1: ( ( 'outerProvidedRole' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10037:1: ( 'outerProvidedRole' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8908:1: ( 'outerProvidedRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8909:1: 'outerProvidedRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10037:1: ( 'outerProvidedRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10038:1: 'outerProvidedRole'
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_7()); 
-            match(input,63,FollowSets000.FOLLOW_63_in_rule__ProvidedDelegationConnector__Group__7__Impl17672); 
+            match(input,70,FollowSets000.FOLLOW_70_in_rule__ProvidedDelegationConnector__Group__7__Impl19894); 
              after(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_7()); 
 
             }
@@ -23192,21 +26056,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__8"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8922:1: rule__ProvidedDelegationConnector__Group__8 : rule__ProvidedDelegationConnector__Group__8__Impl rule__ProvidedDelegationConnector__Group__9 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10051:1: rule__ProvidedDelegationConnector__Group__8 : rule__ProvidedDelegationConnector__Group__8__Impl rule__ProvidedDelegationConnector__Group__9 ;
     public final void rule__ProvidedDelegationConnector__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8926:1: ( rule__ProvidedDelegationConnector__Group__8__Impl rule__ProvidedDelegationConnector__Group__9 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8927:2: rule__ProvidedDelegationConnector__Group__8__Impl rule__ProvidedDelegationConnector__Group__9
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10055:1: ( rule__ProvidedDelegationConnector__Group__8__Impl rule__ProvidedDelegationConnector__Group__9 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10056:2: rule__ProvidedDelegationConnector__Group__8__Impl rule__ProvidedDelegationConnector__Group__9
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__8__Impl_in_rule__ProvidedDelegationConnector__Group__817703);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__8__Impl_in_rule__ProvidedDelegationConnector__Group__819925);
             rule__ProvidedDelegationConnector__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__9_in_rule__ProvidedDelegationConnector__Group__817706);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__9_in_rule__ProvidedDelegationConnector__Group__819928);
             rule__ProvidedDelegationConnector__Group__9();
 
             state._fsp--;
@@ -23230,23 +26094,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__8__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8934:1: rule__ProvidedDelegationConnector__Group__8__Impl : ( ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10063:1: rule__ProvidedDelegationConnector__Group__8__Impl : ( ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 ) ) ;
     public final void rule__ProvidedDelegationConnector__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8938:1: ( ( ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8939:1: ( ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10067:1: ( ( ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10068:1: ( ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8939:1: ( ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8940:1: ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10068:1: ( ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10069:1: ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 )
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleAssignment_8()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8941:1: ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8941:2: rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10070:1: ( rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10070:2: rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8_in_rule__ProvidedDelegationConnector__Group__8__Impl17733);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8_in_rule__ProvidedDelegationConnector__Group__8__Impl19955);
             rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8();
 
             state._fsp--;
@@ -23277,16 +26141,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__9"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8951:1: rule__ProvidedDelegationConnector__Group__9 : rule__ProvidedDelegationConnector__Group__9__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10080:1: rule__ProvidedDelegationConnector__Group__9 : rule__ProvidedDelegationConnector__Group__9__Impl ;
     public final void rule__ProvidedDelegationConnector__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8955:1: ( rule__ProvidedDelegationConnector__Group__9__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8956:2: rule__ProvidedDelegationConnector__Group__9__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10084:1: ( rule__ProvidedDelegationConnector__Group__9__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10085:2: rule__ProvidedDelegationConnector__Group__9__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__9__Impl_in_rule__ProvidedDelegationConnector__Group__917763);
+            pushFollow(FollowSets000.FOLLOW_rule__ProvidedDelegationConnector__Group__9__Impl_in_rule__ProvidedDelegationConnector__Group__919985);
             rule__ProvidedDelegationConnector__Group__9__Impl();
 
             state._fsp--;
@@ -23310,20 +26174,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__Group__9__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8962:1: rule__ProvidedDelegationConnector__Group__9__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10091:1: rule__ProvidedDelegationConnector__Group__9__Impl : ( '}' ) ;
     public final void rule__ProvidedDelegationConnector__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8966:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8967:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10095:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10096:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8967:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:8968:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10096:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10097:1: '}'
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__ProvidedDelegationConnector__Group__9__Impl17791); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__ProvidedDelegationConnector__Group__9__Impl20013); 
              after(grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_9()); 
 
             }
@@ -23347,21 +26211,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9001:1: rule__RequiredDelegationConnector__Group__0 : rule__RequiredDelegationConnector__Group__0__Impl rule__RequiredDelegationConnector__Group__1 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10130:1: rule__RequiredDelegationConnector__Group__0 : rule__RequiredDelegationConnector__Group__0__Impl rule__RequiredDelegationConnector__Group__1 ;
     public final void rule__RequiredDelegationConnector__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9005:1: ( rule__RequiredDelegationConnector__Group__0__Impl rule__RequiredDelegationConnector__Group__1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9006:2: rule__RequiredDelegationConnector__Group__0__Impl rule__RequiredDelegationConnector__Group__1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10134:1: ( rule__RequiredDelegationConnector__Group__0__Impl rule__RequiredDelegationConnector__Group__1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10135:2: rule__RequiredDelegationConnector__Group__0__Impl rule__RequiredDelegationConnector__Group__1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__0__Impl_in_rule__RequiredDelegationConnector__Group__017842);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__0__Impl_in_rule__RequiredDelegationConnector__Group__020064);
             rule__RequiredDelegationConnector__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__1_in_rule__RequiredDelegationConnector__Group__017845);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__1_in_rule__RequiredDelegationConnector__Group__020067);
             rule__RequiredDelegationConnector__Group__1();
 
             state._fsp--;
@@ -23385,20 +26249,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__0__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9013:1: rule__RequiredDelegationConnector__Group__0__Impl : ( 'RequiredDelegationConnector' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10142:1: rule__RequiredDelegationConnector__Group__0__Impl : ( 'RequiredDelegationConnector' ) ;
     public final void rule__RequiredDelegationConnector__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9017:1: ( ( 'RequiredDelegationConnector' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9018:1: ( 'RequiredDelegationConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10146:1: ( ( 'RequiredDelegationConnector' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10147:1: ( 'RequiredDelegationConnector' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9018:1: ( 'RequiredDelegationConnector' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9019:1: 'RequiredDelegationConnector'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10147:1: ( 'RequiredDelegationConnector' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10148:1: 'RequiredDelegationConnector'
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0()); 
-            match(input,64,FollowSets000.FOLLOW_64_in_rule__RequiredDelegationConnector__Group__0__Impl17873); 
+            match(input,71,FollowSets000.FOLLOW_71_in_rule__RequiredDelegationConnector__Group__0__Impl20095); 
              after(grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0()); 
 
             }
@@ -23422,21 +26286,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9032:1: rule__RequiredDelegationConnector__Group__1 : rule__RequiredDelegationConnector__Group__1__Impl rule__RequiredDelegationConnector__Group__2 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10161:1: rule__RequiredDelegationConnector__Group__1 : rule__RequiredDelegationConnector__Group__1__Impl rule__RequiredDelegationConnector__Group__2 ;
     public final void rule__RequiredDelegationConnector__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9036:1: ( rule__RequiredDelegationConnector__Group__1__Impl rule__RequiredDelegationConnector__Group__2 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9037:2: rule__RequiredDelegationConnector__Group__1__Impl rule__RequiredDelegationConnector__Group__2
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10165:1: ( rule__RequiredDelegationConnector__Group__1__Impl rule__RequiredDelegationConnector__Group__2 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10166:2: rule__RequiredDelegationConnector__Group__1__Impl rule__RequiredDelegationConnector__Group__2
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__1__Impl_in_rule__RequiredDelegationConnector__Group__117904);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__1__Impl_in_rule__RequiredDelegationConnector__Group__120126);
             rule__RequiredDelegationConnector__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__2_in_rule__RequiredDelegationConnector__Group__117907);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__2_in_rule__RequiredDelegationConnector__Group__120129);
             rule__RequiredDelegationConnector__Group__2();
 
             state._fsp--;
@@ -23460,23 +26324,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__1__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9044:1: rule__RequiredDelegationConnector__Group__1__Impl : ( ( rule__RequiredDelegationConnector__NameAssignment_1 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10173:1: rule__RequiredDelegationConnector__Group__1__Impl : ( ( rule__RequiredDelegationConnector__NameAssignment_1 ) ) ;
     public final void rule__RequiredDelegationConnector__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9048:1: ( ( ( rule__RequiredDelegationConnector__NameAssignment_1 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9049:1: ( ( rule__RequiredDelegationConnector__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10177:1: ( ( ( rule__RequiredDelegationConnector__NameAssignment_1 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10178:1: ( ( rule__RequiredDelegationConnector__NameAssignment_1 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9049:1: ( ( rule__RequiredDelegationConnector__NameAssignment_1 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9050:1: ( rule__RequiredDelegationConnector__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10178:1: ( ( rule__RequiredDelegationConnector__NameAssignment_1 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10179:1: ( rule__RequiredDelegationConnector__NameAssignment_1 )
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getNameAssignment_1()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9051:1: ( rule__RequiredDelegationConnector__NameAssignment_1 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9051:2: rule__RequiredDelegationConnector__NameAssignment_1
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10180:1: ( rule__RequiredDelegationConnector__NameAssignment_1 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10180:2: rule__RequiredDelegationConnector__NameAssignment_1
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__NameAssignment_1_in_rule__RequiredDelegationConnector__Group__1__Impl17934);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__NameAssignment_1_in_rule__RequiredDelegationConnector__Group__1__Impl20156);
             rule__RequiredDelegationConnector__NameAssignment_1();
 
             state._fsp--;
@@ -23507,21 +26371,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9061:1: rule__RequiredDelegationConnector__Group__2 : rule__RequiredDelegationConnector__Group__2__Impl rule__RequiredDelegationConnector__Group__3 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10190:1: rule__RequiredDelegationConnector__Group__2 : rule__RequiredDelegationConnector__Group__2__Impl rule__RequiredDelegationConnector__Group__3 ;
     public final void rule__RequiredDelegationConnector__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9065:1: ( rule__RequiredDelegationConnector__Group__2__Impl rule__RequiredDelegationConnector__Group__3 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9066:2: rule__RequiredDelegationConnector__Group__2__Impl rule__RequiredDelegationConnector__Group__3
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10194:1: ( rule__RequiredDelegationConnector__Group__2__Impl rule__RequiredDelegationConnector__Group__3 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10195:2: rule__RequiredDelegationConnector__Group__2__Impl rule__RequiredDelegationConnector__Group__3
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__2__Impl_in_rule__RequiredDelegationConnector__Group__217964);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__2__Impl_in_rule__RequiredDelegationConnector__Group__220186);
             rule__RequiredDelegationConnector__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__3_in_rule__RequiredDelegationConnector__Group__217967);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__3_in_rule__RequiredDelegationConnector__Group__220189);
             rule__RequiredDelegationConnector__Group__3();
 
             state._fsp--;
@@ -23545,20 +26409,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__2__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9073:1: rule__RequiredDelegationConnector__Group__2__Impl : ( '{' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10202:1: rule__RequiredDelegationConnector__Group__2__Impl : ( '{' ) ;
     public final void rule__RequiredDelegationConnector__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9077:1: ( ( '{' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9078:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10206:1: ( ( '{' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10207:1: ( '{' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9078:1: ( '{' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9079:1: '{'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10207:1: ( '{' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10208:1: '{'
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,20,FollowSets000.FOLLOW_20_in_rule__RequiredDelegationConnector__Group__2__Impl17995); 
+            match(input,20,FollowSets000.FOLLOW_20_in_rule__RequiredDelegationConnector__Group__2__Impl20217); 
              after(grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -23582,21 +26446,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9092:1: rule__RequiredDelegationConnector__Group__3 : rule__RequiredDelegationConnector__Group__3__Impl rule__RequiredDelegationConnector__Group__4 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10221:1: rule__RequiredDelegationConnector__Group__3 : rule__RequiredDelegationConnector__Group__3__Impl rule__RequiredDelegationConnector__Group__4 ;
     public final void rule__RequiredDelegationConnector__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9096:1: ( rule__RequiredDelegationConnector__Group__3__Impl rule__RequiredDelegationConnector__Group__4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9097:2: rule__RequiredDelegationConnector__Group__3__Impl rule__RequiredDelegationConnector__Group__4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10225:1: ( rule__RequiredDelegationConnector__Group__3__Impl rule__RequiredDelegationConnector__Group__4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10226:2: rule__RequiredDelegationConnector__Group__3__Impl rule__RequiredDelegationConnector__Group__4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__3__Impl_in_rule__RequiredDelegationConnector__Group__318026);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__3__Impl_in_rule__RequiredDelegationConnector__Group__320248);
             rule__RequiredDelegationConnector__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__4_in_rule__RequiredDelegationConnector__Group__318029);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__4_in_rule__RequiredDelegationConnector__Group__320251);
             rule__RequiredDelegationConnector__Group__4();
 
             state._fsp--;
@@ -23620,20 +26484,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__3__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9104:1: rule__RequiredDelegationConnector__Group__3__Impl : ( 'assemblyContext' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10233:1: rule__RequiredDelegationConnector__Group__3__Impl : ( 'assemblyContext' ) ;
     public final void rule__RequiredDelegationConnector__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9108:1: ( ( 'assemblyContext' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9109:1: ( 'assemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10237:1: ( ( 'assemblyContext' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10238:1: ( 'assemblyContext' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9109:1: ( 'assemblyContext' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9110:1: 'assemblyContext'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10238:1: ( 'assemblyContext' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10239:1: 'assemblyContext'
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_3()); 
-            match(input,61,FollowSets000.FOLLOW_61_in_rule__RequiredDelegationConnector__Group__3__Impl18057); 
+            match(input,68,FollowSets000.FOLLOW_68_in_rule__RequiredDelegationConnector__Group__3__Impl20279); 
              after(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_3()); 
 
             }
@@ -23657,21 +26521,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9123:1: rule__RequiredDelegationConnector__Group__4 : rule__RequiredDelegationConnector__Group__4__Impl rule__RequiredDelegationConnector__Group__5 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10252:1: rule__RequiredDelegationConnector__Group__4 : rule__RequiredDelegationConnector__Group__4__Impl rule__RequiredDelegationConnector__Group__5 ;
     public final void rule__RequiredDelegationConnector__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9127:1: ( rule__RequiredDelegationConnector__Group__4__Impl rule__RequiredDelegationConnector__Group__5 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9128:2: rule__RequiredDelegationConnector__Group__4__Impl rule__RequiredDelegationConnector__Group__5
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10256:1: ( rule__RequiredDelegationConnector__Group__4__Impl rule__RequiredDelegationConnector__Group__5 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10257:2: rule__RequiredDelegationConnector__Group__4__Impl rule__RequiredDelegationConnector__Group__5
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__4__Impl_in_rule__RequiredDelegationConnector__Group__418088);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__4__Impl_in_rule__RequiredDelegationConnector__Group__420310);
             rule__RequiredDelegationConnector__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__5_in_rule__RequiredDelegationConnector__Group__418091);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__5_in_rule__RequiredDelegationConnector__Group__420313);
             rule__RequiredDelegationConnector__Group__5();
 
             state._fsp--;
@@ -23695,23 +26559,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__4__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9135:1: rule__RequiredDelegationConnector__Group__4__Impl : ( ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10264:1: rule__RequiredDelegationConnector__Group__4__Impl : ( ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 ) ) ;
     public final void rule__RequiredDelegationConnector__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9139:1: ( ( ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9140:1: ( ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10268:1: ( ( ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10269:1: ( ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9140:1: ( ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9141:1: ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10269:1: ( ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10270:1: ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 )
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssignment_4()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9142:1: ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9142:2: rule__RequiredDelegationConnector__AssemblyContextAssignment_4
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10271:1: ( rule__RequiredDelegationConnector__AssemblyContextAssignment_4 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10271:2: rule__RequiredDelegationConnector__AssemblyContextAssignment_4
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__AssemblyContextAssignment_4_in_rule__RequiredDelegationConnector__Group__4__Impl18118);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__AssemblyContextAssignment_4_in_rule__RequiredDelegationConnector__Group__4__Impl20340);
             rule__RequiredDelegationConnector__AssemblyContextAssignment_4();
 
             state._fsp--;
@@ -23742,21 +26606,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9152:1: rule__RequiredDelegationConnector__Group__5 : rule__RequiredDelegationConnector__Group__5__Impl rule__RequiredDelegationConnector__Group__6 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10281:1: rule__RequiredDelegationConnector__Group__5 : rule__RequiredDelegationConnector__Group__5__Impl rule__RequiredDelegationConnector__Group__6 ;
     public final void rule__RequiredDelegationConnector__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9156:1: ( rule__RequiredDelegationConnector__Group__5__Impl rule__RequiredDelegationConnector__Group__6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9157:2: rule__RequiredDelegationConnector__Group__5__Impl rule__RequiredDelegationConnector__Group__6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10285:1: ( rule__RequiredDelegationConnector__Group__5__Impl rule__RequiredDelegationConnector__Group__6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10286:2: rule__RequiredDelegationConnector__Group__5__Impl rule__RequiredDelegationConnector__Group__6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__5__Impl_in_rule__RequiredDelegationConnector__Group__518148);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__5__Impl_in_rule__RequiredDelegationConnector__Group__520370);
             rule__RequiredDelegationConnector__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__6_in_rule__RequiredDelegationConnector__Group__518151);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__6_in_rule__RequiredDelegationConnector__Group__520373);
             rule__RequiredDelegationConnector__Group__6();
 
             state._fsp--;
@@ -23780,20 +26644,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__5__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9164:1: rule__RequiredDelegationConnector__Group__5__Impl : ( 'innerRequiredRole' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10293:1: rule__RequiredDelegationConnector__Group__5__Impl : ( 'innerRequiredRole' ) ;
     public final void rule__RequiredDelegationConnector__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9168:1: ( ( 'innerRequiredRole' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9169:1: ( 'innerRequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10297:1: ( ( 'innerRequiredRole' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10298:1: ( 'innerRequiredRole' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9169:1: ( 'innerRequiredRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9170:1: 'innerRequiredRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10298:1: ( 'innerRequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10299:1: 'innerRequiredRole'
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_5()); 
-            match(input,65,FollowSets000.FOLLOW_65_in_rule__RequiredDelegationConnector__Group__5__Impl18179); 
+            match(input,72,FollowSets000.FOLLOW_72_in_rule__RequiredDelegationConnector__Group__5__Impl20401); 
              after(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_5()); 
 
             }
@@ -23817,21 +26681,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9183:1: rule__RequiredDelegationConnector__Group__6 : rule__RequiredDelegationConnector__Group__6__Impl rule__RequiredDelegationConnector__Group__7 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10312:1: rule__RequiredDelegationConnector__Group__6 : rule__RequiredDelegationConnector__Group__6__Impl rule__RequiredDelegationConnector__Group__7 ;
     public final void rule__RequiredDelegationConnector__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9187:1: ( rule__RequiredDelegationConnector__Group__6__Impl rule__RequiredDelegationConnector__Group__7 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9188:2: rule__RequiredDelegationConnector__Group__6__Impl rule__RequiredDelegationConnector__Group__7
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10316:1: ( rule__RequiredDelegationConnector__Group__6__Impl rule__RequiredDelegationConnector__Group__7 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10317:2: rule__RequiredDelegationConnector__Group__6__Impl rule__RequiredDelegationConnector__Group__7
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__6__Impl_in_rule__RequiredDelegationConnector__Group__618210);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__6__Impl_in_rule__RequiredDelegationConnector__Group__620432);
             rule__RequiredDelegationConnector__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__7_in_rule__RequiredDelegationConnector__Group__618213);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__7_in_rule__RequiredDelegationConnector__Group__620435);
             rule__RequiredDelegationConnector__Group__7();
 
             state._fsp--;
@@ -23855,23 +26719,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__6__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9195:1: rule__RequiredDelegationConnector__Group__6__Impl : ( ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10324:1: rule__RequiredDelegationConnector__Group__6__Impl : ( ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 ) ) ;
     public final void rule__RequiredDelegationConnector__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9199:1: ( ( ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9200:1: ( ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10328:1: ( ( ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10329:1: ( ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9200:1: ( ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9201:1: ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10329:1: ( ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10330:1: ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 )
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleAssignment_6()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9202:1: ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9202:2: rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10331:1: ( rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10331:2: rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6_in_rule__RequiredDelegationConnector__Group__6__Impl18240);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6_in_rule__RequiredDelegationConnector__Group__6__Impl20462);
             rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6();
 
             state._fsp--;
@@ -23902,21 +26766,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__7"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9212:1: rule__RequiredDelegationConnector__Group__7 : rule__RequiredDelegationConnector__Group__7__Impl rule__RequiredDelegationConnector__Group__8 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10341:1: rule__RequiredDelegationConnector__Group__7 : rule__RequiredDelegationConnector__Group__7__Impl rule__RequiredDelegationConnector__Group__8 ;
     public final void rule__RequiredDelegationConnector__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9216:1: ( rule__RequiredDelegationConnector__Group__7__Impl rule__RequiredDelegationConnector__Group__8 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9217:2: rule__RequiredDelegationConnector__Group__7__Impl rule__RequiredDelegationConnector__Group__8
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10345:1: ( rule__RequiredDelegationConnector__Group__7__Impl rule__RequiredDelegationConnector__Group__8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10346:2: rule__RequiredDelegationConnector__Group__7__Impl rule__RequiredDelegationConnector__Group__8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__7__Impl_in_rule__RequiredDelegationConnector__Group__718270);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__7__Impl_in_rule__RequiredDelegationConnector__Group__720492);
             rule__RequiredDelegationConnector__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__8_in_rule__RequiredDelegationConnector__Group__718273);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__8_in_rule__RequiredDelegationConnector__Group__720495);
             rule__RequiredDelegationConnector__Group__8();
 
             state._fsp--;
@@ -23940,20 +26804,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__7__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9224:1: rule__RequiredDelegationConnector__Group__7__Impl : ( 'outerRequiredRole' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10353:1: rule__RequiredDelegationConnector__Group__7__Impl : ( 'outerRequiredRole' ) ;
     public final void rule__RequiredDelegationConnector__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9228:1: ( ( 'outerRequiredRole' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9229:1: ( 'outerRequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10357:1: ( ( 'outerRequiredRole' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10358:1: ( 'outerRequiredRole' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9229:1: ( 'outerRequiredRole' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9230:1: 'outerRequiredRole'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10358:1: ( 'outerRequiredRole' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10359:1: 'outerRequiredRole'
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_7()); 
-            match(input,66,FollowSets000.FOLLOW_66_in_rule__RequiredDelegationConnector__Group__7__Impl18301); 
+            match(input,73,FollowSets000.FOLLOW_73_in_rule__RequiredDelegationConnector__Group__7__Impl20523); 
              after(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_7()); 
 
             }
@@ -23977,21 +26841,21 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__8"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9243:1: rule__RequiredDelegationConnector__Group__8 : rule__RequiredDelegationConnector__Group__8__Impl rule__RequiredDelegationConnector__Group__9 ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10372:1: rule__RequiredDelegationConnector__Group__8 : rule__RequiredDelegationConnector__Group__8__Impl rule__RequiredDelegationConnector__Group__9 ;
     public final void rule__RequiredDelegationConnector__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9247:1: ( rule__RequiredDelegationConnector__Group__8__Impl rule__RequiredDelegationConnector__Group__9 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9248:2: rule__RequiredDelegationConnector__Group__8__Impl rule__RequiredDelegationConnector__Group__9
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10376:1: ( rule__RequiredDelegationConnector__Group__8__Impl rule__RequiredDelegationConnector__Group__9 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10377:2: rule__RequiredDelegationConnector__Group__8__Impl rule__RequiredDelegationConnector__Group__9
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__8__Impl_in_rule__RequiredDelegationConnector__Group__818332);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__8__Impl_in_rule__RequiredDelegationConnector__Group__820554);
             rule__RequiredDelegationConnector__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__9_in_rule__RequiredDelegationConnector__Group__818335);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__9_in_rule__RequiredDelegationConnector__Group__820557);
             rule__RequiredDelegationConnector__Group__9();
 
             state._fsp--;
@@ -24015,23 +26879,23 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__8__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9255:1: rule__RequiredDelegationConnector__Group__8__Impl : ( ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10384:1: rule__RequiredDelegationConnector__Group__8__Impl : ( ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 ) ) ;
     public final void rule__RequiredDelegationConnector__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9259:1: ( ( ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9260:1: ( ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10388:1: ( ( ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10389:1: ( ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9260:1: ( ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9261:1: ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10389:1: ( ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10390:1: ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 )
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleAssignment_8()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9262:1: ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9262:2: rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10391:1: ( rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10391:2: rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8_in_rule__RequiredDelegationConnector__Group__8__Impl18362);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8_in_rule__RequiredDelegationConnector__Group__8__Impl20584);
             rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8();
 
             state._fsp--;
@@ -24062,16 +26926,16 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__9"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9272:1: rule__RequiredDelegationConnector__Group__9 : rule__RequiredDelegationConnector__Group__9__Impl ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10401:1: rule__RequiredDelegationConnector__Group__9 : rule__RequiredDelegationConnector__Group__9__Impl ;
     public final void rule__RequiredDelegationConnector__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9276:1: ( rule__RequiredDelegationConnector__Group__9__Impl )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9277:2: rule__RequiredDelegationConnector__Group__9__Impl
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10405:1: ( rule__RequiredDelegationConnector__Group__9__Impl )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10406:2: rule__RequiredDelegationConnector__Group__9__Impl
             {
-            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__9__Impl_in_rule__RequiredDelegationConnector__Group__918392);
+            pushFollow(FollowSets000.FOLLOW_rule__RequiredDelegationConnector__Group__9__Impl_in_rule__RequiredDelegationConnector__Group__920614);
             rule__RequiredDelegationConnector__Group__9__Impl();
 
             state._fsp--;
@@ -24095,20 +26959,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__Group__9__Impl"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9283:1: rule__RequiredDelegationConnector__Group__9__Impl : ( '}' ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10412:1: rule__RequiredDelegationConnector__Group__9__Impl : ( '}' ) ;
     public final void rule__RequiredDelegationConnector__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9287:1: ( ( '}' ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9288:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10416:1: ( ( '}' ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10417:1: ( '}' )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9288:1: ( '}' )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9289:1: '}'
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10417:1: ( '}' )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10418:1: '}'
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,21,FollowSets000.FOLLOW_21_in_rule__RequiredDelegationConnector__Group__9__Impl18420); 
+            match(input,21,FollowSets000.FOLLOW_21_in_rule__RequiredDelegationConnector__Group__9__Impl20642); 
              after(grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_9()); 
 
             }
@@ -24132,25 +26996,25 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Repository__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9323:1: rule__Repository__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10452:1: rule__Repository__NameAssignment_1 : ( ruleQualifiedName ) ;
     public final void rule__Repository__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9327:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9328:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10456:1: ( ( ruleQualifiedName ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10457:1: ( ruleQualifiedName )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9328:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9329:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10457:1: ( ruleQualifiedName )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10458:1: ruleQualifiedName
             {
-             before(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Repository__NameAssignment_118476);
-            ruleEString();
+             before(grammarAccess.getRepositoryAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_rule__Repository__NameAssignment_120698);
+            ruleQualifiedName();
 
             state._fsp--;
 
-             after(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_1_0()); 
+             after(grammarAccess.getRepositoryAccess().getNameQualifiedNameParserRuleCall_1_0()); 
 
             }
 
@@ -24172,26 +27036,108 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
     // $ANTLR end "rule__Repository__NameAssignment_1"
 
 
-    // $ANTLR start "rule__Repository__DatatypesAssignment_3_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9338:1: rule__Repository__DatatypesAssignment_3_0 : ( ruleDataType ) ;
-    public final void rule__Repository__DatatypesAssignment_3_0() throws RecognitionException {
+    // $ANTLR start "rule__Repository__ImportsAssignment_3_2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10467:1: rule__Repository__ImportsAssignment_3_2 : ( ruleImport ) ;
+    public final void rule__Repository__ImportsAssignment_3_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10471:1: ( ( ruleImport ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10472:1: ( ruleImport )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10472:1: ( ruleImport )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10473:1: ruleImport
+            {
+             before(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleImport_in_rule__Repository__ImportsAssignment_3_220729);
+            ruleImport();
+
+            state._fsp--;
+
+             after(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Repository__ImportsAssignment_3_2"
+
+
+    // $ANTLR start "rule__Repository__ImportsAssignment_3_3_1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10482:1: rule__Repository__ImportsAssignment_3_3_1 : ( ruleImport ) ;
+    public final void rule__Repository__ImportsAssignment_3_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10486:1: ( ( ruleImport ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10487:1: ( ruleImport )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10487:1: ( ruleImport )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10488:1: ruleImport
+            {
+             before(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleImport_in_rule__Repository__ImportsAssignment_3_3_120760);
+            ruleImport();
+
+            state._fsp--;
+
+             after(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Repository__ImportsAssignment_3_3_1"
+
+
+    // $ANTLR start "rule__Repository__DatatypesAssignment_4_2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10497:1: rule__Repository__DatatypesAssignment_4_2 : ( ruleDataType ) ;
+    public final void rule__Repository__DatatypesAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9342:1: ( ( ruleDataType ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9343:1: ( ruleDataType )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10501:1: ( ( ruleDataType ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10502:1: ( ruleDataType )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9343:1: ( ruleDataType )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9344:1: ruleDataType
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10502:1: ( ruleDataType )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10503:1: ruleDataType
             {
-             before(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_3_0_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleDataType_in_rule__Repository__DatatypesAssignment_3_018507);
+             before(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleDataType_in_rule__Repository__DatatypesAssignment_4_220791);
             ruleDataType();
 
             state._fsp--;
 
-             after(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_3_0_0()); 
+             after(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_2_0()); 
 
             }
 
@@ -24210,29 +27156,70 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Repository__DatatypesAssignment_3_0"
+    // $ANTLR end "rule__Repository__DatatypesAssignment_4_2"
 
 
-    // $ANTLR start "rule__Repository__InterfacesAssignment_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9353:1: rule__Repository__InterfacesAssignment_3_1 : ( ruleInterface ) ;
-    public final void rule__Repository__InterfacesAssignment_3_1() throws RecognitionException {
+    // $ANTLR start "rule__Repository__DatatypesAssignment_4_3_1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10512:1: rule__Repository__DatatypesAssignment_4_3_1 : ( ruleDataType ) ;
+    public final void rule__Repository__DatatypesAssignment_4_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9357:1: ( ( ruleInterface ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9358:1: ( ruleInterface )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10516:1: ( ( ruleDataType ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10517:1: ( ruleDataType )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9358:1: ( ruleInterface )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9359:1: ruleInterface
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10517:1: ( ruleDataType )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10518:1: ruleDataType
             {
-             before(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInterface_in_rule__Repository__InterfacesAssignment_3_118538);
-            ruleInterface();
+             before(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleDataType_in_rule__Repository__DatatypesAssignment_4_3_120822);
+            ruleDataType();
+
+            state._fsp--;
+
+             after(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Repository__DatatypesAssignment_4_3_1"
+
+
+    // $ANTLR start "rule__Repository__ComponentsAssignment_5_2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10527:1: rule__Repository__ComponentsAssignment_5_2 : ( ruleRepositoryComponent ) ;
+    public final void rule__Repository__ComponentsAssignment_5_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10531:1: ( ( ruleRepositoryComponent ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10532:1: ( ruleRepositoryComponent )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10532:1: ( ruleRepositoryComponent )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10533:1: ruleRepositoryComponent
+            {
+             before(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_rule__Repository__ComponentsAssignment_5_220853);
+            ruleRepositoryComponent();
 
             state._fsp--;
 
-             after(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_3_1_0()); 
+             after(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_2_0()); 
 
             }
 
@@ -24251,29 +27238,152 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Repository__InterfacesAssignment_3_1"
+    // $ANTLR end "rule__Repository__ComponentsAssignment_5_2"
 
 
-    // $ANTLR start "rule__Repository__ComponentsAssignment_3_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9368:1: rule__Repository__ComponentsAssignment_3_2 : ( ruleRepositoryComponent ) ;
-    public final void rule__Repository__ComponentsAssignment_3_2() throws RecognitionException {
+    // $ANTLR start "rule__Repository__ComponentsAssignment_5_3_1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10542:1: rule__Repository__ComponentsAssignment_5_3_1 : ( ruleRepositoryComponent ) ;
+    public final void rule__Repository__ComponentsAssignment_5_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9372:1: ( ( ruleRepositoryComponent ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9373:1: ( ruleRepositoryComponent )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10546:1: ( ( ruleRepositoryComponent ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10547:1: ( ruleRepositoryComponent )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9373:1: ( ruleRepositoryComponent )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9374:1: ruleRepositoryComponent
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10547:1: ( ruleRepositoryComponent )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10548:1: ruleRepositoryComponent
             {
-             before(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_3_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_rule__Repository__ComponentsAssignment_3_218569);
+             before(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_rule__Repository__ComponentsAssignment_5_3_120884);
             ruleRepositoryComponent();
 
             state._fsp--;
 
-             after(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_3_2_0()); 
+             after(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Repository__ComponentsAssignment_5_3_1"
+
+
+    // $ANTLR start "rule__Repository__InterfacesAssignment_6_2"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10557:1: rule__Repository__InterfacesAssignment_6_2 : ( ruleInterface ) ;
+    public final void rule__Repository__InterfacesAssignment_6_2() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10561:1: ( ( ruleInterface ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10562:1: ( ruleInterface )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10562:1: ( ruleInterface )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10563:1: ruleInterface
+            {
+             before(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleInterface_in_rule__Repository__InterfacesAssignment_6_220915);
+            ruleInterface();
+
+            state._fsp--;
+
+             after(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Repository__InterfacesAssignment_6_2"
+
+
+    // $ANTLR start "rule__Repository__InterfacesAssignment_6_3_1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10572:1: rule__Repository__InterfacesAssignment_6_3_1 : ( ruleInterface ) ;
+    public final void rule__Repository__InterfacesAssignment_6_3_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10576:1: ( ( ruleInterface ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10577:1: ( ruleInterface )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10577:1: ( ruleInterface )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10578:1: ruleInterface
+            {
+             before(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleInterface_in_rule__Repository__InterfacesAssignment_6_3_120946);
+            ruleInterface();
+
+            state._fsp--;
+
+             after(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__Repository__InterfacesAssignment_6_3_1"
+
+
+    // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10587:1: rule__Import__ImportedNamespaceAssignment_1 : ( ruleQualifiedNameWithWildCard ) ;
+    public final void rule__Import__ImportedNamespaceAssignment_1() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10591:1: ( ( ruleQualifiedNameWithWildCard ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10592:1: ( ruleQualifiedNameWithWildCard )
+            {
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10592:1: ( ruleQualifiedNameWithWildCard )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10593:1: ruleQualifiedNameWithWildCard
+            {
+             before(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedNameWithWildCard_in_rule__Import__ImportedNamespaceAssignment_120977);
+            ruleQualifiedNameWithWildCard();
+
+            state._fsp--;
+
+             after(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); 
 
             }
 
@@ -24292,24 +27402,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Repository__ComponentsAssignment_3_2"
+    // $ANTLR end "rule__Import__ImportedNamespaceAssignment_1"
 
 
     // $ANTLR start "rule__Interface__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9383:1: rule__Interface__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10602:1: rule__Interface__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__Interface__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9387:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9388:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10606:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10607:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9388:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9389:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10607:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10608:1: ruleEString
             {
              before(grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Interface__NameAssignment_118600);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Interface__NameAssignment_121008);
             ruleEString();
 
             state._fsp--;
@@ -24337,24 +27447,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Interface__ParentInterfacesAssignment_3_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9398:1: rule__Interface__ParentInterfacesAssignment_3_2 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10617:1: rule__Interface__ParentInterfacesAssignment_3_2 : ( ( ruleEString ) ) ;
     public final void rule__Interface__ParentInterfacesAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9402:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9403:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10621:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10622:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9403:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9404:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10622:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10623:1: ( ruleEString )
             {
              before(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_3_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9405:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9406:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10624:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10625:1: ruleEString
             {
              before(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceEStringParserRuleCall_3_2_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Interface__ParentInterfacesAssignment_3_218635);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Interface__ParentInterfacesAssignment_3_221043);
             ruleEString();
 
             state._fsp--;
@@ -24386,24 +27496,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Interface__ParentInterfacesAssignment_3_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9417:1: rule__Interface__ParentInterfacesAssignment_3_3_1 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10636:1: rule__Interface__ParentInterfacesAssignment_3_3_1 : ( ( ruleEString ) ) ;
     public final void rule__Interface__ParentInterfacesAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9421:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9422:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10640:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10641:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9422:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9423:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10641:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10642:1: ( ruleEString )
             {
              before(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_3_3_1_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9424:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9425:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10643:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10644:1: ruleEString
             {
              before(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceEStringParserRuleCall_3_3_1_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Interface__ParentInterfacesAssignment_3_3_118674);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Interface__ParentInterfacesAssignment_3_3_121082);
             ruleEString();
 
             state._fsp--;
@@ -24434,26 +27544,26 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
     // $ANTLR end "rule__Interface__ParentInterfacesAssignment_3_3_1"
 
 
-    // $ANTLR start "rule__Interface__SignaturesAssignment_4_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9436:1: rule__Interface__SignaturesAssignment_4_2 : ( ruleSignature ) ;
-    public final void rule__Interface__SignaturesAssignment_4_2() throws RecognitionException {
+    // $ANTLR start "rule__Interface__SignaturesAssignment_4_0"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10655:1: rule__Interface__SignaturesAssignment_4_0 : ( ruleSignature ) ;
+    public final void rule__Interface__SignaturesAssignment_4_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9440:1: ( ( ruleSignature ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9441:1: ( ruleSignature )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10659:1: ( ( ruleSignature ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10660:1: ( ruleSignature )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9441:1: ( ruleSignature )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9442:1: ruleSignature
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10660:1: ( ruleSignature )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10661:1: ruleSignature
             {
-             before(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_rule__Interface__SignaturesAssignment_4_218709);
+             before(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_0_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_rule__Interface__SignaturesAssignment_4_021117);
             ruleSignature();
 
             state._fsp--;
 
-             after(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_2_0()); 
+             after(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_0_0()); 
 
             }
 
@@ -24472,29 +27582,29 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__SignaturesAssignment_4_2"
+    // $ANTLR end "rule__Interface__SignaturesAssignment_4_0"
 
 
-    // $ANTLR start "rule__Interface__SignaturesAssignment_4_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9451:1: rule__Interface__SignaturesAssignment_4_3_1 : ( ruleSignature ) ;
-    public final void rule__Interface__SignaturesAssignment_4_3_1() throws RecognitionException {
+    // $ANTLR start "rule__Interface__SignaturesAssignment_4_1_1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10670:1: rule__Interface__SignaturesAssignment_4_1_1 : ( ruleSignature ) ;
+    public final void rule__Interface__SignaturesAssignment_4_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9455:1: ( ( ruleSignature ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9456:1: ( ruleSignature )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10674:1: ( ( ruleSignature ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10675:1: ( ruleSignature )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9456:1: ( ruleSignature )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9457:1: ruleSignature
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10675:1: ( ruleSignature )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10676:1: ruleSignature
             {
-             before(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_rule__Interface__SignaturesAssignment_4_3_118740);
+             before(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_1_1_0()); 
+            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_rule__Interface__SignaturesAssignment_4_1_121148);
             ruleSignature();
 
             state._fsp--;
 
-             after(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_3_1_0()); 
+             after(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_1_1_0()); 
 
             }
 
@@ -24513,24 +27623,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__Interface__SignaturesAssignment_4_3_1"
+    // $ANTLR end "rule__Interface__SignaturesAssignment_4_1_1"
 
 
     // $ANTLR start "rule__RepositoryComponent_Impl__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9466:1: rule__RepositoryComponent_Impl__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10685:1: rule__RepositoryComponent_Impl__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__RepositoryComponent_Impl__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9470:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9471:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10689:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10690:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9471:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9472:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10690:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10691:1: ruleEString
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__NameAssignment_118771);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__NameAssignment_121179);
             ruleEString();
 
             state._fsp--;
@@ -24558,24 +27668,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RepositoryComponent_Impl__RelationshipAssignment_3_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9481:1: rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10700:1: rule__RepositoryComponent_Impl__RelationshipAssignment_3_2 : ( ( ruleEString ) ) ;
     public final void rule__RepositoryComponent_Impl__RelationshipAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9485:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9486:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10704:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10705:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9486:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9487:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10705:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10706:1: ( ruleEString )
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_3_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9488:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9489:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10707:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10708:1: ruleEString
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipEStringParserRuleCall_3_2_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__RelationshipAssignment_3_218806);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__RelationshipAssignment_3_221214);
             ruleEString();
 
             state._fsp--;
@@ -24607,24 +27717,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9500:1: rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10719:1: rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1 : ( ( ruleEString ) ) ;
     public final void rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9504:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9505:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10723:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10724:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9505:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9506:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10724:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10725:1: ( ruleEString )
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_3_3_1_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9507:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9508:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10726:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10727:1: ruleEString
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipEStringParserRuleCall_3_3_1_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_118845);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_121253);
             ruleEString();
 
             state._fsp--;
@@ -24656,20 +27766,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9519:1: rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 : ( ruleProvidedRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10738:1: rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2 : ( ruleProvidedRole ) ;
     public final void rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9523:1: ( ( ruleProvidedRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9524:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10742:1: ( ( ruleProvidedRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10743:1: ( ruleProvidedRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9524:1: ( ruleProvidedRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9525:1: ruleProvidedRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10743:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10744:1: ruleProvidedRole
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_4_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_218880);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_221288);
             ruleProvidedRole();
 
             state._fsp--;
@@ -24697,20 +27807,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9534:1: rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 : ( ruleProvidedRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10753:1: rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1 : ( ruleProvidedRole ) ;
     public final void rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9538:1: ( ( ruleProvidedRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9539:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10757:1: ( ( ruleProvidedRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10758:1: ( ruleProvidedRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9539:1: ( ruleProvidedRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9540:1: ruleProvidedRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10758:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10759:1: ruleProvidedRole
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_4_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_118911);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_121319);
             ruleProvidedRole();
 
             state._fsp--;
@@ -24738,20 +27848,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9549:1: rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 : ( ruleRequiredRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10768:1: rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2 : ( ruleRequiredRole ) ;
     public final void rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9553:1: ( ( ruleRequiredRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9554:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10772:1: ( ( ruleRequiredRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10773:1: ( ruleRequiredRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9554:1: ( ruleRequiredRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9555:1: ruleRequiredRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10773:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10774:1: ruleRequiredRole
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_5_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_218942);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_221350);
             ruleRequiredRole();
 
             state._fsp--;
@@ -24779,20 +27889,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9564:1: rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 : ( ruleRequiredRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10783:1: rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1 : ( ruleRequiredRole ) ;
     public final void rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9568:1: ( ( ruleRequiredRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9569:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10787:1: ( ( ruleRequiredRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10788:1: ( ruleRequiredRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9569:1: ( ruleRequiredRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9570:1: ruleRequiredRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10788:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10789:1: ruleRequiredRole
             {
              before(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_5_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_118973);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_121381);
             ruleRequiredRole();
 
             state._fsp--;
@@ -24820,20 +27930,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CollectionDataType__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9579:1: rule__CollectionDataType__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10798:1: rule__CollectionDataType__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__CollectionDataType__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9583:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9584:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10802:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10803:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9584:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9585:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10803:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10804:1: ruleEString
             {
              before(grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CollectionDataType__NameAssignment_119004);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CollectionDataType__NameAssignment_121412);
             ruleEString();
 
             state._fsp--;
@@ -24861,24 +27971,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CollectionDataType__InnerTypeAssignment_4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9594:1: rule__CollectionDataType__InnerTypeAssignment_4 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10813:1: rule__CollectionDataType__InnerTypeAssignment_4 : ( ( ruleEString ) ) ;
     public final void rule__CollectionDataType__InnerTypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9598:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9599:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10817:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10818:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9599:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9600:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10818:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10819:1: ( ruleEString )
             {
              before(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_4_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9601:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9602:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10820:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10821:1: ruleEString
             {
              before(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeEStringParserRuleCall_4_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CollectionDataType__InnerTypeAssignment_419039);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CollectionDataType__InnerTypeAssignment_421447);
             ruleEString();
 
             state._fsp--;
@@ -24910,20 +28020,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeDataType__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9613:1: rule__CompositeDataType__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10832:1: rule__CompositeDataType__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__CompositeDataType__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9617:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9618:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10836:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10837:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9618:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9619:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10837:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10838:1: ruleEString
             {
              before(grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeDataType__NameAssignment_119074);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeDataType__NameAssignment_121482);
             ruleEString();
 
             state._fsp--;
@@ -24951,24 +28061,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeDataType__ParentTypesAssignment_3_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9628:1: rule__CompositeDataType__ParentTypesAssignment_3_2 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10847:1: rule__CompositeDataType__ParentTypesAssignment_3_2 : ( ( ruleEString ) ) ;
     public final void rule__CompositeDataType__ParentTypesAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9632:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9633:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10851:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10852:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9633:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9634:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10852:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10853:1: ( ruleEString )
             {
              before(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_3_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9635:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9636:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10854:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10855:1: ruleEString
             {
              before(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeEStringParserRuleCall_3_2_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeDataType__ParentTypesAssignment_3_219109);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeDataType__ParentTypesAssignment_3_221517);
             ruleEString();
 
             state._fsp--;
@@ -25000,24 +28110,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeDataType__ParentTypesAssignment_3_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9647:1: rule__CompositeDataType__ParentTypesAssignment_3_3_1 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10866:1: rule__CompositeDataType__ParentTypesAssignment_3_3_1 : ( ( ruleEString ) ) ;
     public final void rule__CompositeDataType__ParentTypesAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9651:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9652:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10870:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10871:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9652:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9653:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10871:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10872:1: ( ruleEString )
             {
              before(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_3_3_1_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9654:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9655:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10873:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10874:1: ruleEString
             {
              before(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeEStringParserRuleCall_3_3_1_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeDataType__ParentTypesAssignment_3_3_119148);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeDataType__ParentTypesAssignment_3_3_121556);
             ruleEString();
 
             state._fsp--;
@@ -25049,20 +28159,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeDataType__InnerDeclarationsAssignment_4_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9666:1: rule__CompositeDataType__InnerDeclarationsAssignment_4_2 : ( ruleInnerDeclaration ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10885:1: rule__CompositeDataType__InnerDeclarationsAssignment_4_2 : ( ruleInnerDeclaration ) ;
     public final void rule__CompositeDataType__InnerDeclarationsAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9670:1: ( ( ruleInnerDeclaration ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9671:1: ( ruleInnerDeclaration )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10889:1: ( ( ruleInnerDeclaration ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10890:1: ( ruleInnerDeclaration )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9671:1: ( ruleInnerDeclaration )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9672:1: ruleInnerDeclaration
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10890:1: ( ruleInnerDeclaration )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10891:1: ruleInnerDeclaration
             {
              before(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_4_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_rule__CompositeDataType__InnerDeclarationsAssignment_4_219183);
+            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_rule__CompositeDataType__InnerDeclarationsAssignment_4_221591);
             ruleInnerDeclaration();
 
             state._fsp--;
@@ -25090,20 +28200,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9681:1: rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 : ( ruleInnerDeclaration ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10900:1: rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1 : ( ruleInnerDeclaration ) ;
     public final void rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9685:1: ( ( ruleInnerDeclaration ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9686:1: ( ruleInnerDeclaration )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10904:1: ( ( ruleInnerDeclaration ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10905:1: ( ruleInnerDeclaration )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9686:1: ( ruleInnerDeclaration )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9687:1: ruleInnerDeclaration
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10905:1: ( ruleInnerDeclaration )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10906:1: ruleInnerDeclaration
             {
              before(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_4_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_rule__CompositeDataType__InnerDeclarationsAssignment_4_3_119214);
+            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_rule__CompositeDataType__InnerDeclarationsAssignment_4_3_121622);
             ruleInnerDeclaration();
 
             state._fsp--;
@@ -25131,20 +28241,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__PrimitiveDataType__TypeAssignment_3"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9696:1: rule__PrimitiveDataType__TypeAssignment_3 : ( rulePrimitiveTypeEnum ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10915:1: rule__PrimitiveDataType__TypeAssignment_3 : ( rulePrimitiveTypeEnum ) ;
     public final void rule__PrimitiveDataType__TypeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9700:1: ( ( rulePrimitiveTypeEnum ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9701:1: ( rulePrimitiveTypeEnum )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10919:1: ( ( rulePrimitiveTypeEnum ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10920:1: ( rulePrimitiveTypeEnum )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9701:1: ( rulePrimitiveTypeEnum )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9702:1: rulePrimitiveTypeEnum
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10920:1: ( rulePrimitiveTypeEnum )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10921:1: rulePrimitiveTypeEnum
             {
              before(grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0()); 
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeEnum_in_rule__PrimitiveDataType__TypeAssignment_319245);
+            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeEnum_in_rule__PrimitiveDataType__TypeAssignment_321653);
             rulePrimitiveTypeEnum();
 
             state._fsp--;
@@ -25172,20 +28282,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__PrimitiveDataType__NameAssignment_5"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9711:1: rule__PrimitiveDataType__NameAssignment_5 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10930:1: rule__PrimitiveDataType__NameAssignment_5 : ( ruleEString ) ;
     public final void rule__PrimitiveDataType__NameAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9715:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9716:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10934:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10935:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9716:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9717:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10935:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10936:1: ruleEString
             {
              before(grammarAccess.getPrimitiveDataTypeAccess().getNameEStringParserRuleCall_5_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__PrimitiveDataType__NameAssignment_519276);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__PrimitiveDataType__NameAssignment_521684);
             ruleEString();
 
             state._fsp--;
@@ -25213,20 +28323,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__InnerDeclaration__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9726:1: rule__InnerDeclaration__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10945:1: rule__InnerDeclaration__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__InnerDeclaration__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9730:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9731:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10949:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10950:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9731:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9732:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10950:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10951:1: ruleEString
             {
              before(grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__InnerDeclaration__NameAssignment_119307);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__InnerDeclaration__NameAssignment_121715);
             ruleEString();
 
             state._fsp--;
@@ -25254,24 +28364,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__InnerDeclaration__DataTypeAssignment_4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9741:1: rule__InnerDeclaration__DataTypeAssignment_4 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10960:1: rule__InnerDeclaration__DataTypeAssignment_4 : ( ( ruleEString ) ) ;
     public final void rule__InnerDeclaration__DataTypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9745:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9746:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10964:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10965:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9746:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9747:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10965:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10966:1: ( ruleEString )
             {
              before(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_4_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9748:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9749:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10967:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10968:1: ruleEString
             {
              before(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeEStringParserRuleCall_4_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__InnerDeclaration__DataTypeAssignment_419342);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__InnerDeclaration__DataTypeAssignment_421750);
             ruleEString();
 
             state._fsp--;
@@ -25303,24 +28413,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Signature__ReturnTypeAssignment_0_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9760:1: rule__Signature__ReturnTypeAssignment_0_0 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10979:1: rule__Signature__ReturnTypeAssignment_0_0 : ( ( ruleEString ) ) ;
     public final void rule__Signature__ReturnTypeAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9764:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9765:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10983:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10984:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9765:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9766:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10984:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10985:1: ( ruleEString )
             {
              before(grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_0_0_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9767:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9768:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10986:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10987:1: ruleEString
             {
              before(grammarAccess.getSignatureAccess().getReturnTypeDataTypeEStringParserRuleCall_0_0_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Signature__ReturnTypeAssignment_0_019381);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Signature__ReturnTypeAssignment_0_021789);
             ruleEString();
 
             state._fsp--;
@@ -25352,20 +28462,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Signature__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9779:1: rule__Signature__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10998:1: rule__Signature__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__Signature__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9783:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9784:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11002:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11003:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9784:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9785:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11003:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11004:1: ruleEString
             {
              before(grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Signature__NameAssignment_119416);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Signature__NameAssignment_121824);
             ruleEString();
 
             state._fsp--;
@@ -25393,20 +28503,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Signature__ParametersAssignment_3_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9794:1: rule__Signature__ParametersAssignment_3_0 : ( ruleParameter ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11013:1: rule__Signature__ParametersAssignment_3_0 : ( ruleParameter ) ;
     public final void rule__Signature__ParametersAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9798:1: ( ( ruleParameter ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9799:1: ( ruleParameter )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11017:1: ( ( ruleParameter ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11018:1: ( ruleParameter )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9799:1: ( ruleParameter )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9800:1: ruleParameter
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11018:1: ( ruleParameter )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11019:1: ruleParameter
             {
              before(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_3_0_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_rule__Signature__ParametersAssignment_3_019447);
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_rule__Signature__ParametersAssignment_3_021855);
             ruleParameter();
 
             state._fsp--;
@@ -25434,20 +28544,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Signature__ParametersAssignment_3_1_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9809:1: rule__Signature__ParametersAssignment_3_1_1 : ( ruleParameter ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11028:1: rule__Signature__ParametersAssignment_3_1_1 : ( ruleParameter ) ;
     public final void rule__Signature__ParametersAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9813:1: ( ( ruleParameter ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9814:1: ( ruleParameter )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11032:1: ( ( ruleParameter ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11033:1: ( ruleParameter )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9814:1: ( ruleParameter )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9815:1: ruleParameter
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11033:1: ( ruleParameter )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11034:1: ruleParameter
             {
              before(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_3_1_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_rule__Signature__ParametersAssignment_3_1_119478);
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_rule__Signature__ParametersAssignment_3_1_121886);
             ruleParameter();
 
             state._fsp--;
@@ -25475,24 +28585,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Parameter__DataTypeAssignment_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9824:1: rule__Parameter__DataTypeAssignment_0 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11043:1: rule__Parameter__DataTypeAssignment_0 : ( ( ruleEString ) ) ;
     public final void rule__Parameter__DataTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9828:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9829:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11047:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11048:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9829:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9830:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11048:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11049:1: ( ruleEString )
             {
              before(grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_0_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9831:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9832:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11050:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11051:1: ruleEString
             {
              before(grammarAccess.getParameterAccess().getDataTypeDataTypeEStringParserRuleCall_0_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Parameter__DataTypeAssignment_019513);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Parameter__DataTypeAssignment_021921);
             ruleEString();
 
             state._fsp--;
@@ -25524,20 +28634,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__Parameter__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9843:1: rule__Parameter__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11062:1: rule__Parameter__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__Parameter__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9847:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9848:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11066:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11067:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9848:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9849:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11067:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11068:1: ruleEString
             {
              before(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_119548);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_121956);
             ruleEString();
 
             state._fsp--;
@@ -25564,34 +28674,34 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
     // $ANTLR end "rule__Parameter__NameAssignment_1"
 
 
-    // $ANTLR start "rule__ProvidedRole__InterfaceAssignment_2_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9858:1: rule__ProvidedRole__InterfaceAssignment_2_0 : ( ( ruleEString ) ) ;
-    public final void rule__ProvidedRole__InterfaceAssignment_2_0() throws RecognitionException {
+    // $ANTLR start "rule__ProvidedRole__InterfaceAssignment_1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11077:1: rule__ProvidedRole__InterfaceAssignment_1 : ( ( ruleEString ) ) ;
+    public final void rule__ProvidedRole__InterfaceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9862:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9863:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11081:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11082:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9863:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9864:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11082:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11083:1: ( ruleEString )
             {
-             before(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9865:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9866:1: ruleEString
+             before(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_1_0()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11084:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11085:1: ruleEString
             {
-             before(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceEStringParserRuleCall_2_0_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedRole__InterfaceAssignment_2_019583);
+             before(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceEStringParserRuleCall_1_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedRole__InterfaceAssignment_121991);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceEStringParserRuleCall_2_0_0_1()); 
+             after(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceEStringParserRuleCall_1_0_1()); 
 
             }
 
-             after(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); 
+             after(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_1_0()); 
 
             }
 
@@ -25610,37 +28720,37 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__ProvidedRole__InterfaceAssignment_2_0"
+    // $ANTLR end "rule__ProvidedRole__InterfaceAssignment_1"
 
 
-    // $ANTLR start "rule__RequiredRole__InterfaceAssignment_2_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9877:1: rule__RequiredRole__InterfaceAssignment_2_0 : ( ( ruleEString ) ) ;
-    public final void rule__RequiredRole__InterfaceAssignment_2_0() throws RecognitionException {
+    // $ANTLR start "rule__RequiredRole__InterfaceAssignment_1"
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11096:1: rule__RequiredRole__InterfaceAssignment_1 : ( ( ruleEString ) ) ;
+    public final void rule__RequiredRole__InterfaceAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9881:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9882:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11100:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11101:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9882:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9883:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11101:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11102:1: ( ruleEString )
             {
-             before(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9884:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9885:1: ruleEString
+             before(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_1_0()); 
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11103:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11104:1: ruleEString
             {
-             before(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceEStringParserRuleCall_2_0_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredRole__InterfaceAssignment_2_019622);
+             before(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceEStringParserRuleCall_1_0_1()); 
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredRole__InterfaceAssignment_122030);
             ruleEString();
 
             state._fsp--;
 
-             after(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceEStringParserRuleCall_2_0_0_1()); 
+             after(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceEStringParserRuleCall_1_0_1()); 
 
             }
 
-             after(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); 
+             after(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_1_0()); 
 
             }
 
@@ -25659,24 +28769,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         }
         return ;
     }
-    // $ANTLR end "rule__RequiredRole__InterfaceAssignment_2_0"
+    // $ANTLR end "rule__RequiredRole__InterfaceAssignment_1"
 
 
     // $ANTLR start "rule__BasicComponent__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9896:1: rule__BasicComponent__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11115:1: rule__BasicComponent__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__BasicComponent__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9900:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9901:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11119:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11120:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9901:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9902:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11120:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11121:1: ruleEString
             {
              before(grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__BasicComponent__NameAssignment_119657);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__BasicComponent__NameAssignment_122065);
             ruleEString();
 
             state._fsp--;
@@ -25704,20 +28814,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__ProvidedRolesAssignment_2_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9911:1: rule__BasicComponent__ProvidedRolesAssignment_2_0 : ( ruleProvidedRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11130:1: rule__BasicComponent__ProvidedRolesAssignment_2_0 : ( ruleProvidedRole ) ;
     public final void rule__BasicComponent__ProvidedRolesAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9915:1: ( ( ruleProvidedRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9916:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11134:1: ( ( ruleProvidedRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11135:1: ( ruleProvidedRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9916:1: ( ruleProvidedRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9917:1: ruleProvidedRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11135:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11136:1: ruleProvidedRole
             {
              before(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_2_0_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__BasicComponent__ProvidedRolesAssignment_2_019688);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__BasicComponent__ProvidedRolesAssignment_2_022096);
             ruleProvidedRole();
 
             state._fsp--;
@@ -25745,20 +28855,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__ProvidedRolesAssignment_2_1_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9926:1: rule__BasicComponent__ProvidedRolesAssignment_2_1_1 : ( ruleProvidedRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11145:1: rule__BasicComponent__ProvidedRolesAssignment_2_1_1 : ( ruleProvidedRole ) ;
     public final void rule__BasicComponent__ProvidedRolesAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9930:1: ( ( ruleProvidedRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9931:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11149:1: ( ( ruleProvidedRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11150:1: ( ruleProvidedRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9931:1: ( ruleProvidedRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9932:1: ruleProvidedRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11150:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11151:1: ruleProvidedRole
             {
              before(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_2_1_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__BasicComponent__ProvidedRolesAssignment_2_1_119719);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__BasicComponent__ProvidedRolesAssignment_2_1_122127);
             ruleProvidedRole();
 
             state._fsp--;
@@ -25786,20 +28896,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__RequiredRolesAssignment_3_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9941:1: rule__BasicComponent__RequiredRolesAssignment_3_0 : ( ruleRequiredRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11160:1: rule__BasicComponent__RequiredRolesAssignment_3_0 : ( ruleRequiredRole ) ;
     public final void rule__BasicComponent__RequiredRolesAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9945:1: ( ( ruleRequiredRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9946:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11164:1: ( ( ruleRequiredRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11165:1: ( ruleRequiredRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9946:1: ( ruleRequiredRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9947:1: ruleRequiredRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11165:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11166:1: ruleRequiredRole
             {
              before(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_3_0_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__BasicComponent__RequiredRolesAssignment_3_019750);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__BasicComponent__RequiredRolesAssignment_3_022158);
             ruleRequiredRole();
 
             state._fsp--;
@@ -25827,20 +28937,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__RequiredRolesAssignment_3_1_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9956:1: rule__BasicComponent__RequiredRolesAssignment_3_1_1 : ( ruleRequiredRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11175:1: rule__BasicComponent__RequiredRolesAssignment_3_1_1 : ( ruleRequiredRole ) ;
     public final void rule__BasicComponent__RequiredRolesAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9960:1: ( ( ruleRequiredRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9961:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11179:1: ( ( ruleRequiredRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11180:1: ( ruleRequiredRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9961:1: ( ruleRequiredRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9962:1: ruleRequiredRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11180:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11181:1: ruleRequiredRole
             {
              before(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_3_1_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__BasicComponent__RequiredRolesAssignment_3_1_119781);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__BasicComponent__RequiredRolesAssignment_3_1_122189);
             ruleRequiredRole();
 
             state._fsp--;
@@ -25868,24 +28978,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__RelationshipAssignment_5_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9971:1: rule__BasicComponent__RelationshipAssignment_5_2 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11190:1: rule__BasicComponent__RelationshipAssignment_5_2 : ( ( ruleEString ) ) ;
     public final void rule__BasicComponent__RelationshipAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9975:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9976:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11194:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11195:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9976:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9977:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11195:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11196:1: ( ruleEString )
             {
              before(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9978:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9979:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11197:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11198:1: ruleEString
             {
              before(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipEStringParserRuleCall_5_2_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__BasicComponent__RelationshipAssignment_5_219816);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__BasicComponent__RelationshipAssignment_5_222224);
             ruleEString();
 
             state._fsp--;
@@ -25917,24 +29027,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__BasicComponent__RelationshipAssignment_5_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9990:1: rule__BasicComponent__RelationshipAssignment_5_3_1 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11209:1: rule__BasicComponent__RelationshipAssignment_5_3_1 : ( ( ruleEString ) ) ;
     public final void rule__BasicComponent__RelationshipAssignment_5_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9994:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9995:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11213:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11214:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9995:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9996:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11214:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11215:1: ( ruleEString )
             {
              before(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9997:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:9998:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11216:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11217:1: ruleEString
             {
              before(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__BasicComponent__RelationshipAssignment_5_3_119855);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__BasicComponent__RelationshipAssignment_5_3_122263);
             ruleEString();
 
             state._fsp--;
@@ -25966,20 +29076,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10009:1: rule__CompositeComponent__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11228:1: rule__CompositeComponent__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__CompositeComponent__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10013:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10014:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11232:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11233:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10014:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10015:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11233:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11234:1: ruleEString
             {
              before(grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeComponent__NameAssignment_119890);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeComponent__NameAssignment_122298);
             ruleEString();
 
             state._fsp--;
@@ -26007,20 +29117,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__ProvidedRolesAssignment_2_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10024:1: rule__CompositeComponent__ProvidedRolesAssignment_2_0 : ( ruleProvidedRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11243:1: rule__CompositeComponent__ProvidedRolesAssignment_2_0 : ( ruleProvidedRole ) ;
     public final void rule__CompositeComponent__ProvidedRolesAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10028:1: ( ( ruleProvidedRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10029:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11247:1: ( ( ruleProvidedRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11248:1: ( ruleProvidedRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10029:1: ( ruleProvidedRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10030:1: ruleProvidedRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11248:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11249:1: ruleProvidedRole
             {
              before(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_2_0_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__CompositeComponent__ProvidedRolesAssignment_2_019921);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__CompositeComponent__ProvidedRolesAssignment_2_022329);
             ruleProvidedRole();
 
             state._fsp--;
@@ -26048,20 +29158,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__ProvidedRolesAssignment_2_1_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10039:1: rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 : ( ruleProvidedRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11258:1: rule__CompositeComponent__ProvidedRolesAssignment_2_1_1 : ( ruleProvidedRole ) ;
     public final void rule__CompositeComponent__ProvidedRolesAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10043:1: ( ( ruleProvidedRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10044:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11262:1: ( ( ruleProvidedRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11263:1: ( ruleProvidedRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10044:1: ( ruleProvidedRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10045:1: ruleProvidedRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11263:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11264:1: ruleProvidedRole
             {
              before(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_2_1_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__CompositeComponent__ProvidedRolesAssignment_2_1_119952);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__CompositeComponent__ProvidedRolesAssignment_2_1_122360);
             ruleProvidedRole();
 
             state._fsp--;
@@ -26089,20 +29199,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__RequiredRolesAssignment_3_0"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10054:1: rule__CompositeComponent__RequiredRolesAssignment_3_0 : ( ruleRequiredRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11273:1: rule__CompositeComponent__RequiredRolesAssignment_3_0 : ( ruleRequiredRole ) ;
     public final void rule__CompositeComponent__RequiredRolesAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10058:1: ( ( ruleRequiredRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10059:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11277:1: ( ( ruleRequiredRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11278:1: ( ruleRequiredRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10059:1: ( ruleRequiredRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10060:1: ruleRequiredRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11278:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11279:1: ruleRequiredRole
             {
              before(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_3_0_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__CompositeComponent__RequiredRolesAssignment_3_019983);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__CompositeComponent__RequiredRolesAssignment_3_022391);
             ruleRequiredRole();
 
             state._fsp--;
@@ -26130,20 +29240,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__RequiredRolesAssignment_3_1_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10069:1: rule__CompositeComponent__RequiredRolesAssignment_3_1_1 : ( ruleRequiredRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11288:1: rule__CompositeComponent__RequiredRolesAssignment_3_1_1 : ( ruleRequiredRole ) ;
     public final void rule__CompositeComponent__RequiredRolesAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10073:1: ( ( ruleRequiredRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10074:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11292:1: ( ( ruleRequiredRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11293:1: ( ruleRequiredRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10074:1: ( ruleRequiredRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10075:1: ruleRequiredRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11293:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11294:1: ruleRequiredRole
             {
              before(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_3_1_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__CompositeComponent__RequiredRolesAssignment_3_1_120014);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__CompositeComponent__RequiredRolesAssignment_3_1_122422);
             ruleRequiredRole();
 
             state._fsp--;
@@ -26171,24 +29281,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__RelationshipAssignment_5_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10084:1: rule__CompositeComponent__RelationshipAssignment_5_2 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11303:1: rule__CompositeComponent__RelationshipAssignment_5_2 : ( ( ruleEString ) ) ;
     public final void rule__CompositeComponent__RelationshipAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10088:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10089:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11307:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11308:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10089:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10090:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11308:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11309:1: ( ruleEString )
             {
              before(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10091:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10092:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11310:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11311:1: ruleEString
             {
              before(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipEStringParserRuleCall_5_2_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeComponent__RelationshipAssignment_5_220049);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeComponent__RelationshipAssignment_5_222457);
             ruleEString();
 
             state._fsp--;
@@ -26220,24 +29330,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__RelationshipAssignment_5_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10103:1: rule__CompositeComponent__RelationshipAssignment_5_3_1 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11322:1: rule__CompositeComponent__RelationshipAssignment_5_3_1 : ( ( ruleEString ) ) ;
     public final void rule__CompositeComponent__RelationshipAssignment_5_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10107:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10108:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11326:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11327:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10108:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10109:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11327:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11328:1: ( ruleEString )
             {
              before(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10110:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10111:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11329:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11330:1: ruleEString
             {
              before(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeComponent__RelationshipAssignment_5_3_120088);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__CompositeComponent__RelationshipAssignment_5_3_122496);
             ruleEString();
 
             state._fsp--;
@@ -26269,20 +29379,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__CompositeComponent__AssemblyAssignment_6_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10122:1: rule__CompositeComponent__AssemblyAssignment_6_1 : ( ruleComposedStructureAssembly ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11341:1: rule__CompositeComponent__AssemblyAssignment_6_1 : ( ruleComposedStructureAssembly ) ;
     public final void rule__CompositeComponent__AssemblyAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10126:1: ( ( ruleComposedStructureAssembly ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10127:1: ( ruleComposedStructureAssembly )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11345:1: ( ( ruleComposedStructureAssembly ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11346:1: ( ruleComposedStructureAssembly )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10127:1: ( ruleComposedStructureAssembly )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10128:1: ruleComposedStructureAssembly
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11346:1: ( ruleComposedStructureAssembly )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11347:1: ruleComposedStructureAssembly
             {
              before(grammarAccess.getCompositeComponentAccess().getAssemblyComposedStructureAssemblyParserRuleCall_6_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_rule__CompositeComponent__AssemblyAssignment_6_120123);
+            pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_rule__CompositeComponent__AssemblyAssignment_6_122531);
             ruleComposedStructureAssembly();
 
             state._fsp--;
@@ -26310,20 +29420,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10137:1: rule__SubSystem__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11356:1: rule__SubSystem__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__SubSystem__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10141:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10142:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11360:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11361:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10142:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10143:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11361:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11362:1: ruleEString
             {
              before(grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__SubSystem__NameAssignment_120154);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__SubSystem__NameAssignment_122562);
             ruleEString();
 
             state._fsp--;
@@ -26351,20 +29461,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__ProvidedRolesAssignment_2_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10152:1: rule__SubSystem__ProvidedRolesAssignment_2_2 : ( ruleProvidedRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11371:1: rule__SubSystem__ProvidedRolesAssignment_2_2 : ( ruleProvidedRole ) ;
     public final void rule__SubSystem__ProvidedRolesAssignment_2_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10156:1: ( ( ruleProvidedRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10157:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11375:1: ( ( ruleProvidedRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11376:1: ( ruleProvidedRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10157:1: ( ruleProvidedRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10158:1: ruleProvidedRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11376:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11377:1: ruleProvidedRole
             {
              before(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_2_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__SubSystem__ProvidedRolesAssignment_2_220185);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__SubSystem__ProvidedRolesAssignment_2_222593);
             ruleProvidedRole();
 
             state._fsp--;
@@ -26392,20 +29502,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__ProvidedRolesAssignment_2_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10167:1: rule__SubSystem__ProvidedRolesAssignment_2_3_1 : ( ruleProvidedRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11386:1: rule__SubSystem__ProvidedRolesAssignment_2_3_1 : ( ruleProvidedRole ) ;
     public final void rule__SubSystem__ProvidedRolesAssignment_2_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10171:1: ( ( ruleProvidedRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10172:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11390:1: ( ( ruleProvidedRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11391:1: ( ruleProvidedRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10172:1: ( ruleProvidedRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10173:1: ruleProvidedRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11391:1: ( ruleProvidedRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11392:1: ruleProvidedRole
             {
              before(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_2_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__SubSystem__ProvidedRolesAssignment_2_3_120216);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_rule__SubSystem__ProvidedRolesAssignment_2_3_122624);
             ruleProvidedRole();
 
             state._fsp--;
@@ -26433,20 +29543,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__RequiredRolesAssignment_3_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10182:1: rule__SubSystem__RequiredRolesAssignment_3_2 : ( ruleRequiredRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11401:1: rule__SubSystem__RequiredRolesAssignment_3_2 : ( ruleRequiredRole ) ;
     public final void rule__SubSystem__RequiredRolesAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10186:1: ( ( ruleRequiredRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10187:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11405:1: ( ( ruleRequiredRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11406:1: ( ruleRequiredRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10187:1: ( ruleRequiredRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10188:1: ruleRequiredRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11406:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11407:1: ruleRequiredRole
             {
              before(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_3_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__SubSystem__RequiredRolesAssignment_3_220247);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__SubSystem__RequiredRolesAssignment_3_222655);
             ruleRequiredRole();
 
             state._fsp--;
@@ -26474,20 +29584,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__RequiredRolesAssignment_3_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10197:1: rule__SubSystem__RequiredRolesAssignment_3_3_1 : ( ruleRequiredRole ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11416:1: rule__SubSystem__RequiredRolesAssignment_3_3_1 : ( ruleRequiredRole ) ;
     public final void rule__SubSystem__RequiredRolesAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10201:1: ( ( ruleRequiredRole ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10202:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11420:1: ( ( ruleRequiredRole ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11421:1: ( ruleRequiredRole )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10202:1: ( ruleRequiredRole )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10203:1: ruleRequiredRole
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11421:1: ( ruleRequiredRole )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11422:1: ruleRequiredRole
             {
              before(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_3_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__SubSystem__RequiredRolesAssignment_3_3_120278);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_rule__SubSystem__RequiredRolesAssignment_3_3_122686);
             ruleRequiredRole();
 
             state._fsp--;
@@ -26515,24 +29625,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__RelationshipAssignment_5_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10212:1: rule__SubSystem__RelationshipAssignment_5_2 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11431:1: rule__SubSystem__RelationshipAssignment_5_2 : ( ( ruleEString ) ) ;
     public final void rule__SubSystem__RelationshipAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10216:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10217:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11435:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11436:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10217:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10218:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11436:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11437:1: ( ruleEString )
             {
              before(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10219:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10220:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11438:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11439:1: ruleEString
             {
              before(grammarAccess.getSubSystemAccess().getRelationshipRelationshipEStringParserRuleCall_5_2_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__SubSystem__RelationshipAssignment_5_220313);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__SubSystem__RelationshipAssignment_5_222721);
             ruleEString();
 
             state._fsp--;
@@ -26564,24 +29674,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__RelationshipAssignment_5_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10231:1: rule__SubSystem__RelationshipAssignment_5_3_1 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11450:1: rule__SubSystem__RelationshipAssignment_5_3_1 : ( ( ruleEString ) ) ;
     public final void rule__SubSystem__RelationshipAssignment_5_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10235:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10236:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11454:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11455:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10236:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10237:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11455:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11456:1: ( ruleEString )
             {
              before(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10238:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10239:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11457:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11458:1: ruleEString
             {
              before(grammarAccess.getSubSystemAccess().getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__SubSystem__RelationshipAssignment_5_3_120352);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__SubSystem__RelationshipAssignment_5_3_122760);
             ruleEString();
 
             state._fsp--;
@@ -26613,20 +29723,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__SubSystem__AssemblyAssignment_6_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10250:1: rule__SubSystem__AssemblyAssignment_6_1 : ( ruleComposedStructureAssembly ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11469:1: rule__SubSystem__AssemblyAssignment_6_1 : ( ruleComposedStructureAssembly ) ;
     public final void rule__SubSystem__AssemblyAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10254:1: ( ( ruleComposedStructureAssembly ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10255:1: ( ruleComposedStructureAssembly )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11473:1: ( ( ruleComposedStructureAssembly ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11474:1: ( ruleComposedStructureAssembly )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10255:1: ( ruleComposedStructureAssembly )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10256:1: ruleComposedStructureAssembly
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11474:1: ( ruleComposedStructureAssembly )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11475:1: ruleComposedStructureAssembly
             {
              before(grammarAccess.getSubSystemAccess().getAssemblyComposedStructureAssemblyParserRuleCall_6_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_rule__SubSystem__AssemblyAssignment_6_120387);
+            pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_rule__SubSystem__AssemblyAssignment_6_122795);
             ruleComposedStructureAssembly();
 
             state._fsp--;
@@ -26654,20 +29764,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10265:1: rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 : ( ruleAssemblyContext ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11484:1: rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2 : ( ruleAssemblyContext ) ;
     public final void rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10269:1: ( ( ruleAssemblyContext ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10270:1: ( ruleAssemblyContext )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11488:1: ( ( ruleAssemblyContext ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11489:1: ( ruleAssemblyContext )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10270:1: ( ruleAssemblyContext )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10271:1: ruleAssemblyContext
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11489:1: ( ruleAssemblyContext )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11490:1: ruleAssemblyContext
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsAssemblyContextParserRuleCall_3_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_220418);
+            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_222826);
             ruleAssemblyContext();
 
             state._fsp--;
@@ -26695,20 +29805,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10280:1: rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 : ( ruleAssemblyContext ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11499:1: rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1 : ( ruleAssemblyContext ) ;
     public final void rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10284:1: ( ( ruleAssemblyContext ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10285:1: ( ruleAssemblyContext )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11503:1: ( ( ruleAssemblyContext ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11504:1: ( ruleAssemblyContext )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10285:1: ( ruleAssemblyContext )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10286:1: ruleAssemblyContext
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11504:1: ( ruleAssemblyContext )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11505:1: ruleAssemblyContext
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsAssemblyContextParserRuleCall_3_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_120449);
+            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_122857);
             ruleAssemblyContext();
 
             state._fsp--;
@@ -26736,20 +29846,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10295:1: rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 : ( ruleAssemblyConnector ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11514:1: rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2 : ( ruleAssemblyConnector ) ;
     public final void rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10299:1: ( ( ruleAssemblyConnector ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10300:1: ( ruleAssemblyConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11518:1: ( ( ruleAssemblyConnector ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11519:1: ( ruleAssemblyConnector )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10300:1: ( ruleAssemblyConnector )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10301:1: ruleAssemblyConnector
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11519:1: ( ruleAssemblyConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11520:1: ruleAssemblyConnector
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_4_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_220480);
+            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_222888);
             ruleAssemblyConnector();
 
             state._fsp--;
@@ -26777,20 +29887,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10310:1: rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 : ( ruleAssemblyConnector ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11529:1: rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1 : ( ruleAssemblyConnector ) ;
     public final void rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10314:1: ( ( ruleAssemblyConnector ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10315:1: ( ruleAssemblyConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11533:1: ( ( ruleAssemblyConnector ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11534:1: ( ruleAssemblyConnector )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10315:1: ( ruleAssemblyConnector )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10316:1: ruleAssemblyConnector
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11534:1: ( ruleAssemblyConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11535:1: ruleAssemblyConnector
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_4_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_120511);
+            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_122919);
             ruleAssemblyConnector();
 
             state._fsp--;
@@ -26818,20 +29928,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10325:1: rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 : ( ruleProvidedDelegationConnector ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11544:1: rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2 : ( ruleProvidedDelegationConnector ) ;
     public final void rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10329:1: ( ( ruleProvidedDelegationConnector ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10330:1: ( ruleProvidedDelegationConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11548:1: ( ( ruleProvidedDelegationConnector ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11549:1: ( ruleProvidedDelegationConnector )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10330:1: ( ruleProvidedDelegationConnector )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10331:1: ruleProvidedDelegationConnector
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11549:1: ( ruleProvidedDelegationConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11550:1: ruleProvidedDelegationConnector
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_5_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_220542);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_222950);
             ruleProvidedDelegationConnector();
 
             state._fsp--;
@@ -26859,20 +29969,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10340:1: rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 : ( ruleProvidedDelegationConnector ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11559:1: rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1 : ( ruleProvidedDelegationConnector ) ;
     public final void rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10344:1: ( ( ruleProvidedDelegationConnector ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10345:1: ( ruleProvidedDelegationConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11563:1: ( ( ruleProvidedDelegationConnector ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11564:1: ( ruleProvidedDelegationConnector )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10345:1: ( ruleProvidedDelegationConnector )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10346:1: ruleProvidedDelegationConnector
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11564:1: ( ruleProvidedDelegationConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11565:1: ruleProvidedDelegationConnector
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_5_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_120573);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_122981);
             ruleProvidedDelegationConnector();
 
             state._fsp--;
@@ -26900,20 +30010,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10355:1: rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 : ( ruleRequiredDelegationConnector ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11574:1: rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2 : ( ruleRequiredDelegationConnector ) ;
     public final void rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10359:1: ( ( ruleRequiredDelegationConnector ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10360:1: ( ruleRequiredDelegationConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11578:1: ( ( ruleRequiredDelegationConnector ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11579:1: ( ruleRequiredDelegationConnector )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10360:1: ( ruleRequiredDelegationConnector )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10361:1: ruleRequiredDelegationConnector
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11579:1: ( ruleRequiredDelegationConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11580:1: ruleRequiredDelegationConnector
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_6_2_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_220604);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_223012);
             ruleRequiredDelegationConnector();
 
             state._fsp--;
@@ -26941,20 +30051,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10370:1: rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 : ( ruleRequiredDelegationConnector ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11589:1: rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1 : ( ruleRequiredDelegationConnector ) ;
     public final void rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10374:1: ( ( ruleRequiredDelegationConnector ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10375:1: ( ruleRequiredDelegationConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11593:1: ( ( ruleRequiredDelegationConnector ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11594:1: ( ruleRequiredDelegationConnector )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10375:1: ( ruleRequiredDelegationConnector )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10376:1: ruleRequiredDelegationConnector
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11594:1: ( ruleRequiredDelegationConnector )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11595:1: ruleRequiredDelegationConnector
             {
              before(grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_6_3_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_120635);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_123043);
             ruleRequiredDelegationConnector();
 
             state._fsp--;
@@ -26982,20 +30092,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10385:1: rule__AssemblyContext__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11604:1: rule__AssemblyContext__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__AssemblyContext__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10389:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10390:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11608:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11609:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10390:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10391:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11609:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11610:1: ruleEString
             {
              before(grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyContext__NameAssignment_120666);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyContext__NameAssignment_123074);
             ruleEString();
 
             state._fsp--;
@@ -27023,24 +30133,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyContext__EncapsulatedComponentAssignment_4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10400:1: rule__AssemblyContext__EncapsulatedComponentAssignment_4 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11619:1: rule__AssemblyContext__EncapsulatedComponentAssignment_4 : ( ( ruleEString ) ) ;
     public final void rule__AssemblyContext__EncapsulatedComponentAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10404:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10405:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11623:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11624:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10405:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10406:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11624:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11625:1: ( ruleEString )
             {
              before(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_4_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10407:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10408:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11626:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11627:1: ruleEString
             {
              before(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentEStringParserRuleCall_4_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyContext__EncapsulatedComponentAssignment_420701);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyContext__EncapsulatedComponentAssignment_423109);
             ruleEString();
 
             state._fsp--;
@@ -27072,20 +30182,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10419:1: rule__AssemblyConnector__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11638:1: rule__AssemblyConnector__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__AssemblyConnector__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10423:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10424:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11642:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11643:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10424:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10425:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11643:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11644:1: ruleEString
             {
              before(grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__NameAssignment_120736);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__NameAssignment_123144);
             ruleEString();
 
             state._fsp--;
@@ -27113,24 +30223,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__RequiredRoleAssignment_4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10434:1: rule__AssemblyConnector__RequiredRoleAssignment_4 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11653:1: rule__AssemblyConnector__RequiredRoleAssignment_4 : ( ( ruleEString ) ) ;
     public final void rule__AssemblyConnector__RequiredRoleAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10438:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10439:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11657:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11658:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10439:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10440:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11658:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11659:1: ( ruleEString )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_4_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10441:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10442:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11660:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11661:1: ruleEString
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleEStringParserRuleCall_4_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__RequiredRoleAssignment_420771);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__RequiredRoleAssignment_423179);
             ruleEString();
 
             state._fsp--;
@@ -27162,24 +30272,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__ProvidedRoleAssignment_6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10453:1: rule__AssemblyConnector__ProvidedRoleAssignment_6 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11672:1: rule__AssemblyConnector__ProvidedRoleAssignment_6 : ( ( ruleEString ) ) ;
     public final void rule__AssemblyConnector__ProvidedRoleAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10457:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10458:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11676:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11677:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10458:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10459:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11677:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11678:1: ( ruleEString )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_6_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10460:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10461:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11679:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11680:1: ruleEString
             {
              before(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleEStringParserRuleCall_6_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__ProvidedRoleAssignment_620810);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__ProvidedRoleAssignment_623218);
             ruleEString();
 
             state._fsp--;
@@ -27211,24 +30321,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10472:1: rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11691:1: rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8 : ( ( ruleEString ) ) ;
     public final void rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10476:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10477:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11695:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11696:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10477:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10478:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11696:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11697:1: ( ruleEString )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_8_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10479:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10480:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11698:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11699:1: ruleEString
             {
              before(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextEStringParserRuleCall_8_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__ProvidingAssemblyContextAssignment_820849);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__ProvidingAssemblyContextAssignment_823257);
             ruleEString();
 
             state._fsp--;
@@ -27260,24 +30370,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__AssemblyConnector__RequiringAssemblyContextAssignment_10"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10491:1: rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11710:1: rule__AssemblyConnector__RequiringAssemblyContextAssignment_10 : ( ( ruleEString ) ) ;
     public final void rule__AssemblyConnector__RequiringAssemblyContextAssignment_10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10495:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10496:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11714:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11715:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10496:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10497:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11715:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11716:1: ( ruleEString )
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_10_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10498:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10499:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11717:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11718:1: ruleEString
             {
              before(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextEStringParserRuleCall_10_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__RequiringAssemblyContextAssignment_1020888);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__AssemblyConnector__RequiringAssemblyContextAssignment_1023296);
             ruleEString();
 
             state._fsp--;
@@ -27309,20 +30419,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10510:1: rule__ProvidedDelegationConnector__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11729:1: rule__ProvidedDelegationConnector__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__ProvidedDelegationConnector__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10514:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10515:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11733:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11734:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10515:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10516:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11734:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11735:1: ruleEString
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__NameAssignment_120923);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__NameAssignment_123331);
             ruleEString();
 
             state._fsp--;
@@ -27350,24 +30460,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__AssemblyContextAssignment_4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10525:1: rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11744:1: rule__ProvidedDelegationConnector__AssemblyContextAssignment_4 : ( ( ruleEString ) ) ;
     public final void rule__ProvidedDelegationConnector__AssemblyContextAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10529:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10530:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11748:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11749:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10530:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10531:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11749:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11750:1: ( ruleEString )
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_4_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10532:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10533:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11751:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11752:1: ruleEString
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextEStringParserRuleCall_4_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__AssemblyContextAssignment_420958);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__AssemblyContextAssignment_423366);
             ruleEString();
 
             state._fsp--;
@@ -27399,24 +30509,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10544:1: rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11763:1: rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6 : ( ( ruleEString ) ) ;
     public final void rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10548:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10549:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11767:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11768:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10549:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10550:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11768:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11769:1: ( ruleEString )
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_6_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10551:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10552:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11770:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11771:1: ruleEString
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleEStringParserRuleCall_6_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_620997);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_623405);
             ruleEString();
 
             state._fsp--;
@@ -27448,24 +30558,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10563:1: rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11782:1: rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8 : ( ( ruleEString ) ) ;
     public final void rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10567:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10568:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11786:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11787:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10568:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10569:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11787:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11788:1: ( ruleEString )
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_8_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10570:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10571:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11789:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11790:1: ruleEString
             {
              before(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_821036);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_823444);
             ruleEString();
 
             state._fsp--;
@@ -27497,20 +30607,20 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__NameAssignment_1"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10582:1: rule__RequiredDelegationConnector__NameAssignment_1 : ( ruleEString ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11801:1: rule__RequiredDelegationConnector__NameAssignment_1 : ( ruleEString ) ;
     public final void rule__RequiredDelegationConnector__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10586:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10587:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11805:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11806:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10587:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10588:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11806:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11807:1: ruleEString
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_1_0()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__NameAssignment_121071);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__NameAssignment_123479);
             ruleEString();
 
             state._fsp--;
@@ -27538,24 +30648,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__AssemblyContextAssignment_4"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10597:1: rule__RequiredDelegationConnector__AssemblyContextAssignment_4 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11816:1: rule__RequiredDelegationConnector__AssemblyContextAssignment_4 : ( ( ruleEString ) ) ;
     public final void rule__RequiredDelegationConnector__AssemblyContextAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10601:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10602:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11820:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11821:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10602:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10603:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11821:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11822:1: ( ruleEString )
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_4_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10604:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10605:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11823:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11824:1: ruleEString
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextEStringParserRuleCall_4_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__AssemblyContextAssignment_421106);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__AssemblyContextAssignment_423514);
             ruleEString();
 
             state._fsp--;
@@ -27587,24 +30697,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10616:1: rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11835:1: rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6 : ( ( ruleEString ) ) ;
     public final void rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10620:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10621:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11839:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11840:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10621:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10622:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11840:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11841:1: ( ruleEString )
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_6_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10623:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10624:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11842:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11843:1: ruleEString
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleEStringParserRuleCall_6_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_621145);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_623553);
             ruleEString();
 
             state._fsp--;
@@ -27636,24 +30746,24 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
 
 
     // $ANTLR start "rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8"
-    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10635:1: rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 : ( ( ruleEString ) ) ;
+    // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11854:1: rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8 : ( ( ruleEString ) ) ;
     public final void rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10639:1: ( ( ( ruleEString ) ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10640:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11858:1: ( ( ( ruleEString ) ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11859:1: ( ( ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10640:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10641:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11859:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11860:1: ( ruleEString )
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_8_0()); 
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10642:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:10643:1: ruleEString
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11861:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDslTest.g:11862:1: ruleEString
             {
              before(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleEStringParserRuleCall_8_0_1()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_821184);
+            pushFollow(FollowSets001.FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_823592);
             ruleEString();
 
             state._fsp--;
@@ -27693,899 +30803,1007 @@ public class InternalMyDslTestParser extends AbstractInternalContentAssistParser
         public static final BitSet FOLLOW_ruleRepository_in_entryRuleRepository61 = new BitSet(new long[]{0x0000000000000000L});
         public static final BitSet FOLLOW_EOF_in_entryRuleRepository68 = new BitSet(new long[]{0x0000000000000002L});
         public static final BitSet FOLLOW_rule__Repository__Group__0_in_ruleRepository94 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType121 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDataType128 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__DataType__Alternatives_in_ruleDataType154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent181 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent__Alternatives_in_ruleRepositoryComponent214 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString241 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEString248 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString274 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInterface_in_entryRuleInterface301 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInterface308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group__0_in_ruleInterface334 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl361 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl368 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__0_in_ruleRepositoryComponent_Impl394 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType421 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionDataType428 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__0_in_ruleCollectionDataType454 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType481 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeDataType488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__0_in_ruleCompositeDataType514 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType541 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveDataType548 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__0_in_rulePrimitiveDataType574 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration601 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInnerDeclaration608 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__0_in_ruleInnerDeclaration634 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSignature_in_entryRuleSignature661 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSignature668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group__0_in_ruleSignature694 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter721 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleParameter728 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__0_in_ruleParameter754 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole781 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedRole788 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group__0_in_ruleProvidedRole814 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole841 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredRole848 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group__0_in_ruleRequiredRole874 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent901 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBasicComponent908 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__0_in_ruleBasicComponent934 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent961 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeComponent968 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__0_in_ruleCompositeComponent994 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSubSystem_in_entryRuleSubSystem1021 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSubSystem1028 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__0_in_ruleSubSystem1054 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_entryRuleComposedStructureAssembly1081 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleComposedStructureAssembly1088 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__0_in_ruleComposedStructureAssembly1114 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext1141 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyContext1148 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__0_in_ruleAssemblyContext1174 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector1201 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyConnector1208 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__0_in_ruleAssemblyConnector1234 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector1261 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedDelegationConnector1268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__0_in_ruleProvidedDelegationConnector1294 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector1321 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredDelegationConnector1328 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__0_in_ruleRequiredDelegationConnector1354 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveTypeEnum__Alternatives_in_rulePrimitiveTypeEnum1391 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__DatatypesAssignment_3_0_in_rule__Repository__Alternatives_31426 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__InterfacesAssignment_3_1_in_rule__Repository__Alternatives_31444 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__ComponentsAssignment_3_2_in_rule__Repository__Alternatives_31462 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionDataType_in_rule__DataType__Alternatives1495 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeDataType_in_rule__DataType__Alternatives1512 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveDataType_in_rule__DataType__Alternatives1529 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_rule__RepositoryComponent__Alternatives1561 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBasicComponent_in_rule__RepositoryComponent__Alternatives1578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeComponent_in_rule__RepositoryComponent__Alternatives1595 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSubSystem_in_rule__RepositoryComponent__Alternatives1612 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives1644 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives1661 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__ReturnTypeAssignment_0_0_in_rule__Signature__Alternatives_01693 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_11_in_rule__Signature__Alternatives_01712 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_12_in_rule__PrimitiveTypeEnum__Alternatives1747 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_13_in_rule__PrimitiveTypeEnum__Alternatives1768 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_14_in_rule__PrimitiveTypeEnum__Alternatives1789 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_15_in_rule__PrimitiveTypeEnum__Alternatives1810 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_16_in_rule__PrimitiveTypeEnum__Alternatives1831 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_17_in_rule__PrimitiveTypeEnum__Alternatives1852 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_18_in_rule__PrimitiveTypeEnum__Alternatives1873 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__Group__0__Impl_in_rule__Repository__Group__01906 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Repository__Group__1_in_rule__Repository__Group__01909 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_19_in_rule__Repository__Group__0__Impl1937 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__Group__1__Impl_in_rule__Repository__Group__11968 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Repository__Group__2_in_rule__Repository__Group__11971 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__NameAssignment_1_in_rule__Repository__Group__1__Impl1998 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__Group__2__Impl_in_rule__Repository__Group__22028 = new BitSet(new long[]{0x0000B02510600000L});
-        public static final BitSet FOLLOW_rule__Repository__Group__3_in_rule__Repository__Group__22031 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Repository__Group__2__Impl2059 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__Group__3__Impl_in_rule__Repository__Group__32090 = new BitSet(new long[]{0x0000B02510600000L});
-        public static final BitSet FOLLOW_rule__Repository__Group__4_in_rule__Repository__Group__32093 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Repository__Alternatives_3_in_rule__Repository__Group__3__Impl2120 = new BitSet(new long[]{0x0000B02510400002L});
-        public static final BitSet FOLLOW_rule__Repository__Group__4__Impl_in_rule__Repository__Group__42151 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__Repository__Group__4__Impl2179 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group__0__Impl_in_rule__Interface__Group__02220 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Interface__Group__1_in_rule__Interface__Group__02223 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_22_in_rule__Interface__Group__0__Impl2251 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group__1__Impl_in_rule__Interface__Group__12282 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Interface__Group__2_in_rule__Interface__Group__12285 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__NameAssignment_1_in_rule__Interface__Group__1__Impl2312 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group__2__Impl_in_rule__Interface__Group__22342 = new BitSet(new long[]{0x0000000008A00000L});
-        public static final BitSet FOLLOW_rule__Interface__Group__3_in_rule__Interface__Group__22345 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Interface__Group__2__Impl2373 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group__3__Impl_in_rule__Interface__Group__32404 = new BitSet(new long[]{0x0000000008A00000L});
-        public static final BitSet FOLLOW_rule__Interface__Group__4_in_rule__Interface__Group__32407 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__0_in_rule__Interface__Group__3__Impl2434 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group__4__Impl_in_rule__Interface__Group__42465 = new BitSet(new long[]{0x0000000008A00000L});
-        public static final BitSet FOLLOW_rule__Interface__Group__5_in_rule__Interface__Group__42468 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__0_in_rule__Interface__Group__4__Impl2495 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group__5__Impl_in_rule__Interface__Group__52526 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__Interface__Group__5__Impl2554 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__0__Impl_in_rule__Interface__Group_3__02597 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__1_in_rule__Interface__Group_3__02600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_23_in_rule__Interface__Group_3__0__Impl2628 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__1__Impl_in_rule__Interface__Group_3__12659 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__2_in_rule__Interface__Group_3__12662 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__Interface__Group_3__1__Impl2690 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__2__Impl_in_rule__Interface__Group_3__22721 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__3_in_rule__Interface__Group_3__22724 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__ParentInterfacesAssignment_3_2_in_rule__Interface__Group_3__2__Impl2751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__3__Impl_in_rule__Interface__Group_3__32781 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__4_in_rule__Interface__Group_3__32784 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3_3__0_in_rule__Interface__Group_3__3__Impl2811 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3__4__Impl_in_rule__Interface__Group_3__42842 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__Interface__Group_3__4__Impl2870 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3_3__0__Impl_in_rule__Interface__Group_3_3__02911 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3_3__1_in_rule__Interface__Group_3_3__02914 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__Interface__Group_3_3__0__Impl2942 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_3_3__1__Impl_in_rule__Interface__Group_3_3__12973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__ParentInterfacesAssignment_3_3_1_in_rule__Interface__Group_3_3__1__Impl3000 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__0__Impl_in_rule__Interface__Group_4__03034 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__1_in_rule__Interface__Group_4__03037 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_27_in_rule__Interface__Group_4__0__Impl3065 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__1__Impl_in_rule__Interface__Group_4__13096 = new BitSet(new long[]{0x0000000000000830L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__2_in_rule__Interface__Group_4__13099 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__Interface__Group_4__1__Impl3127 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__2__Impl_in_rule__Interface__Group_4__23158 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__3_in_rule__Interface__Group_4__23161 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__SignaturesAssignment_4_2_in_rule__Interface__Group_4__2__Impl3188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__3__Impl_in_rule__Interface__Group_4__33218 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__4_in_rule__Interface__Group_4__33221 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4_3__0_in_rule__Interface__Group_4__3__Impl3248 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4__4__Impl_in_rule__Interface__Group_4__43279 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__Interface__Group_4__4__Impl3307 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4_3__0__Impl_in_rule__Interface__Group_4_3__03348 = new BitSet(new long[]{0x0000000000000830L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4_3__1_in_rule__Interface__Group_4_3__03351 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__Interface__Group_4_3__0__Impl3379 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__Group_4_3__1__Impl_in_rule__Interface__Group_4_3__13410 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Interface__SignaturesAssignment_4_3_1_in_rule__Interface__Group_4_3__1__Impl3437 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__0__Impl_in_rule__RepositoryComponent_Impl__Group__03471 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__1_in_rule__RepositoryComponent_Impl__Group__03474 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_28_in_rule__RepositoryComponent_Impl__Group__0__Impl3502 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__1__Impl_in_rule__RepositoryComponent_Impl__Group__13533 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__2_in_rule__RepositoryComponent_Impl__Group__13536 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__NameAssignment_1_in_rule__RepositoryComponent_Impl__Group__1__Impl3563 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__2__Impl_in_rule__RepositoryComponent_Impl__Group__23593 = new BitSet(new long[]{0x00000000E0200000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__3_in_rule__RepositoryComponent_Impl__Group__23596 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__RepositoryComponent_Impl__Group__2__Impl3624 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__3__Impl_in_rule__RepositoryComponent_Impl__Group__33655 = new BitSet(new long[]{0x00000000E0200000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__4_in_rule__RepositoryComponent_Impl__Group__33658 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__0_in_rule__RepositoryComponent_Impl__Group__3__Impl3685 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__4__Impl_in_rule__RepositoryComponent_Impl__Group__43716 = new BitSet(new long[]{0x00000000E0200000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__5_in_rule__RepositoryComponent_Impl__Group__43719 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__0_in_rule__RepositoryComponent_Impl__Group__4__Impl3746 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__5__Impl_in_rule__RepositoryComponent_Impl__Group__53777 = new BitSet(new long[]{0x00000000E0200000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__6_in_rule__RepositoryComponent_Impl__Group__53780 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__0_in_rule__RepositoryComponent_Impl__Group__5__Impl3807 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__6__Impl_in_rule__RepositoryComponent_Impl__Group__63838 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__RepositoryComponent_Impl__Group__6__Impl3866 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_3__03911 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__1_in_rule__RepositoryComponent_Impl__Group_3__03914 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__RepositoryComponent_Impl__Group_3__0__Impl3942 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_3__13973 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__2_in_rule__RepositoryComponent_Impl__Group_3__13976 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__RepositoryComponent_Impl__Group_3__1__Impl4004 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__2__Impl_in_rule__RepositoryComponent_Impl__Group_3__24035 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__3_in_rule__RepositoryComponent_Impl__Group_3__24038 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__RelationshipAssignment_3_2_in_rule__RepositoryComponent_Impl__Group_3__2__Impl4065 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__3__Impl_in_rule__RepositoryComponent_Impl__Group_3__34095 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__4_in_rule__RepositoryComponent_Impl__Group_3__34098 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__0_in_rule__RepositoryComponent_Impl__Group_3__3__Impl4125 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__4__Impl_in_rule__RepositoryComponent_Impl__Group_3__44156 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__RepositoryComponent_Impl__Group_3__4__Impl4184 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_3_3__04225 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__1_in_rule__RepositoryComponent_Impl__Group_3_3__04228 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__RepositoryComponent_Impl__Group_3_3__0__Impl4256 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_3_3__14287 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1_in_rule__RepositoryComponent_Impl__Group_3_3__1__Impl4314 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__0__Impl_in_rule__RepositoryComponent_Impl__Group_4__04348 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__1_in_rule__RepositoryComponent_Impl__Group_4__04351 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_rule__RepositoryComponent_Impl__Group_4__0__Impl4379 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__1__Impl_in_rule__RepositoryComponent_Impl__Group_4__14410 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__2_in_rule__RepositoryComponent_Impl__Group_4__14413 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__RepositoryComponent_Impl__Group_4__1__Impl4441 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__2__Impl_in_rule__RepositoryComponent_Impl__Group_4__24472 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__3_in_rule__RepositoryComponent_Impl__Group_4__24475 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2_in_rule__RepositoryComponent_Impl__Group_4__2__Impl4502 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__3__Impl_in_rule__RepositoryComponent_Impl__Group_4__34532 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__4_in_rule__RepositoryComponent_Impl__Group_4__34535 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__0_in_rule__RepositoryComponent_Impl__Group_4__3__Impl4562 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__4__Impl_in_rule__RepositoryComponent_Impl__Group_4__44593 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__RepositoryComponent_Impl__Group_4__4__Impl4621 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_4_3__04662 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__1_in_rule__RepositoryComponent_Impl__Group_4_3__04665 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__RepositoryComponent_Impl__Group_4_3__0__Impl4693 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_4_3__14724 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1_in_rule__RepositoryComponent_Impl__Group_4_3__1__Impl4751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__0__Impl_in_rule__RepositoryComponent_Impl__Group_5__04785 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__1_in_rule__RepositoryComponent_Impl__Group_5__04788 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_31_in_rule__RepositoryComponent_Impl__Group_5__0__Impl4816 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__1__Impl_in_rule__RepositoryComponent_Impl__Group_5__14847 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__2_in_rule__RepositoryComponent_Impl__Group_5__14850 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__RepositoryComponent_Impl__Group_5__1__Impl4878 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__2__Impl_in_rule__RepositoryComponent_Impl__Group_5__24909 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__3_in_rule__RepositoryComponent_Impl__Group_5__24912 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2_in_rule__RepositoryComponent_Impl__Group_5__2__Impl4939 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__3__Impl_in_rule__RepositoryComponent_Impl__Group_5__34969 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__4_in_rule__RepositoryComponent_Impl__Group_5__34972 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__0_in_rule__RepositoryComponent_Impl__Group_5__3__Impl4999 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__4__Impl_in_rule__RepositoryComponent_Impl__Group_5__45030 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__RepositoryComponent_Impl__Group_5__4__Impl5058 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_5_3__05099 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__1_in_rule__RepositoryComponent_Impl__Group_5_3__05102 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__RepositoryComponent_Impl__Group_5_3__0__Impl5130 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_5_3__15161 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1_in_rule__RepositoryComponent_Impl__Group_5_3__1__Impl5188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__0__Impl_in_rule__CollectionDataType__Group__05222 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__1_in_rule__CollectionDataType__Group__05225 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_32_in_rule__CollectionDataType__Group__0__Impl5253 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__1__Impl_in_rule__CollectionDataType__Group__15284 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__2_in_rule__CollectionDataType__Group__15287 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__NameAssignment_1_in_rule__CollectionDataType__Group__1__Impl5314 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__2__Impl_in_rule__CollectionDataType__Group__25344 = new BitSet(new long[]{0x0000000200000000L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__3_in_rule__CollectionDataType__Group__25347 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__CollectionDataType__Group__2__Impl5375 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__3__Impl_in_rule__CollectionDataType__Group__35406 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__4_in_rule__CollectionDataType__Group__35409 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_33_in_rule__CollectionDataType__Group__3__Impl5437 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__4__Impl_in_rule__CollectionDataType__Group__45468 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__5_in_rule__CollectionDataType__Group__45471 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__InnerTypeAssignment_4_in_rule__CollectionDataType__Group__4__Impl5498 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CollectionDataType__Group__5__Impl_in_rule__CollectionDataType__Group__55528 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__CollectionDataType__Group__5__Impl5556 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__0__Impl_in_rule__CompositeDataType__Group__05599 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__1_in_rule__CompositeDataType__Group__05602 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_34_in_rule__CompositeDataType__Group__0__Impl5630 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__1__Impl_in_rule__CompositeDataType__Group__15661 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__2_in_rule__CompositeDataType__Group__15664 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__NameAssignment_1_in_rule__CompositeDataType__Group__1__Impl5691 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__2__Impl_in_rule__CompositeDataType__Group__25721 = new BitSet(new long[]{0x0000001800200000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__3_in_rule__CompositeDataType__Group__25724 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__CompositeDataType__Group__2__Impl5752 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__3__Impl_in_rule__CompositeDataType__Group__35783 = new BitSet(new long[]{0x0000001800200000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__4_in_rule__CompositeDataType__Group__35786 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__0_in_rule__CompositeDataType__Group__3__Impl5813 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__4__Impl_in_rule__CompositeDataType__Group__45844 = new BitSet(new long[]{0x0000001800200000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__5_in_rule__CompositeDataType__Group__45847 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__0_in_rule__CompositeDataType__Group__4__Impl5874 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group__5__Impl_in_rule__CompositeDataType__Group__55905 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__CompositeDataType__Group__5__Impl5933 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__0__Impl_in_rule__CompositeDataType__Group_3__05976 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__1_in_rule__CompositeDataType__Group_3__05979 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_35_in_rule__CompositeDataType__Group_3__0__Impl6007 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__1__Impl_in_rule__CompositeDataType__Group_3__16038 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__2_in_rule__CompositeDataType__Group_3__16041 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__CompositeDataType__Group_3__1__Impl6069 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__2__Impl_in_rule__CompositeDataType__Group_3__26100 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__3_in_rule__CompositeDataType__Group_3__26103 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__ParentTypesAssignment_3_2_in_rule__CompositeDataType__Group_3__2__Impl6130 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__3__Impl_in_rule__CompositeDataType__Group_3__36160 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__4_in_rule__CompositeDataType__Group_3__36163 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3_3__0_in_rule__CompositeDataType__Group_3__3__Impl6190 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__4__Impl_in_rule__CompositeDataType__Group_3__46221 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__CompositeDataType__Group_3__4__Impl6249 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3_3__0__Impl_in_rule__CompositeDataType__Group_3_3__06290 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3_3__1_in_rule__CompositeDataType__Group_3_3__06293 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__CompositeDataType__Group_3_3__0__Impl6321 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3_3__1__Impl_in_rule__CompositeDataType__Group_3_3__16352 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__ParentTypesAssignment_3_3_1_in_rule__CompositeDataType__Group_3_3__1__Impl6379 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__0__Impl_in_rule__CompositeDataType__Group_4__06413 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__1_in_rule__CompositeDataType__Group_4__06416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_36_in_rule__CompositeDataType__Group_4__0__Impl6444 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__1__Impl_in_rule__CompositeDataType__Group_4__16475 = new BitSet(new long[]{0x0000010000000000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__2_in_rule__CompositeDataType__Group_4__16478 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__CompositeDataType__Group_4__1__Impl6506 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__2__Impl_in_rule__CompositeDataType__Group_4__26537 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__3_in_rule__CompositeDataType__Group_4__26540 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__InnerDeclarationsAssignment_4_2_in_rule__CompositeDataType__Group_4__2__Impl6567 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__3__Impl_in_rule__CompositeDataType__Group_4__36597 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__4_in_rule__CompositeDataType__Group_4__36600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4_3__0_in_rule__CompositeDataType__Group_4__3__Impl6627 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__4__Impl_in_rule__CompositeDataType__Group_4__46658 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__CompositeDataType__Group_4__4__Impl6686 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4_3__0__Impl_in_rule__CompositeDataType__Group_4_3__06727 = new BitSet(new long[]{0x0000010000000000L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4_3__1_in_rule__CompositeDataType__Group_4_3__06730 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__CompositeDataType__Group_4_3__0__Impl6758 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4_3__1__Impl_in_rule__CompositeDataType__Group_4_3__16789 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1_in_rule__CompositeDataType__Group_4_3__1__Impl6816 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__0__Impl_in_rule__PrimitiveDataType__Group__06850 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__1_in_rule__PrimitiveDataType__Group__06853 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_rule__PrimitiveDataType__Group__0__Impl6881 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__1__Impl_in_rule__PrimitiveDataType__Group__16912 = new BitSet(new long[]{0x0000004000000000L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__2_in_rule__PrimitiveDataType__Group__16915 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__PrimitiveDataType__Group__1__Impl6943 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__2__Impl_in_rule__PrimitiveDataType__Group__26974 = new BitSet(new long[]{0x000000000007F000L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__3_in_rule__PrimitiveDataType__Group__26977 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_38_in_rule__PrimitiveDataType__Group__2__Impl7005 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__3__Impl_in_rule__PrimitiveDataType__Group__37036 = new BitSet(new long[]{0x0000008000000000L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__4_in_rule__PrimitiveDataType__Group__37039 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__TypeAssignment_3_in_rule__PrimitiveDataType__Group__3__Impl7066 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__4__Impl_in_rule__PrimitiveDataType__Group__47096 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__5_in_rule__PrimitiveDataType__Group__47099 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_39_in_rule__PrimitiveDataType__Group__4__Impl7127 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__5__Impl_in_rule__PrimitiveDataType__Group__57158 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__6_in_rule__PrimitiveDataType__Group__57161 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__NameAssignment_5_in_rule__PrimitiveDataType__Group__5__Impl7188 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__6__Impl_in_rule__PrimitiveDataType__Group__67218 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__PrimitiveDataType__Group__6__Impl7246 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__0__Impl_in_rule__InnerDeclaration__Group__07291 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__1_in_rule__InnerDeclaration__Group__07294 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_40_in_rule__InnerDeclaration__Group__0__Impl7322 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__1__Impl_in_rule__InnerDeclaration__Group__17353 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__2_in_rule__InnerDeclaration__Group__17356 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__NameAssignment_1_in_rule__InnerDeclaration__Group__1__Impl7383 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__2__Impl_in_rule__InnerDeclaration__Group__27413 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__3_in_rule__InnerDeclaration__Group__27416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__InnerDeclaration__Group__2__Impl7444 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__3__Impl_in_rule__InnerDeclaration__Group__37475 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__4_in_rule__InnerDeclaration__Group__37478 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_41_in_rule__InnerDeclaration__Group__3__Impl7506 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__4__Impl_in_rule__InnerDeclaration__Group__47537 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__5_in_rule__InnerDeclaration__Group__47540 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__DataTypeAssignment_4_in_rule__InnerDeclaration__Group__4__Impl7567 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__5__Impl_in_rule__InnerDeclaration__Group__57597 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__InnerDeclaration__Group__5__Impl7625 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group__0__Impl_in_rule__Signature__Group__07668 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Signature__Group__1_in_rule__Signature__Group__07671 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Alternatives_0_in_rule__Signature__Group__0__Impl7698 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group__1__Impl_in_rule__Signature__Group__17728 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__Signature__Group__2_in_rule__Signature__Group__17731 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__NameAssignment_1_in_rule__Signature__Group__1__Impl7758 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group__2__Impl_in_rule__Signature__Group__27788 = new BitSet(new long[]{0x0000000002000030L});
-        public static final BitSet FOLLOW_rule__Signature__Group__3_in_rule__Signature__Group__27791 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__Signature__Group__2__Impl7819 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group__3__Impl_in_rule__Signature__Group__37850 = new BitSet(new long[]{0x0000000002000030L});
-        public static final BitSet FOLLOW_rule__Signature__Group__4_in_rule__Signature__Group__37853 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group_3__0_in_rule__Signature__Group__3__Impl7880 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group__4__Impl_in_rule__Signature__Group__47911 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__Signature__Group__4__Impl7939 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group_3__0__Impl_in_rule__Signature__Group_3__07980 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__Signature__Group_3__1_in_rule__Signature__Group_3__07983 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__ParametersAssignment_3_0_in_rule__Signature__Group_3__0__Impl8010 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group_3__1__Impl_in_rule__Signature__Group_3__18040 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group_3_1__0_in_rule__Signature__Group_3__1__Impl8067 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group_3_1__0__Impl_in_rule__Signature__Group_3_1__08102 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Signature__Group_3_1__1_in_rule__Signature__Group_3_1__08105 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__Signature__Group_3_1__0__Impl8133 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__Group_3_1__1__Impl_in_rule__Signature__Group_3_1__18164 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Signature__ParametersAssignment_3_1_1_in_rule__Signature__Group_3_1__1__Impl8191 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__08225 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__08228 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__DataTypeAssignment_0_in_rule__Parameter__Group__0__Impl8255 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__18285 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl8312 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group__0__Impl_in_rule__ProvidedRole__Group__08346 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group__1_in_rule__ProvidedRole__Group__08349 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group__1__Impl_in_rule__ProvidedRole__Group__18407 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group__2_in_rule__ProvidedRole__Group__18410 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_42_in_rule__ProvidedRole__Group__1__Impl8438 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group__2__Impl_in_rule__ProvidedRole__Group__28469 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group_2__0_in_rule__ProvidedRole__Group__2__Impl8496 = new BitSet(new long[]{0x0000000000000032L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group_2__0__Impl_in_rule__ProvidedRole__Group_2__08533 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group_2__1_in_rule__ProvidedRole__Group_2__08536 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__InterfaceAssignment_2_0_in_rule__ProvidedRole__Group_2__0__Impl8563 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedRole__Group_2__1__Impl_in_rule__ProvidedRole__Group_2__18593 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__ProvidedRole__Group_2__1__Impl8622 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group__0__Impl_in_rule__RequiredRole__Group__08659 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group__1_in_rule__RequiredRole__Group__08662 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group__1__Impl_in_rule__RequiredRole__Group__18720 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group__2_in_rule__RequiredRole__Group__18723 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_43_in_rule__RequiredRole__Group__1__Impl8751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group__2__Impl_in_rule__RequiredRole__Group__28782 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group_2__0_in_rule__RequiredRole__Group__2__Impl8809 = new BitSet(new long[]{0x0000000000000032L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group_2__0__Impl_in_rule__RequiredRole__Group_2__08846 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group_2__1_in_rule__RequiredRole__Group_2__08849 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredRole__InterfaceAssignment_2_0_in_rule__RequiredRole__Group_2__0__Impl8876 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredRole__Group_2__1__Impl_in_rule__RequiredRole__Group_2__18906 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__RequiredRole__Group_2__1__Impl8935 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__0__Impl_in_rule__BasicComponent__Group__08972 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__1_in_rule__BasicComponent__Group__08975 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_44_in_rule__BasicComponent__Group__0__Impl9003 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__1__Impl_in_rule__BasicComponent__Group__19034 = new BitSet(new long[]{0x00000C0000100000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__2_in_rule__BasicComponent__Group__19037 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__NameAssignment_1_in_rule__BasicComponent__Group__1__Impl9064 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__2__Impl_in_rule__BasicComponent__Group__29094 = new BitSet(new long[]{0x00000C0000100000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__3_in_rule__BasicComponent__Group__29097 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_2__0_in_rule__BasicComponent__Group__2__Impl9124 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__3__Impl_in_rule__BasicComponent__Group__39155 = new BitSet(new long[]{0x00000C0000100000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__4_in_rule__BasicComponent__Group__39158 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_3__0_in_rule__BasicComponent__Group__3__Impl9185 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__4__Impl_in_rule__BasicComponent__Group__49216 = new BitSet(new long[]{0x0000000020200000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__5_in_rule__BasicComponent__Group__49219 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__BasicComponent__Group__4__Impl9247 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__5__Impl_in_rule__BasicComponent__Group__59278 = new BitSet(new long[]{0x0000000020200000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__6_in_rule__BasicComponent__Group__59281 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__0_in_rule__BasicComponent__Group__5__Impl9308 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group__6__Impl_in_rule__BasicComponent__Group__69339 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__BasicComponent__Group__6__Impl9367 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_2__0__Impl_in_rule__BasicComponent__Group_2__09412 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_2__1_in_rule__BasicComponent__Group_2__09415 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__ProvidedRolesAssignment_2_0_in_rule__BasicComponent__Group_2__0__Impl9442 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_2__1__Impl_in_rule__BasicComponent__Group_2__19472 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_2_1__0_in_rule__BasicComponent__Group_2__1__Impl9499 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_2_1__0__Impl_in_rule__BasicComponent__Group_2_1__09534 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_2_1__1_in_rule__BasicComponent__Group_2_1__09537 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__BasicComponent__Group_2_1__0__Impl9565 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_2_1__1__Impl_in_rule__BasicComponent__Group_2_1__19596 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__ProvidedRolesAssignment_2_1_1_in_rule__BasicComponent__Group_2_1__1__Impl9623 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_3__0__Impl_in_rule__BasicComponent__Group_3__09657 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_3__1_in_rule__BasicComponent__Group_3__09660 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__RequiredRolesAssignment_3_0_in_rule__BasicComponent__Group_3__0__Impl9687 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_3__1__Impl_in_rule__BasicComponent__Group_3__19717 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_3_1__0_in_rule__BasicComponent__Group_3__1__Impl9744 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_3_1__0__Impl_in_rule__BasicComponent__Group_3_1__09779 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_3_1__1_in_rule__BasicComponent__Group_3_1__09782 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__BasicComponent__Group_3_1__0__Impl9810 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_3_1__1__Impl_in_rule__BasicComponent__Group_3_1__19841 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__RequiredRolesAssignment_3_1_1_in_rule__BasicComponent__Group_3_1__1__Impl9868 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__0__Impl_in_rule__BasicComponent__Group_5__09902 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__1_in_rule__BasicComponent__Group_5__09905 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__BasicComponent__Group_5__0__Impl9933 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__1__Impl_in_rule__BasicComponent__Group_5__19964 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__2_in_rule__BasicComponent__Group_5__19967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__BasicComponent__Group_5__1__Impl9995 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__2__Impl_in_rule__BasicComponent__Group_5__210026 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__3_in_rule__BasicComponent__Group_5__210029 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__RelationshipAssignment_5_2_in_rule__BasicComponent__Group_5__2__Impl10056 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__3__Impl_in_rule__BasicComponent__Group_5__310086 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__4_in_rule__BasicComponent__Group_5__310089 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5_3__0_in_rule__BasicComponent__Group_5__3__Impl10116 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__4__Impl_in_rule__BasicComponent__Group_5__410147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__BasicComponent__Group_5__4__Impl10175 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5_3__0__Impl_in_rule__BasicComponent__Group_5_3__010216 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5_3__1_in_rule__BasicComponent__Group_5_3__010219 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__BasicComponent__Group_5_3__0__Impl10247 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__Group_5_3__1__Impl_in_rule__BasicComponent__Group_5_3__110278 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__BasicComponent__RelationshipAssignment_5_3_1_in_rule__BasicComponent__Group_5_3__1__Impl10305 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__0__Impl_in_rule__CompositeComponent__Group__010339 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__1_in_rule__CompositeComponent__Group__010342 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_45_in_rule__CompositeComponent__Group__0__Impl10370 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__1__Impl_in_rule__CompositeComponent__Group__110401 = new BitSet(new long[]{0x00000C0000100000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__2_in_rule__CompositeComponent__Group__110404 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__NameAssignment_1_in_rule__CompositeComponent__Group__1__Impl10431 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__2__Impl_in_rule__CompositeComponent__Group__210461 = new BitSet(new long[]{0x00000C0000100000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__3_in_rule__CompositeComponent__Group__210464 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2__0_in_rule__CompositeComponent__Group__2__Impl10491 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__3__Impl_in_rule__CompositeComponent__Group__310522 = new BitSet(new long[]{0x00000C0000100000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__4_in_rule__CompositeComponent__Group__310525 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3__0_in_rule__CompositeComponent__Group__3__Impl10552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__4__Impl_in_rule__CompositeComponent__Group__410583 = new BitSet(new long[]{0x0000400020200000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__5_in_rule__CompositeComponent__Group__410586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__CompositeComponent__Group__4__Impl10614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__5__Impl_in_rule__CompositeComponent__Group__510645 = new BitSet(new long[]{0x0000400020200000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__6_in_rule__CompositeComponent__Group__510648 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__0_in_rule__CompositeComponent__Group__5__Impl10675 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__6__Impl_in_rule__CompositeComponent__Group__610706 = new BitSet(new long[]{0x0000400020200000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__7_in_rule__CompositeComponent__Group__610709 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_6__0_in_rule__CompositeComponent__Group__6__Impl10736 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group__7__Impl_in_rule__CompositeComponent__Group__710767 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__CompositeComponent__Group__7__Impl10795 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2__0__Impl_in_rule__CompositeComponent__Group_2__010842 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2__1_in_rule__CompositeComponent__Group_2__010845 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__ProvidedRolesAssignment_2_0_in_rule__CompositeComponent__Group_2__0__Impl10872 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2__1__Impl_in_rule__CompositeComponent__Group_2__110902 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2_1__0_in_rule__CompositeComponent__Group_2__1__Impl10929 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2_1__0__Impl_in_rule__CompositeComponent__Group_2_1__010964 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2_1__1_in_rule__CompositeComponent__Group_2_1__010967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__CompositeComponent__Group_2_1__0__Impl10995 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2_1__1__Impl_in_rule__CompositeComponent__Group_2_1__111026 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__ProvidedRolesAssignment_2_1_1_in_rule__CompositeComponent__Group_2_1__1__Impl11053 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3__0__Impl_in_rule__CompositeComponent__Group_3__011087 = new BitSet(new long[]{0x0000000004000000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3__1_in_rule__CompositeComponent__Group_3__011090 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__RequiredRolesAssignment_3_0_in_rule__CompositeComponent__Group_3__0__Impl11117 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3__1__Impl_in_rule__CompositeComponent__Group_3__111147 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3_1__0_in_rule__CompositeComponent__Group_3__1__Impl11174 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3_1__0__Impl_in_rule__CompositeComponent__Group_3_1__011209 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3_1__1_in_rule__CompositeComponent__Group_3_1__011212 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__CompositeComponent__Group_3_1__0__Impl11240 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3_1__1__Impl_in_rule__CompositeComponent__Group_3_1__111271 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__RequiredRolesAssignment_3_1_1_in_rule__CompositeComponent__Group_3_1__1__Impl11298 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__0__Impl_in_rule__CompositeComponent__Group_5__011332 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__1_in_rule__CompositeComponent__Group_5__011335 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__CompositeComponent__Group_5__0__Impl11363 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__1__Impl_in_rule__CompositeComponent__Group_5__111394 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__2_in_rule__CompositeComponent__Group_5__111397 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__CompositeComponent__Group_5__1__Impl11425 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__2__Impl_in_rule__CompositeComponent__Group_5__211456 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__3_in_rule__CompositeComponent__Group_5__211459 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__RelationshipAssignment_5_2_in_rule__CompositeComponent__Group_5__2__Impl11486 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__3__Impl_in_rule__CompositeComponent__Group_5__311516 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__4_in_rule__CompositeComponent__Group_5__311519 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5_3__0_in_rule__CompositeComponent__Group_5__3__Impl11546 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__4__Impl_in_rule__CompositeComponent__Group_5__411577 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__CompositeComponent__Group_5__4__Impl11605 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5_3__0__Impl_in_rule__CompositeComponent__Group_5_3__011646 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5_3__1_in_rule__CompositeComponent__Group_5_3__011649 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__CompositeComponent__Group_5_3__0__Impl11677 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5_3__1__Impl_in_rule__CompositeComponent__Group_5_3__111708 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__RelationshipAssignment_5_3_1_in_rule__CompositeComponent__Group_5_3__1__Impl11735 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_6__0__Impl_in_rule__CompositeComponent__Group_6__011769 = new BitSet(new long[]{0x0001000000000000L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_6__1_in_rule__CompositeComponent__Group_6__011772 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__CompositeComponent__Group_6__0__Impl11800 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__Group_6__1__Impl_in_rule__CompositeComponent__Group_6__111831 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__CompositeComponent__AssemblyAssignment_6_1_in_rule__CompositeComponent__Group_6__1__Impl11858 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__0__Impl_in_rule__SubSystem__Group__011892 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__1_in_rule__SubSystem__Group__011895 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_47_in_rule__SubSystem__Group__0__Impl11923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__1__Impl_in_rule__SubSystem__Group__111954 = new BitSet(new long[]{0x00000000C0100000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__2_in_rule__SubSystem__Group__111957 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__NameAssignment_1_in_rule__SubSystem__Group__1__Impl11984 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__2__Impl_in_rule__SubSystem__Group__212014 = new BitSet(new long[]{0x00000000C0100000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__3_in_rule__SubSystem__Group__212017 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__0_in_rule__SubSystem__Group__2__Impl12044 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__3__Impl_in_rule__SubSystem__Group__312075 = new BitSet(new long[]{0x00000000C0100000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__4_in_rule__SubSystem__Group__312078 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__0_in_rule__SubSystem__Group__3__Impl12105 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__4__Impl_in_rule__SubSystem__Group__412136 = new BitSet(new long[]{0x0000400020200000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__5_in_rule__SubSystem__Group__412139 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__SubSystem__Group__4__Impl12167 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__5__Impl_in_rule__SubSystem__Group__512198 = new BitSet(new long[]{0x0000400020200000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__6_in_rule__SubSystem__Group__512201 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__0_in_rule__SubSystem__Group__5__Impl12228 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__6__Impl_in_rule__SubSystem__Group__612259 = new BitSet(new long[]{0x0000400020200000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__7_in_rule__SubSystem__Group__612262 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_6__0_in_rule__SubSystem__Group__6__Impl12289 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group__7__Impl_in_rule__SubSystem__Group__712320 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__SubSystem__Group__7__Impl12348 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__0__Impl_in_rule__SubSystem__Group_2__012395 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__1_in_rule__SubSystem__Group_2__012398 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_30_in_rule__SubSystem__Group_2__0__Impl12426 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__1__Impl_in_rule__SubSystem__Group_2__112457 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__2_in_rule__SubSystem__Group_2__112460 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__SubSystem__Group_2__1__Impl12488 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__2__Impl_in_rule__SubSystem__Group_2__212519 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__3_in_rule__SubSystem__Group_2__212522 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__ProvidedRolesAssignment_2_2_in_rule__SubSystem__Group_2__2__Impl12549 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__3__Impl_in_rule__SubSystem__Group_2__312579 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__4_in_rule__SubSystem__Group_2__312582 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2_3__0_in_rule__SubSystem__Group_2__3__Impl12609 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2__4__Impl_in_rule__SubSystem__Group_2__412640 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__SubSystem__Group_2__4__Impl12668 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2_3__0__Impl_in_rule__SubSystem__Group_2_3__012709 = new BitSet(new long[]{0x0000040000000000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2_3__1_in_rule__SubSystem__Group_2_3__012712 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__SubSystem__Group_2_3__0__Impl12740 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_2_3__1__Impl_in_rule__SubSystem__Group_2_3__112771 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__ProvidedRolesAssignment_2_3_1_in_rule__SubSystem__Group_2_3__1__Impl12798 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__0__Impl_in_rule__SubSystem__Group_3__012832 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__1_in_rule__SubSystem__Group_3__012835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_31_in_rule__SubSystem__Group_3__0__Impl12863 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__1__Impl_in_rule__SubSystem__Group_3__112894 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__2_in_rule__SubSystem__Group_3__112897 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__SubSystem__Group_3__1__Impl12925 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__2__Impl_in_rule__SubSystem__Group_3__212956 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__3_in_rule__SubSystem__Group_3__212959 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__RequiredRolesAssignment_3_2_in_rule__SubSystem__Group_3__2__Impl12986 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__3__Impl_in_rule__SubSystem__Group_3__313016 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__4_in_rule__SubSystem__Group_3__313019 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3_3__0_in_rule__SubSystem__Group_3__3__Impl13046 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3__4__Impl_in_rule__SubSystem__Group_3__413077 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__SubSystem__Group_3__4__Impl13105 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3_3__0__Impl_in_rule__SubSystem__Group_3_3__013146 = new BitSet(new long[]{0x0000080000000000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3_3__1_in_rule__SubSystem__Group_3_3__013149 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__SubSystem__Group_3_3__0__Impl13177 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_3_3__1__Impl_in_rule__SubSystem__Group_3_3__113208 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__RequiredRolesAssignment_3_3_1_in_rule__SubSystem__Group_3_3__1__Impl13235 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__0__Impl_in_rule__SubSystem__Group_5__013269 = new BitSet(new long[]{0x0000000001000000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__1_in_rule__SubSystem__Group_5__013272 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rule__SubSystem__Group_5__0__Impl13300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__1__Impl_in_rule__SubSystem__Group_5__113331 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__2_in_rule__SubSystem__Group_5__113334 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_rule__SubSystem__Group_5__1__Impl13362 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__2__Impl_in_rule__SubSystem__Group_5__213393 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__3_in_rule__SubSystem__Group_5__213396 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__RelationshipAssignment_5_2_in_rule__SubSystem__Group_5__2__Impl13423 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__3__Impl_in_rule__SubSystem__Group_5__313453 = new BitSet(new long[]{0x0000000006000000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__4_in_rule__SubSystem__Group_5__313456 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5_3__0_in_rule__SubSystem__Group_5__3__Impl13483 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5__4__Impl_in_rule__SubSystem__Group_5__413514 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_25_in_rule__SubSystem__Group_5__4__Impl13542 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5_3__0__Impl_in_rule__SubSystem__Group_5_3__013583 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5_3__1_in_rule__SubSystem__Group_5_3__013586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__SubSystem__Group_5_3__0__Impl13614 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_5_3__1__Impl_in_rule__SubSystem__Group_5_3__113645 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__RelationshipAssignment_5_3_1_in_rule__SubSystem__Group_5_3__1__Impl13672 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_6__0__Impl_in_rule__SubSystem__Group_6__013706 = new BitSet(new long[]{0x0001000000000000L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_6__1_in_rule__SubSystem__Group_6__013709 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_rule__SubSystem__Group_6__0__Impl13737 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__Group_6__1__Impl_in_rule__SubSystem__Group_6__113768 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__SubSystem__AssemblyAssignment_6_1_in_rule__SubSystem__Group_6__1__Impl13795 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__0__Impl_in_rule__ComposedStructureAssembly__Group__013829 = new BitSet(new long[]{0x0001000000000000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__1_in_rule__ComposedStructureAssembly__Group__013832 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__1__Impl_in_rule__ComposedStructureAssembly__Group__113890 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__2_in_rule__ComposedStructureAssembly__Group__113893 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_rule__ComposedStructureAssembly__Group__1__Impl13921 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__2__Impl_in_rule__ComposedStructureAssembly__Group__213952 = new BitSet(new long[]{0x001E000000200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__3_in_rule__ComposedStructureAssembly__Group__213955 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group__2__Impl13983 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__3__Impl_in_rule__ComposedStructureAssembly__Group__314014 = new BitSet(new long[]{0x001E000000200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__4_in_rule__ComposedStructureAssembly__Group__314017 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__0_in_rule__ComposedStructureAssembly__Group__3__Impl14044 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__4__Impl_in_rule__ComposedStructureAssembly__Group__414075 = new BitSet(new long[]{0x001E000000200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__5_in_rule__ComposedStructureAssembly__Group__414078 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__0_in_rule__ComposedStructureAssembly__Group__4__Impl14105 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__5__Impl_in_rule__ComposedStructureAssembly__Group__514136 = new BitSet(new long[]{0x001E000000200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__6_in_rule__ComposedStructureAssembly__Group__514139 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__0_in_rule__ComposedStructureAssembly__Group__5__Impl14166 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__6__Impl_in_rule__ComposedStructureAssembly__Group__614197 = new BitSet(new long[]{0x001E000000200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__7_in_rule__ComposedStructureAssembly__Group__614200 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__0_in_rule__ComposedStructureAssembly__Group__6__Impl14227 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__7__Impl_in_rule__ComposedStructureAssembly__Group__714258 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group__7__Impl14286 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__0__Impl_in_rule__ComposedStructureAssembly__Group_3__014333 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__1_in_rule__ComposedStructureAssembly__Group_3__014336 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_49_in_rule__ComposedStructureAssembly__Group_3__0__Impl14364 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__1__Impl_in_rule__ComposedStructureAssembly__Group_3__114395 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__2_in_rule__ComposedStructureAssembly__Group_3__114398 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group_3__1__Impl14426 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__2__Impl_in_rule__ComposedStructureAssembly__Group_3__214457 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__3_in_rule__ComposedStructureAssembly__Group_3__214460 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2_in_rule__ComposedStructureAssembly__Group_3__2__Impl14487 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__3__Impl_in_rule__ComposedStructureAssembly__Group_3__314517 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__4_in_rule__ComposedStructureAssembly__Group_3__314520 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3_3__0_in_rule__ComposedStructureAssembly__Group_3__3__Impl14547 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__4__Impl_in_rule__ComposedStructureAssembly__Group_3__414578 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group_3__4__Impl14606 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3_3__0__Impl_in_rule__ComposedStructureAssembly__Group_3_3__014647 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3_3__1_in_rule__ComposedStructureAssembly__Group_3_3__014650 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__ComposedStructureAssembly__Group_3_3__0__Impl14678 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3_3__1__Impl_in_rule__ComposedStructureAssembly__Group_3_3__114709 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1_in_rule__ComposedStructureAssembly__Group_3_3__1__Impl14736 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__0__Impl_in_rule__ComposedStructureAssembly__Group_4__014770 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__1_in_rule__ComposedStructureAssembly__Group_4__014773 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_50_in_rule__ComposedStructureAssembly__Group_4__0__Impl14801 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__1__Impl_in_rule__ComposedStructureAssembly__Group_4__114832 = new BitSet(new long[]{0x0080000000000000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__2_in_rule__ComposedStructureAssembly__Group_4__114835 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group_4__1__Impl14863 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__2__Impl_in_rule__ComposedStructureAssembly__Group_4__214894 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__3_in_rule__ComposedStructureAssembly__Group_4__214897 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2_in_rule__ComposedStructureAssembly__Group_4__2__Impl14924 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__3__Impl_in_rule__ComposedStructureAssembly__Group_4__314954 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__4_in_rule__ComposedStructureAssembly__Group_4__314957 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4_3__0_in_rule__ComposedStructureAssembly__Group_4__3__Impl14984 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__4__Impl_in_rule__ComposedStructureAssembly__Group_4__415015 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group_4__4__Impl15043 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4_3__0__Impl_in_rule__ComposedStructureAssembly__Group_4_3__015084 = new BitSet(new long[]{0x0080000000000000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4_3__1_in_rule__ComposedStructureAssembly__Group_4_3__015087 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__ComposedStructureAssembly__Group_4_3__0__Impl15115 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4_3__1__Impl_in_rule__ComposedStructureAssembly__Group_4_3__115146 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1_in_rule__ComposedStructureAssembly__Group_4_3__1__Impl15173 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__0__Impl_in_rule__ComposedStructureAssembly__Group_5__015207 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__1_in_rule__ComposedStructureAssembly__Group_5__015210 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_51_in_rule__ComposedStructureAssembly__Group_5__0__Impl15238 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__1__Impl_in_rule__ComposedStructureAssembly__Group_5__115269 = new BitSet(new long[]{0x1000000000000000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__2_in_rule__ComposedStructureAssembly__Group_5__115272 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group_5__1__Impl15300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__2__Impl_in_rule__ComposedStructureAssembly__Group_5__215331 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__3_in_rule__ComposedStructureAssembly__Group_5__215334 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2_in_rule__ComposedStructureAssembly__Group_5__2__Impl15361 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__3__Impl_in_rule__ComposedStructureAssembly__Group_5__315391 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__4_in_rule__ComposedStructureAssembly__Group_5__315394 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5_3__0_in_rule__ComposedStructureAssembly__Group_5__3__Impl15421 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__4__Impl_in_rule__ComposedStructureAssembly__Group_5__415452 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group_5__4__Impl15480 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5_3__0__Impl_in_rule__ComposedStructureAssembly__Group_5_3__015521 = new BitSet(new long[]{0x1000000000000000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5_3__1_in_rule__ComposedStructureAssembly__Group_5_3__015524 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__ComposedStructureAssembly__Group_5_3__0__Impl15552 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5_3__1__Impl_in_rule__ComposedStructureAssembly__Group_5_3__115583 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1_in_rule__ComposedStructureAssembly__Group_5_3__1__Impl15610 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__0__Impl_in_rule__ComposedStructureAssembly__Group_6__015644 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__1_in_rule__ComposedStructureAssembly__Group_6__015647 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_52_in_rule__ComposedStructureAssembly__Group_6__0__Impl15675 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__1__Impl_in_rule__ComposedStructureAssembly__Group_6__115706 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__2_in_rule__ComposedStructureAssembly__Group_6__115709 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group_6__1__Impl15737 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__2__Impl_in_rule__ComposedStructureAssembly__Group_6__215768 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__3_in_rule__ComposedStructureAssembly__Group_6__215771 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2_in_rule__ComposedStructureAssembly__Group_6__2__Impl15798 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__3__Impl_in_rule__ComposedStructureAssembly__Group_6__315828 = new BitSet(new long[]{0x0000000004200000L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__4_in_rule__ComposedStructureAssembly__Group_6__315831 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6_3__0_in_rule__ComposedStructureAssembly__Group_6__3__Impl15858 = new BitSet(new long[]{0x0000000004000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__4__Impl_in_rule__ComposedStructureAssembly__Group_6__415889 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group_6__4__Impl15917 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6_3__0__Impl_in_rule__ComposedStructureAssembly__Group_6_3__015958 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6_3__1_in_rule__ComposedStructureAssembly__Group_6_3__015961 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_rule__ComposedStructureAssembly__Group_6_3__0__Impl15989 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6_3__1__Impl_in_rule__ComposedStructureAssembly__Group_6_3__116020 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1_in_rule__ComposedStructureAssembly__Group_6_3__1__Impl16047 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__0__Impl_in_rule__AssemblyContext__Group__016081 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__1_in_rule__AssemblyContext__Group__016084 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_rule__AssemblyContext__Group__0__Impl16112 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__1__Impl_in_rule__AssemblyContext__Group__116143 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__2_in_rule__AssemblyContext__Group__116146 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__NameAssignment_1_in_rule__AssemblyContext__Group__1__Impl16173 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__2__Impl_in_rule__AssemblyContext__Group__216203 = new BitSet(new long[]{0x0040000000000000L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__3_in_rule__AssemblyContext__Group__216206 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AssemblyContext__Group__2__Impl16234 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__3__Impl_in_rule__AssemblyContext__Group__316265 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__4_in_rule__AssemblyContext__Group__316268 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_54_in_rule__AssemblyContext__Group__3__Impl16296 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__4__Impl_in_rule__AssemblyContext__Group__416327 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__5_in_rule__AssemblyContext__Group__416330 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__EncapsulatedComponentAssignment_4_in_rule__AssemblyContext__Group__4__Impl16357 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyContext__Group__5__Impl_in_rule__AssemblyContext__Group__516387 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__AssemblyContext__Group__5__Impl16415 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__0__Impl_in_rule__AssemblyConnector__Group__016458 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__1_in_rule__AssemblyConnector__Group__016461 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_55_in_rule__AssemblyConnector__Group__0__Impl16489 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__1__Impl_in_rule__AssemblyConnector__Group__116520 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__2_in_rule__AssemblyConnector__Group__116523 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__NameAssignment_1_in_rule__AssemblyConnector__Group__1__Impl16550 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__2__Impl_in_rule__AssemblyConnector__Group__216580 = new BitSet(new long[]{0x0100000000000000L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__3_in_rule__AssemblyConnector__Group__216583 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__AssemblyConnector__Group__2__Impl16611 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__3__Impl_in_rule__AssemblyConnector__Group__316642 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__4_in_rule__AssemblyConnector__Group__316645 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_56_in_rule__AssemblyConnector__Group__3__Impl16673 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__4__Impl_in_rule__AssemblyConnector__Group__416704 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__5_in_rule__AssemblyConnector__Group__416707 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__RequiredRoleAssignment_4_in_rule__AssemblyConnector__Group__4__Impl16734 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__5__Impl_in_rule__AssemblyConnector__Group__516764 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__6_in_rule__AssemblyConnector__Group__516767 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_57_in_rule__AssemblyConnector__Group__5__Impl16795 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__6__Impl_in_rule__AssemblyConnector__Group__616826 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__7_in_rule__AssemblyConnector__Group__616829 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__ProvidedRoleAssignment_6_in_rule__AssemblyConnector__Group__6__Impl16856 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__7__Impl_in_rule__AssemblyConnector__Group__716886 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__8_in_rule__AssemblyConnector__Group__716889 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_58_in_rule__AssemblyConnector__Group__7__Impl16917 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__8__Impl_in_rule__AssemblyConnector__Group__816948 = new BitSet(new long[]{0x0800000000000000L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__9_in_rule__AssemblyConnector__Group__816951 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8_in_rule__AssemblyConnector__Group__8__Impl16978 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__9__Impl_in_rule__AssemblyConnector__Group__917008 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__10_in_rule__AssemblyConnector__Group__917011 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_59_in_rule__AssemblyConnector__Group__9__Impl17039 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__10__Impl_in_rule__AssemblyConnector__Group__1017070 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__11_in_rule__AssemblyConnector__Group__1017073 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__RequiringAssemblyContextAssignment_10_in_rule__AssemblyConnector__Group__10__Impl17100 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__11__Impl_in_rule__AssemblyConnector__Group__1117130 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__AssemblyConnector__Group__11__Impl17158 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__0__Impl_in_rule__ProvidedDelegationConnector__Group__017213 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__1_in_rule__ProvidedDelegationConnector__Group__017216 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_rule__ProvidedDelegationConnector__Group__0__Impl17244 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__1__Impl_in_rule__ProvidedDelegationConnector__Group__117275 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__2_in_rule__ProvidedDelegationConnector__Group__117278 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__NameAssignment_1_in_rule__ProvidedDelegationConnector__Group__1__Impl17305 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__2__Impl_in_rule__ProvidedDelegationConnector__Group__217335 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__3_in_rule__ProvidedDelegationConnector__Group__217338 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__ProvidedDelegationConnector__Group__2__Impl17366 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__3__Impl_in_rule__ProvidedDelegationConnector__Group__317397 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__4_in_rule__ProvidedDelegationConnector__Group__317400 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rule__ProvidedDelegationConnector__Group__3__Impl17428 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__4__Impl_in_rule__ProvidedDelegationConnector__Group__417459 = new BitSet(new long[]{0x4000000000000000L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__5_in_rule__ProvidedDelegationConnector__Group__417462 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__AssemblyContextAssignment_4_in_rule__ProvidedDelegationConnector__Group__4__Impl17489 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__5__Impl_in_rule__ProvidedDelegationConnector__Group__517519 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__6_in_rule__ProvidedDelegationConnector__Group__517522 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_62_in_rule__ProvidedDelegationConnector__Group__5__Impl17550 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__6__Impl_in_rule__ProvidedDelegationConnector__Group__617581 = new BitSet(new long[]{0x8000000000000000L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__7_in_rule__ProvidedDelegationConnector__Group__617584 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6_in_rule__ProvidedDelegationConnector__Group__6__Impl17611 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__7__Impl_in_rule__ProvidedDelegationConnector__Group__717641 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__8_in_rule__ProvidedDelegationConnector__Group__717644 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_rule__ProvidedDelegationConnector__Group__7__Impl17672 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__8__Impl_in_rule__ProvidedDelegationConnector__Group__817703 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__9_in_rule__ProvidedDelegationConnector__Group__817706 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8_in_rule__ProvidedDelegationConnector__Group__8__Impl17733 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__9__Impl_in_rule__ProvidedDelegationConnector__Group__917763 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__ProvidedDelegationConnector__Group__9__Impl17791 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__0__Impl_in_rule__RequiredDelegationConnector__Group__017842 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__1_in_rule__RequiredDelegationConnector__Group__017845 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_64_in_rule__RequiredDelegationConnector__Group__0__Impl17873 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__1__Impl_in_rule__RequiredDelegationConnector__Group__117904 = new BitSet(new long[]{0x0000000000100000L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__2_in_rule__RequiredDelegationConnector__Group__117907 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__NameAssignment_1_in_rule__RequiredDelegationConnector__Group__1__Impl17934 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__2__Impl_in_rule__RequiredDelegationConnector__Group__217964 = new BitSet(new long[]{0x2000000000000000L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__3_in_rule__RequiredDelegationConnector__Group__217967 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_rule__RequiredDelegationConnector__Group__2__Impl17995 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__3__Impl_in_rule__RequiredDelegationConnector__Group__318026 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__4_in_rule__RequiredDelegationConnector__Group__318029 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rule__RequiredDelegationConnector__Group__3__Impl18057 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__4__Impl_in_rule__RequiredDelegationConnector__Group__418088 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__5_in_rule__RequiredDelegationConnector__Group__418091 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__AssemblyContextAssignment_4_in_rule__RequiredDelegationConnector__Group__4__Impl18118 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__5__Impl_in_rule__RequiredDelegationConnector__Group__518148 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__6_in_rule__RequiredDelegationConnector__Group__518151 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_rule__RequiredDelegationConnector__Group__5__Impl18179 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__6__Impl_in_rule__RequiredDelegationConnector__Group__618210 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__7_in_rule__RequiredDelegationConnector__Group__618213 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6_in_rule__RequiredDelegationConnector__Group__6__Impl18240 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__7__Impl_in_rule__RequiredDelegationConnector__Group__718270 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__8_in_rule__RequiredDelegationConnector__Group__718273 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_66_in_rule__RequiredDelegationConnector__Group__7__Impl18301 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__8__Impl_in_rule__RequiredDelegationConnector__Group__818332 = new BitSet(new long[]{0x0000000000200000L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__9_in_rule__RequiredDelegationConnector__Group__818335 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8_in_rule__RequiredDelegationConnector__Group__8__Impl18362 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__9__Impl_in_rule__RequiredDelegationConnector__Group__918392 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_21_in_rule__RequiredDelegationConnector__Group__9__Impl18420 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Repository__NameAssignment_118476 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDataType_in_rule__Repository__DatatypesAssignment_3_018507 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInterface_in_rule__Repository__InterfacesAssignment_3_118538 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_in_rule__Repository__ComponentsAssignment_3_218569 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Interface__NameAssignment_118600 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Interface__ParentInterfacesAssignment_3_218635 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Interface__ParentInterfacesAssignment_3_3_118674 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSignature_in_rule__Interface__SignaturesAssignment_4_218709 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSignature_in_rule__Interface__SignaturesAssignment_4_3_118740 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__NameAssignment_118771 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__RelationshipAssignment_3_218806 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_118845 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_218880 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_118911 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_218942 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_118973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__CollectionDataType__NameAssignment_119004 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__CollectionDataType__InnerTypeAssignment_419039 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeDataType__NameAssignment_119074 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeDataType__ParentTypesAssignment_3_219109 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeDataType__ParentTypesAssignment_3_3_119148 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_rule__CompositeDataType__InnerDeclarationsAssignment_4_219183 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_rule__CompositeDataType__InnerDeclarationsAssignment_4_3_119214 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeEnum_in_rule__PrimitiveDataType__TypeAssignment_319245 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__PrimitiveDataType__NameAssignment_519276 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__InnerDeclaration__NameAssignment_119307 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__InnerDeclaration__DataTypeAssignment_419342 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Signature__ReturnTypeAssignment_0_019381 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Signature__NameAssignment_119416 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameter_in_rule__Signature__ParametersAssignment_3_019447 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameter_in_rule__Signature__ParametersAssignment_3_1_119478 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__DataTypeAssignment_019513 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_119548 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedRole__InterfaceAssignment_2_019583 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredRole__InterfaceAssignment_2_019622 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__BasicComponent__NameAssignment_119657 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__BasicComponent__ProvidedRolesAssignment_2_019688 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__BasicComponent__ProvidedRolesAssignment_2_1_119719 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__BasicComponent__RequiredRolesAssignment_3_019750 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__BasicComponent__RequiredRolesAssignment_3_1_119781 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__BasicComponent__RelationshipAssignment_5_219816 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__BasicComponent__RelationshipAssignment_5_3_119855 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeComponent__NameAssignment_119890 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__CompositeComponent__ProvidedRolesAssignment_2_019921 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__CompositeComponent__ProvidedRolesAssignment_2_1_119952 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__CompositeComponent__RequiredRolesAssignment_3_019983 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__CompositeComponent__RequiredRolesAssignment_3_1_120014 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeComponent__RelationshipAssignment_5_220049 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeComponent__RelationshipAssignment_5_3_120088 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_rule__CompositeComponent__AssemblyAssignment_6_120123 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__SubSystem__NameAssignment_120154 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__SubSystem__ProvidedRolesAssignment_2_220185 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__SubSystem__ProvidedRolesAssignment_2_3_120216 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__SubSystem__RequiredRolesAssignment_3_220247 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__SubSystem__RequiredRolesAssignment_3_3_120278 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__SubSystem__RelationshipAssignment_5_220313 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__SubSystem__RelationshipAssignment_5_3_120352 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_rule__SubSystem__AssemblyAssignment_6_120387 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_220418 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_120449 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_220480 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_120511 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_220542 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_120573 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_220604 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_120635 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyContext__NameAssignment_120666 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyContext__EncapsulatedComponentAssignment_420701 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__NameAssignment_120736 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__RequiredRoleAssignment_420771 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__ProvidedRoleAssignment_620810 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__ProvidingAssemblyContextAssignment_820849 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__RequiringAssemblyContextAssignment_1020888 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__NameAssignment_120923 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__AssemblyContextAssignment_420958 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_620997 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_821036 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__NameAssignment_121071 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__AssemblyContextAssignment_421106 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_621145 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_821184 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImport_in_entryRuleImport121 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleImport128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedNameWithWildCard_in_entryRuleQualifiedNameWithWildCard181 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildCard188 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__0_in_ruleQualifiedNameWithWildCard214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName241 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName274 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType301 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleDataType308 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__DataType__Alternatives_in_ruleDataType334 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent361 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent__Alternatives_in_ruleRepositoryComponent394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString421 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEString428 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString454 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInterface_in_entryRuleInterface481 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleInterface488 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group__0_in_ruleInterface514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl541 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__0_in_ruleRepositoryComponent_Impl574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType601 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionDataType608 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__0_in_ruleCollectionDataType634 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType661 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeDataType668 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__0_in_ruleCompositeDataType694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType721 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveDataType728 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__0_in_rulePrimitiveDataType754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration781 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleInnerDeclaration788 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__0_in_ruleInnerDeclaration814 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSignature_in_entryRuleSignature841 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSignature848 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group__0_in_ruleSignature874 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter901 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleParameter908 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__0_in_ruleParameter934 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole961 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedRole968 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedRole__Group__0_in_ruleProvidedRole994 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole1021 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredRole1028 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredRole__Group__0_in_ruleRequiredRole1054 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent1081 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleBasicComponent1088 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__0_in_ruleBasicComponent1114 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent1141 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeComponent1148 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__0_in_ruleCompositeComponent1174 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSubSystem_in_entryRuleSubSystem1201 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSubSystem1208 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__0_in_ruleSubSystem1234 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_entryRuleComposedStructureAssembly1261 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleComposedStructureAssembly1268 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__0_in_ruleComposedStructureAssembly1294 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext1321 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyContext1328 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__0_in_ruleAssemblyContext1354 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector1381 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyConnector1388 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__0_in_ruleAssemblyConnector1414 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector1441 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedDelegationConnector1448 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__0_in_ruleProvidedDelegationConnector1474 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector1501 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredDelegationConnector1508 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__0_in_ruleRequiredDelegationConnector1534 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveTypeEnum__Alternatives_in_rulePrimitiveTypeEnum1571 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionDataType_in_rule__DataType__Alternatives1606 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCompositeDataType_in_rule__DataType__Alternatives1623 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveDataType_in_rule__DataType__Alternatives1640 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_rule__RepositoryComponent__Alternatives1672 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBasicComponent_in_rule__RepositoryComponent__Alternatives1689 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCompositeComponent_in_rule__RepositoryComponent__Alternatives1706 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSubSystem_in_rule__RepositoryComponent__Alternatives1723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives1755 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives1772 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__ReturnTypeAssignment_0_0_in_rule__Signature__Alternatives_01804 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_11_in_rule__Signature__Alternatives_01823 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_12_in_rule__PrimitiveTypeEnum__Alternatives1858 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_13_in_rule__PrimitiveTypeEnum__Alternatives1879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_14_in_rule__PrimitiveTypeEnum__Alternatives1900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_15_in_rule__PrimitiveTypeEnum__Alternatives1921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_16_in_rule__PrimitiveTypeEnum__Alternatives1942 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_17_in_rule__PrimitiveTypeEnum__Alternatives1963 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_18_in_rule__PrimitiveTypeEnum__Alternatives1984 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group__0__Impl_in_rule__Repository__Group__02017 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__Repository__Group__1_in_rule__Repository__Group__02020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_19_in_rule__Repository__Group__0__Impl2048 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group__1__Impl_in_rule__Repository__Group__12079 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__Repository__Group__2_in_rule__Repository__Group__12082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__NameAssignment_1_in_rule__Repository__Group__1__Impl2109 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group__2__Impl_in_rule__Repository__Group__22139 = new BitSet(new long[]{0x000000000B600000L});
+        public static final BitSet FOLLOW_rule__Repository__Group__3_in_rule__Repository__Group__22142 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__Repository__Group__2__Impl2170 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group__3__Impl_in_rule__Repository__Group__32201 = new BitSet(new long[]{0x000000000B600000L});
+        public static final BitSet FOLLOW_rule__Repository__Group__4_in_rule__Repository__Group__32204 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__0_in_rule__Repository__Group__3__Impl2231 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group__4__Impl_in_rule__Repository__Group__42262 = new BitSet(new long[]{0x000000000B600000L});
+        public static final BitSet FOLLOW_rule__Repository__Group__5_in_rule__Repository__Group__42265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__0_in_rule__Repository__Group__4__Impl2292 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group__5__Impl_in_rule__Repository__Group__52323 = new BitSet(new long[]{0x000000000B600000L});
+        public static final BitSet FOLLOW_rule__Repository__Group__6_in_rule__Repository__Group__52326 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__0_in_rule__Repository__Group__5__Impl2353 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group__6__Impl_in_rule__Repository__Group__62384 = new BitSet(new long[]{0x000000000B600000L});
+        public static final BitSet FOLLOW_rule__Repository__Group__7_in_rule__Repository__Group__62387 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__0_in_rule__Repository__Group__6__Impl2414 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group__7__Impl_in_rule__Repository__Group__72445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Repository__Group__7__Impl2473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__0__Impl_in_rule__Repository__Group_3__02520 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__1_in_rule__Repository__Group_3__02523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_22_in_rule__Repository__Group_3__0__Impl2551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__1__Impl_in_rule__Repository__Group_3__12582 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__2_in_rule__Repository__Group_3__12585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__Repository__Group_3__1__Impl2613 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__2__Impl_in_rule__Repository__Group_3__22644 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__3_in_rule__Repository__Group_3__22647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__ImportsAssignment_3_2_in_rule__Repository__Group_3__2__Impl2674 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__3__Impl_in_rule__Repository__Group_3__32704 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__4_in_rule__Repository__Group_3__32707 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3_3__0_in_rule__Repository__Group_3__3__Impl2734 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3__4__Impl_in_rule__Repository__Group_3__42765 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Repository__Group_3__4__Impl2793 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3_3__0__Impl_in_rule__Repository__Group_3_3__02834 = new BitSet(new long[]{0x0000000010000000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3_3__1_in_rule__Repository__Group_3_3__02837 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__Repository__Group_3_3__0__Impl2865 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_3_3__1__Impl_in_rule__Repository__Group_3_3__12896 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__ImportsAssignment_3_3_1_in_rule__Repository__Group_3_3__1__Impl2923 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__0__Impl_in_rule__Repository__Group_4__02957 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__1_in_rule__Repository__Group_4__02960 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_24_in_rule__Repository__Group_4__0__Impl2988 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__1__Impl_in_rule__Repository__Group_4__13019 = new BitSet(new long[]{0x0000128000000000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__2_in_rule__Repository__Group_4__13022 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__Repository__Group_4__1__Impl3050 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__2__Impl_in_rule__Repository__Group_4__23081 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__3_in_rule__Repository__Group_4__23084 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__DatatypesAssignment_4_2_in_rule__Repository__Group_4__2__Impl3111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__3__Impl_in_rule__Repository__Group_4__33141 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__4_in_rule__Repository__Group_4__33144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4_3__0_in_rule__Repository__Group_4__3__Impl3171 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4__4__Impl_in_rule__Repository__Group_4__43202 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Repository__Group_4__4__Impl3230 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4_3__0__Impl_in_rule__Repository__Group_4_3__03271 = new BitSet(new long[]{0x0000128000000000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4_3__1_in_rule__Repository__Group_4_3__03274 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__Repository__Group_4_3__0__Impl3302 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_4_3__1__Impl_in_rule__Repository__Group_4_3__13333 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__DatatypesAssignment_4_3_1_in_rule__Repository__Group_4_3__1__Impl3360 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__0__Impl_in_rule__Repository__Group_5__03394 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__1_in_rule__Repository__Group_5__03397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_25_in_rule__Repository__Group_5__0__Impl3425 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__1__Impl_in_rule__Repository__Group_5__13456 = new BitSet(new long[]{0x0058000800000000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__2_in_rule__Repository__Group_5__13459 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__Repository__Group_5__1__Impl3487 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__2__Impl_in_rule__Repository__Group_5__23518 = new BitSet(new long[]{0x0000000004200000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__3_in_rule__Repository__Group_5__23521 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__ComponentsAssignment_5_2_in_rule__Repository__Group_5__2__Impl3548 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__3__Impl_in_rule__Repository__Group_5__33578 = new BitSet(new long[]{0x0000000004200000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__4_in_rule__Repository__Group_5__33581 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5_3__0_in_rule__Repository__Group_5__3__Impl3608 = new BitSet(new long[]{0x0000000004000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5__4__Impl_in_rule__Repository__Group_5__43639 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Repository__Group_5__4__Impl3667 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5_3__0__Impl_in_rule__Repository__Group_5_3__03708 = new BitSet(new long[]{0x0058000800000000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5_3__1_in_rule__Repository__Group_5_3__03711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_26_in_rule__Repository__Group_5_3__0__Impl3739 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_5_3__1__Impl_in_rule__Repository__Group_5_3__13770 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__ComponentsAssignment_5_3_1_in_rule__Repository__Group_5_3__1__Impl3797 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__0__Impl_in_rule__Repository__Group_6__03831 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__1_in_rule__Repository__Group_6__03834 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_rule__Repository__Group_6__0__Impl3862 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__1__Impl_in_rule__Repository__Group_6__13893 = new BitSet(new long[]{0x0000000080000000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__2_in_rule__Repository__Group_6__13896 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__Repository__Group_6__1__Impl3924 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__2__Impl_in_rule__Repository__Group_6__23955 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__3_in_rule__Repository__Group_6__23958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__InterfacesAssignment_6_2_in_rule__Repository__Group_6__2__Impl3985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__3__Impl_in_rule__Repository__Group_6__34015 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__4_in_rule__Repository__Group_6__34018 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6_3__0_in_rule__Repository__Group_6__3__Impl4045 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6__4__Impl_in_rule__Repository__Group_6__44076 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Repository__Group_6__4__Impl4104 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6_3__0__Impl_in_rule__Repository__Group_6_3__04145 = new BitSet(new long[]{0x0000000080000000L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6_3__1_in_rule__Repository__Group_6_3__04148 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__Repository__Group_6_3__0__Impl4176 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__Group_6_3__1__Impl_in_rule__Repository__Group_6_3__14207 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Repository__InterfacesAssignment_6_3_1_in_rule__Repository__Group_6_3__1__Impl4234 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__04268 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__04271 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_28_in_rule__Import__Group__0__Impl4299 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__14330 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_in_rule__Import__Group__1__Impl4357 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__0__Impl_in_rule__QualifiedNameWithWildCard__Group__04391 = new BitSet(new long[]{0x0000000020000000L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__1_in_rule__QualifiedNameWithWildCard__Group__04394 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__QualifiedNameWithWildCard__Group__0__Impl4421 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group__1__Impl_in_rule__QualifiedNameWithWildCard__Group__14450 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group_1__0_in_rule__QualifiedNameWithWildCard__Group__1__Impl4477 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group_1__0__Impl_in_rule__QualifiedNameWithWildCard__Group_1__04512 = new BitSet(new long[]{0x0000000040000000L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group_1__1_in_rule__QualifiedNameWithWildCard__Group_1__04515 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_29_in_rule__QualifiedNameWithWildCard__Group_1__0__Impl4543 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedNameWithWildCard__Group_1__1__Impl_in_rule__QualifiedNameWithWildCard__Group_1__14574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_30_in_rule__QualifiedNameWithWildCard__Group_1__1__Impl4602 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__04637 = new BitSet(new long[]{0x0000000020000000L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__04640 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl4667 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__14696 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl4723 = new BitSet(new long[]{0x0000000020000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__04758 = new BitSet(new long[]{0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__04761 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_29_in_rule__QualifiedName__Group_1__0__Impl4789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__14820 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl4847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group__0__Impl_in_rule__Interface__Group__04880 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Interface__Group__1_in_rule__Interface__Group__04883 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_rule__Interface__Group__0__Impl4911 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group__1__Impl_in_rule__Interface__Group__14942 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__Interface__Group__2_in_rule__Interface__Group__14945 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__NameAssignment_1_in_rule__Interface__Group__1__Impl4972 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group__2__Impl_in_rule__Interface__Group__25002 = new BitSet(new long[]{0x0000000100200830L});
+        public static final BitSet FOLLOW_rule__Interface__Group__3_in_rule__Interface__Group__25005 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__Interface__Group__2__Impl5033 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group__3__Impl_in_rule__Interface__Group__35064 = new BitSet(new long[]{0x0000000100200830L});
+        public static final BitSet FOLLOW_rule__Interface__Group__4_in_rule__Interface__Group__35067 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__0_in_rule__Interface__Group__3__Impl5094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group__4__Impl_in_rule__Interface__Group__45125 = new BitSet(new long[]{0x0000000100200830L});
+        public static final BitSet FOLLOW_rule__Interface__Group__5_in_rule__Interface__Group__45128 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_4__0_in_rule__Interface__Group__4__Impl5155 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group__5__Impl_in_rule__Interface__Group__55186 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__Interface__Group__5__Impl5214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__0__Impl_in_rule__Interface__Group_3__05257 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__1_in_rule__Interface__Group_3__05260 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_32_in_rule__Interface__Group_3__0__Impl5288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__1__Impl_in_rule__Interface__Group_3__15319 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__2_in_rule__Interface__Group_3__15322 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__Interface__Group_3__1__Impl5350 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__2__Impl_in_rule__Interface__Group_3__25381 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__3_in_rule__Interface__Group_3__25384 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__ParentInterfacesAssignment_3_2_in_rule__Interface__Group_3__2__Impl5411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__3__Impl_in_rule__Interface__Group_3__35441 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__4_in_rule__Interface__Group_3__35444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3_3__0_in_rule__Interface__Group_3__3__Impl5471 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3__4__Impl_in_rule__Interface__Group_3__45502 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__Interface__Group_3__4__Impl5530 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3_3__0__Impl_in_rule__Interface__Group_3_3__05571 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3_3__1_in_rule__Interface__Group_3_3__05574 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__Interface__Group_3_3__0__Impl5602 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_3_3__1__Impl_in_rule__Interface__Group_3_3__15633 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__ParentInterfacesAssignment_3_3_1_in_rule__Interface__Group_3_3__1__Impl5660 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_4__0__Impl_in_rule__Interface__Group_4__05694 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__Interface__Group_4__1_in_rule__Interface__Group_4__05697 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__SignaturesAssignment_4_0_in_rule__Interface__Group_4__0__Impl5724 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_4__1__Impl_in_rule__Interface__Group_4__15754 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_4_1__0_in_rule__Interface__Group_4__1__Impl5781 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_4_1__0__Impl_in_rule__Interface__Group_4_1__05816 = new BitSet(new long[]{0x0000000000000830L});
+        public static final BitSet FOLLOW_rule__Interface__Group_4_1__1_in_rule__Interface__Group_4_1__05819 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__Interface__Group_4_1__0__Impl5847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__Group_4_1__1__Impl_in_rule__Interface__Group_4_1__15878 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Interface__SignaturesAssignment_4_1_1_in_rule__Interface__Group_4_1__1__Impl5905 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__0__Impl_in_rule__RepositoryComponent_Impl__Group__05939 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__1_in_rule__RepositoryComponent_Impl__Group__05942 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_35_in_rule__RepositoryComponent_Impl__Group__0__Impl5970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__1__Impl_in_rule__RepositoryComponent_Impl__Group__16001 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__2_in_rule__RepositoryComponent_Impl__Group__16004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__NameAssignment_1_in_rule__RepositoryComponent_Impl__Group__1__Impl6031 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__2__Impl_in_rule__RepositoryComponent_Impl__Group__26061 = new BitSet(new long[]{0x0000007000200000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__3_in_rule__RepositoryComponent_Impl__Group__26064 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__RepositoryComponent_Impl__Group__2__Impl6092 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__3__Impl_in_rule__RepositoryComponent_Impl__Group__36123 = new BitSet(new long[]{0x0000007000200000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__4_in_rule__RepositoryComponent_Impl__Group__36126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__0_in_rule__RepositoryComponent_Impl__Group__3__Impl6153 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__4__Impl_in_rule__RepositoryComponent_Impl__Group__46184 = new BitSet(new long[]{0x0000007000200000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__5_in_rule__RepositoryComponent_Impl__Group__46187 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__0_in_rule__RepositoryComponent_Impl__Group__4__Impl6214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__5__Impl_in_rule__RepositoryComponent_Impl__Group__56245 = new BitSet(new long[]{0x0000007000200000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__6_in_rule__RepositoryComponent_Impl__Group__56248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__0_in_rule__RepositoryComponent_Impl__Group__5__Impl6275 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group__6__Impl_in_rule__RepositoryComponent_Impl__Group__66306 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__RepositoryComponent_Impl__Group__6__Impl6334 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_3__06379 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__1_in_rule__RepositoryComponent_Impl__Group_3__06382 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__RepositoryComponent_Impl__Group_3__0__Impl6410 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_3__16441 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__2_in_rule__RepositoryComponent_Impl__Group_3__16444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__RepositoryComponent_Impl__Group_3__1__Impl6472 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__2__Impl_in_rule__RepositoryComponent_Impl__Group_3__26503 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__3_in_rule__RepositoryComponent_Impl__Group_3__26506 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__RelationshipAssignment_3_2_in_rule__RepositoryComponent_Impl__Group_3__2__Impl6533 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__3__Impl_in_rule__RepositoryComponent_Impl__Group_3__36563 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__4_in_rule__RepositoryComponent_Impl__Group_3__36566 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__0_in_rule__RepositoryComponent_Impl__Group_3__3__Impl6593 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3__4__Impl_in_rule__RepositoryComponent_Impl__Group_3__46624 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__RepositoryComponent_Impl__Group_3__4__Impl6652 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_3_3__06693 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__1_in_rule__RepositoryComponent_Impl__Group_3_3__06696 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__RepositoryComponent_Impl__Group_3_3__0__Impl6724 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_3_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_3_3__16755 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_1_in_rule__RepositoryComponent_Impl__Group_3_3__1__Impl6782 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__0__Impl_in_rule__RepositoryComponent_Impl__Group_4__06816 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__1_in_rule__RepositoryComponent_Impl__Group_4__06819 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__RepositoryComponent_Impl__Group_4__0__Impl6847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__1__Impl_in_rule__RepositoryComponent_Impl__Group_4__16878 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__2_in_rule__RepositoryComponent_Impl__Group_4__16881 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__RepositoryComponent_Impl__Group_4__1__Impl6909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__2__Impl_in_rule__RepositoryComponent_Impl__Group_4__26940 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__3_in_rule__RepositoryComponent_Impl__Group_4__26943 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_2_in_rule__RepositoryComponent_Impl__Group_4__2__Impl6970 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__3__Impl_in_rule__RepositoryComponent_Impl__Group_4__37000 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__4_in_rule__RepositoryComponent_Impl__Group_4__37003 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__0_in_rule__RepositoryComponent_Impl__Group_4__3__Impl7030 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4__4__Impl_in_rule__RepositoryComponent_Impl__Group_4__47061 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__RepositoryComponent_Impl__Group_4__4__Impl7089 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_4_3__07130 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__1_in_rule__RepositoryComponent_Impl__Group_4_3__07133 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__RepositoryComponent_Impl__Group_4_3__0__Impl7161 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_4_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_4_3__17192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_1_in_rule__RepositoryComponent_Impl__Group_4_3__1__Impl7219 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__0__Impl_in_rule__RepositoryComponent_Impl__Group_5__07253 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__1_in_rule__RepositoryComponent_Impl__Group_5__07256 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_rule__RepositoryComponent_Impl__Group_5__0__Impl7284 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__1__Impl_in_rule__RepositoryComponent_Impl__Group_5__17315 = new BitSet(new long[]{0x0004000000000000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__2_in_rule__RepositoryComponent_Impl__Group_5__17318 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__RepositoryComponent_Impl__Group_5__1__Impl7346 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__2__Impl_in_rule__RepositoryComponent_Impl__Group_5__27377 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__3_in_rule__RepositoryComponent_Impl__Group_5__27380 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_2_in_rule__RepositoryComponent_Impl__Group_5__2__Impl7407 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__3__Impl_in_rule__RepositoryComponent_Impl__Group_5__37437 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__4_in_rule__RepositoryComponent_Impl__Group_5__37440 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__0_in_rule__RepositoryComponent_Impl__Group_5__3__Impl7467 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5__4__Impl_in_rule__RepositoryComponent_Impl__Group_5__47498 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__RepositoryComponent_Impl__Group_5__4__Impl7526 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__0__Impl_in_rule__RepositoryComponent_Impl__Group_5_3__07567 = new BitSet(new long[]{0x0004000000000000L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__1_in_rule__RepositoryComponent_Impl__Group_5_3__07570 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__RepositoryComponent_Impl__Group_5_3__0__Impl7598 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__Group_5_3__1__Impl_in_rule__RepositoryComponent_Impl__Group_5_3__17629 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_1_in_rule__RepositoryComponent_Impl__Group_5_3__1__Impl7656 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__0__Impl_in_rule__CollectionDataType__Group__07690 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__1_in_rule__CollectionDataType__Group__07693 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_rule__CollectionDataType__Group__0__Impl7721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__1__Impl_in_rule__CollectionDataType__Group__17752 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__2_in_rule__CollectionDataType__Group__17755 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__NameAssignment_1_in_rule__CollectionDataType__Group__1__Impl7782 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__2__Impl_in_rule__CollectionDataType__Group__27812 = new BitSet(new long[]{0x0000010000000000L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__3_in_rule__CollectionDataType__Group__27815 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__CollectionDataType__Group__2__Impl7843 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__3__Impl_in_rule__CollectionDataType__Group__37874 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__4_in_rule__CollectionDataType__Group__37877 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_40_in_rule__CollectionDataType__Group__3__Impl7905 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__4__Impl_in_rule__CollectionDataType__Group__47936 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__5_in_rule__CollectionDataType__Group__47939 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__InnerTypeAssignment_4_in_rule__CollectionDataType__Group__4__Impl7966 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CollectionDataType__Group__5__Impl_in_rule__CollectionDataType__Group__57996 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__CollectionDataType__Group__5__Impl8024 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__0__Impl_in_rule__CompositeDataType__Group__08067 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__1_in_rule__CompositeDataType__Group__08070 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_41_in_rule__CompositeDataType__Group__0__Impl8098 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__1__Impl_in_rule__CompositeDataType__Group__18129 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__2_in_rule__CompositeDataType__Group__18132 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__NameAssignment_1_in_rule__CompositeDataType__Group__1__Impl8159 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__2__Impl_in_rule__CompositeDataType__Group__28189 = new BitSet(new long[]{0x00000C0000200000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__3_in_rule__CompositeDataType__Group__28192 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__CompositeDataType__Group__2__Impl8220 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__3__Impl_in_rule__CompositeDataType__Group__38251 = new BitSet(new long[]{0x00000C0000200000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__4_in_rule__CompositeDataType__Group__38254 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__0_in_rule__CompositeDataType__Group__3__Impl8281 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__4__Impl_in_rule__CompositeDataType__Group__48312 = new BitSet(new long[]{0x00000C0000200000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__5_in_rule__CompositeDataType__Group__48315 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__0_in_rule__CompositeDataType__Group__4__Impl8342 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group__5__Impl_in_rule__CompositeDataType__Group__58373 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__CompositeDataType__Group__5__Impl8401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__0__Impl_in_rule__CompositeDataType__Group_3__08444 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__1_in_rule__CompositeDataType__Group_3__08447 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_rule__CompositeDataType__Group_3__0__Impl8475 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__1__Impl_in_rule__CompositeDataType__Group_3__18506 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__2_in_rule__CompositeDataType__Group_3__18509 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__CompositeDataType__Group_3__1__Impl8537 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__2__Impl_in_rule__CompositeDataType__Group_3__28568 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__3_in_rule__CompositeDataType__Group_3__28571 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__ParentTypesAssignment_3_2_in_rule__CompositeDataType__Group_3__2__Impl8598 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__3__Impl_in_rule__CompositeDataType__Group_3__38628 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__4_in_rule__CompositeDataType__Group_3__38631 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3_3__0_in_rule__CompositeDataType__Group_3__3__Impl8658 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3__4__Impl_in_rule__CompositeDataType__Group_3__48689 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__CompositeDataType__Group_3__4__Impl8717 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3_3__0__Impl_in_rule__CompositeDataType__Group_3_3__08758 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3_3__1_in_rule__CompositeDataType__Group_3_3__08761 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__CompositeDataType__Group_3_3__0__Impl8789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_3_3__1__Impl_in_rule__CompositeDataType__Group_3_3__18820 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__ParentTypesAssignment_3_3_1_in_rule__CompositeDataType__Group_3_3__1__Impl8847 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__0__Impl_in_rule__CompositeDataType__Group_4__08881 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__1_in_rule__CompositeDataType__Group_4__08884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_43_in_rule__CompositeDataType__Group_4__0__Impl8912 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__1__Impl_in_rule__CompositeDataType__Group_4__18943 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__2_in_rule__CompositeDataType__Group_4__18946 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__CompositeDataType__Group_4__1__Impl8974 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__2__Impl_in_rule__CompositeDataType__Group_4__29005 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__3_in_rule__CompositeDataType__Group_4__29008 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__InnerDeclarationsAssignment_4_2_in_rule__CompositeDataType__Group_4__2__Impl9035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__3__Impl_in_rule__CompositeDataType__Group_4__39065 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__4_in_rule__CompositeDataType__Group_4__39068 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4_3__0_in_rule__CompositeDataType__Group_4__3__Impl9095 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4__4__Impl_in_rule__CompositeDataType__Group_4__49126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__CompositeDataType__Group_4__4__Impl9154 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4_3__0__Impl_in_rule__CompositeDataType__Group_4_3__09195 = new BitSet(new long[]{0x0000800000000000L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4_3__1_in_rule__CompositeDataType__Group_4_3__09198 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__CompositeDataType__Group_4_3__0__Impl9226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__Group_4_3__1__Impl_in_rule__CompositeDataType__Group_4_3__19257 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeDataType__InnerDeclarationsAssignment_4_3_1_in_rule__CompositeDataType__Group_4_3__1__Impl9284 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__0__Impl_in_rule__PrimitiveDataType__Group__09318 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__1_in_rule__PrimitiveDataType__Group__09321 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_rule__PrimitiveDataType__Group__0__Impl9349 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__1__Impl_in_rule__PrimitiveDataType__Group__19380 = new BitSet(new long[]{0x0000200000000000L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__2_in_rule__PrimitiveDataType__Group__19383 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__PrimitiveDataType__Group__1__Impl9411 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__2__Impl_in_rule__PrimitiveDataType__Group__29442 = new BitSet(new long[]{0x000000000007F000L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__3_in_rule__PrimitiveDataType__Group__29445 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_rule__PrimitiveDataType__Group__2__Impl9473 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__3__Impl_in_rule__PrimitiveDataType__Group__39504 = new BitSet(new long[]{0x0000400000000000L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__4_in_rule__PrimitiveDataType__Group__39507 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__TypeAssignment_3_in_rule__PrimitiveDataType__Group__3__Impl9534 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__4__Impl_in_rule__PrimitiveDataType__Group__49564 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__5_in_rule__PrimitiveDataType__Group__49567 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_46_in_rule__PrimitiveDataType__Group__4__Impl9595 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__5__Impl_in_rule__PrimitiveDataType__Group__59626 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__6_in_rule__PrimitiveDataType__Group__59629 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__NameAssignment_5_in_rule__PrimitiveDataType__Group__5__Impl9656 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__PrimitiveDataType__Group__6__Impl_in_rule__PrimitiveDataType__Group__69686 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__PrimitiveDataType__Group__6__Impl9714 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__0__Impl_in_rule__InnerDeclaration__Group__09759 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__1_in_rule__InnerDeclaration__Group__09762 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_rule__InnerDeclaration__Group__0__Impl9790 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__1__Impl_in_rule__InnerDeclaration__Group__19821 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__2_in_rule__InnerDeclaration__Group__19824 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__NameAssignment_1_in_rule__InnerDeclaration__Group__1__Impl9851 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__2__Impl_in_rule__InnerDeclaration__Group__29881 = new BitSet(new long[]{0x0001000000000000L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__3_in_rule__InnerDeclaration__Group__29884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__InnerDeclaration__Group__2__Impl9912 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__3__Impl_in_rule__InnerDeclaration__Group__39943 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__4_in_rule__InnerDeclaration__Group__39946 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_rule__InnerDeclaration__Group__3__Impl9974 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__4__Impl_in_rule__InnerDeclaration__Group__410005 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__5_in_rule__InnerDeclaration__Group__410008 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__DataTypeAssignment_4_in_rule__InnerDeclaration__Group__4__Impl10035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__InnerDeclaration__Group__5__Impl_in_rule__InnerDeclaration__Group__510065 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__InnerDeclaration__Group__5__Impl10093 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group__0__Impl_in_rule__Signature__Group__010136 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Signature__Group__1_in_rule__Signature__Group__010139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Alternatives_0_in_rule__Signature__Group__0__Impl10166 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group__1__Impl_in_rule__Signature__Group__110196 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__Signature__Group__2_in_rule__Signature__Group__110199 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__NameAssignment_1_in_rule__Signature__Group__1__Impl10226 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group__2__Impl_in_rule__Signature__Group__210256 = new BitSet(new long[]{0x0000000400000030L});
+        public static final BitSet FOLLOW_rule__Signature__Group__3_in_rule__Signature__Group__210259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__Signature__Group__2__Impl10287 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group__3__Impl_in_rule__Signature__Group__310318 = new BitSet(new long[]{0x0000000400000030L});
+        public static final BitSet FOLLOW_rule__Signature__Group__4_in_rule__Signature__Group__310321 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group_3__0_in_rule__Signature__Group__3__Impl10348 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group__4__Impl_in_rule__Signature__Group__410379 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__Signature__Group__4__Impl10407 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group_3__0__Impl_in_rule__Signature__Group_3__010448 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__Signature__Group_3__1_in_rule__Signature__Group_3__010451 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__ParametersAssignment_3_0_in_rule__Signature__Group_3__0__Impl10478 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group_3__1__Impl_in_rule__Signature__Group_3__110508 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group_3_1__0_in_rule__Signature__Group_3__1__Impl10535 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__Signature__Group_3_1__0__Impl_in_rule__Signature__Group_3_1__010570 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Signature__Group_3_1__1_in_rule__Signature__Group_3_1__010573 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__Signature__Group_3_1__0__Impl10601 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__Group_3_1__1__Impl_in_rule__Signature__Group_3_1__110632 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Signature__ParametersAssignment_3_1_1_in_rule__Signature__Group_3_1__1__Impl10659 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__0__Impl_in_rule__Parameter__Group__010693 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__1_in_rule__Parameter__Group__010696 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__DataTypeAssignment_0_in_rule__Parameter__Group__0__Impl10723 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__Group__1__Impl_in_rule__Parameter__Group__110753 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__Parameter__NameAssignment_1_in_rule__Parameter__Group__1__Impl10780 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedRole__Group__0__Impl_in_rule__ProvidedRole__Group__010814 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ProvidedRole__Group__1_in_rule__ProvidedRole__Group__010817 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_49_in_rule__ProvidedRole__Group__0__Impl10845 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedRole__Group__1__Impl_in_rule__ProvidedRole__Group__110876 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__ProvidedRole__Group__2_in_rule__ProvidedRole__Group__110879 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedRole__InterfaceAssignment_1_in_rule__ProvidedRole__Group__1__Impl10906 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedRole__Group__2__Impl_in_rule__ProvidedRole__Group__210936 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__ProvidedRole__Group__2__Impl10965 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredRole__Group__0__Impl_in_rule__RequiredRole__Group__011004 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__RequiredRole__Group__1_in_rule__RequiredRole__Group__011007 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_50_in_rule__RequiredRole__Group__0__Impl11035 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredRole__Group__1__Impl_in_rule__RequiredRole__Group__111066 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__RequiredRole__Group__2_in_rule__RequiredRole__Group__111069 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredRole__InterfaceAssignment_1_in_rule__RequiredRole__Group__1__Impl11096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredRole__Group__2__Impl_in_rule__RequiredRole__Group__211126 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__RequiredRole__Group__2__Impl11155 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__0__Impl_in_rule__BasicComponent__Group__011194 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__1_in_rule__BasicComponent__Group__011197 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_51_in_rule__BasicComponent__Group__0__Impl11225 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__1__Impl_in_rule__BasicComponent__Group__111256 = new BitSet(new long[]{0x0006000000100000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__2_in_rule__BasicComponent__Group__111259 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__NameAssignment_1_in_rule__BasicComponent__Group__1__Impl11286 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__2__Impl_in_rule__BasicComponent__Group__211316 = new BitSet(new long[]{0x0006000000100000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__3_in_rule__BasicComponent__Group__211319 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_2__0_in_rule__BasicComponent__Group__2__Impl11346 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__3__Impl_in_rule__BasicComponent__Group__311377 = new BitSet(new long[]{0x0006000000100000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__4_in_rule__BasicComponent__Group__311380 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_3__0_in_rule__BasicComponent__Group__3__Impl11407 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__4__Impl_in_rule__BasicComponent__Group__411438 = new BitSet(new long[]{0x0000001000200000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__5_in_rule__BasicComponent__Group__411441 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__BasicComponent__Group__4__Impl11469 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__5__Impl_in_rule__BasicComponent__Group__511500 = new BitSet(new long[]{0x0000001000200000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__6_in_rule__BasicComponent__Group__511503 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__0_in_rule__BasicComponent__Group__5__Impl11530 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group__6__Impl_in_rule__BasicComponent__Group__611561 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__BasicComponent__Group__6__Impl11589 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_2__0__Impl_in_rule__BasicComponent__Group_2__011634 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_2__1_in_rule__BasicComponent__Group_2__011637 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__ProvidedRolesAssignment_2_0_in_rule__BasicComponent__Group_2__0__Impl11664 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_2__1__Impl_in_rule__BasicComponent__Group_2__111694 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_2_1__0_in_rule__BasicComponent__Group_2__1__Impl11721 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_2_1__0__Impl_in_rule__BasicComponent__Group_2_1__011756 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_2_1__1_in_rule__BasicComponent__Group_2_1__011759 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__BasicComponent__Group_2_1__0__Impl11787 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_2_1__1__Impl_in_rule__BasicComponent__Group_2_1__111818 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__ProvidedRolesAssignment_2_1_1_in_rule__BasicComponent__Group_2_1__1__Impl11845 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_3__0__Impl_in_rule__BasicComponent__Group_3__011879 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_3__1_in_rule__BasicComponent__Group_3__011882 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__RequiredRolesAssignment_3_0_in_rule__BasicComponent__Group_3__0__Impl11909 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_3__1__Impl_in_rule__BasicComponent__Group_3__111939 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_3_1__0_in_rule__BasicComponent__Group_3__1__Impl11966 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_3_1__0__Impl_in_rule__BasicComponent__Group_3_1__012001 = new BitSet(new long[]{0x0004000000000000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_3_1__1_in_rule__BasicComponent__Group_3_1__012004 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__BasicComponent__Group_3_1__0__Impl12032 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_3_1__1__Impl_in_rule__BasicComponent__Group_3_1__112063 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__RequiredRolesAssignment_3_1_1_in_rule__BasicComponent__Group_3_1__1__Impl12090 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__0__Impl_in_rule__BasicComponent__Group_5__012124 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__1_in_rule__BasicComponent__Group_5__012127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__BasicComponent__Group_5__0__Impl12155 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__1__Impl_in_rule__BasicComponent__Group_5__112186 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__2_in_rule__BasicComponent__Group_5__112189 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__BasicComponent__Group_5__1__Impl12217 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__2__Impl_in_rule__BasicComponent__Group_5__212248 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__3_in_rule__BasicComponent__Group_5__212251 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__RelationshipAssignment_5_2_in_rule__BasicComponent__Group_5__2__Impl12278 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__3__Impl_in_rule__BasicComponent__Group_5__312308 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__4_in_rule__BasicComponent__Group_5__312311 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5_3__0_in_rule__BasicComponent__Group_5__3__Impl12338 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5__4__Impl_in_rule__BasicComponent__Group_5__412369 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__BasicComponent__Group_5__4__Impl12397 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5_3__0__Impl_in_rule__BasicComponent__Group_5_3__012438 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5_3__1_in_rule__BasicComponent__Group_5_3__012441 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__BasicComponent__Group_5_3__0__Impl12469 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__Group_5_3__1__Impl_in_rule__BasicComponent__Group_5_3__112500 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__BasicComponent__RelationshipAssignment_5_3_1_in_rule__BasicComponent__Group_5_3__1__Impl12527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__0__Impl_in_rule__CompositeComponent__Group__012561 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__1_in_rule__CompositeComponent__Group__012564 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_52_in_rule__CompositeComponent__Group__0__Impl12592 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__1__Impl_in_rule__CompositeComponent__Group__112623 = new BitSet(new long[]{0x0006000000100000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__2_in_rule__CompositeComponent__Group__112626 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__NameAssignment_1_in_rule__CompositeComponent__Group__1__Impl12653 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__2__Impl_in_rule__CompositeComponent__Group__212683 = new BitSet(new long[]{0x0006000000100000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__3_in_rule__CompositeComponent__Group__212686 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2__0_in_rule__CompositeComponent__Group__2__Impl12713 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__3__Impl_in_rule__CompositeComponent__Group__312744 = new BitSet(new long[]{0x0006000000100000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__4_in_rule__CompositeComponent__Group__312747 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3__0_in_rule__CompositeComponent__Group__3__Impl12774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__4__Impl_in_rule__CompositeComponent__Group__412805 = new BitSet(new long[]{0x0020001000200000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__5_in_rule__CompositeComponent__Group__412808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__CompositeComponent__Group__4__Impl12836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__5__Impl_in_rule__CompositeComponent__Group__512867 = new BitSet(new long[]{0x0020001000200000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__6_in_rule__CompositeComponent__Group__512870 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__0_in_rule__CompositeComponent__Group__5__Impl12897 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__6__Impl_in_rule__CompositeComponent__Group__612928 = new BitSet(new long[]{0x0020001000200000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__7_in_rule__CompositeComponent__Group__612931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_6__0_in_rule__CompositeComponent__Group__6__Impl12958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group__7__Impl_in_rule__CompositeComponent__Group__712989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__CompositeComponent__Group__7__Impl13017 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2__0__Impl_in_rule__CompositeComponent__Group_2__013064 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2__1_in_rule__CompositeComponent__Group_2__013067 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__ProvidedRolesAssignment_2_0_in_rule__CompositeComponent__Group_2__0__Impl13094 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2__1__Impl_in_rule__CompositeComponent__Group_2__113124 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2_1__0_in_rule__CompositeComponent__Group_2__1__Impl13151 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2_1__0__Impl_in_rule__CompositeComponent__Group_2_1__013186 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2_1__1_in_rule__CompositeComponent__Group_2_1__013189 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__CompositeComponent__Group_2_1__0__Impl13217 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_2_1__1__Impl_in_rule__CompositeComponent__Group_2_1__113248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__ProvidedRolesAssignment_2_1_1_in_rule__CompositeComponent__Group_2_1__1__Impl13275 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3__0__Impl_in_rule__CompositeComponent__Group_3__013309 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3__1_in_rule__CompositeComponent__Group_3__013312 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__RequiredRolesAssignment_3_0_in_rule__CompositeComponent__Group_3__0__Impl13339 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3__1__Impl_in_rule__CompositeComponent__Group_3__113369 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3_1__0_in_rule__CompositeComponent__Group_3__1__Impl13396 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3_1__0__Impl_in_rule__CompositeComponent__Group_3_1__013431 = new BitSet(new long[]{0x0004000000000000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3_1__1_in_rule__CompositeComponent__Group_3_1__013434 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__CompositeComponent__Group_3_1__0__Impl13462 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_3_1__1__Impl_in_rule__CompositeComponent__Group_3_1__113493 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__RequiredRolesAssignment_3_1_1_in_rule__CompositeComponent__Group_3_1__1__Impl13520 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__0__Impl_in_rule__CompositeComponent__Group_5__013554 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__1_in_rule__CompositeComponent__Group_5__013557 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__CompositeComponent__Group_5__0__Impl13585 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__1__Impl_in_rule__CompositeComponent__Group_5__113616 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__2_in_rule__CompositeComponent__Group_5__113619 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__CompositeComponent__Group_5__1__Impl13647 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__2__Impl_in_rule__CompositeComponent__Group_5__213678 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__3_in_rule__CompositeComponent__Group_5__213681 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__RelationshipAssignment_5_2_in_rule__CompositeComponent__Group_5__2__Impl13708 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__3__Impl_in_rule__CompositeComponent__Group_5__313738 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__4_in_rule__CompositeComponent__Group_5__313741 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5_3__0_in_rule__CompositeComponent__Group_5__3__Impl13768 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5__4__Impl_in_rule__CompositeComponent__Group_5__413799 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__CompositeComponent__Group_5__4__Impl13827 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5_3__0__Impl_in_rule__CompositeComponent__Group_5_3__013868 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5_3__1_in_rule__CompositeComponent__Group_5_3__013871 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__CompositeComponent__Group_5_3__0__Impl13899 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_5_3__1__Impl_in_rule__CompositeComponent__Group_5_3__113930 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__RelationshipAssignment_5_3_1_in_rule__CompositeComponent__Group_5_3__1__Impl13957 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_6__0__Impl_in_rule__CompositeComponent__Group_6__013991 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_6__1_in_rule__CompositeComponent__Group_6__013994 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__CompositeComponent__Group_6__0__Impl14022 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__Group_6__1__Impl_in_rule__CompositeComponent__Group_6__114053 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__CompositeComponent__AssemblyAssignment_6_1_in_rule__CompositeComponent__Group_6__1__Impl14080 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__0__Impl_in_rule__SubSystem__Group__014114 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__1_in_rule__SubSystem__Group__014117 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_54_in_rule__SubSystem__Group__0__Impl14145 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__1__Impl_in_rule__SubSystem__Group__114176 = new BitSet(new long[]{0x0000006000100000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__2_in_rule__SubSystem__Group__114179 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__NameAssignment_1_in_rule__SubSystem__Group__1__Impl14206 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__2__Impl_in_rule__SubSystem__Group__214236 = new BitSet(new long[]{0x0000006000100000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__3_in_rule__SubSystem__Group__214239 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__0_in_rule__SubSystem__Group__2__Impl14266 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__3__Impl_in_rule__SubSystem__Group__314297 = new BitSet(new long[]{0x0000006000100000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__4_in_rule__SubSystem__Group__314300 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__0_in_rule__SubSystem__Group__3__Impl14327 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__4__Impl_in_rule__SubSystem__Group__414358 = new BitSet(new long[]{0x0020001000200000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__5_in_rule__SubSystem__Group__414361 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__SubSystem__Group__4__Impl14389 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__5__Impl_in_rule__SubSystem__Group__514420 = new BitSet(new long[]{0x0020001000200000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__6_in_rule__SubSystem__Group__514423 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__0_in_rule__SubSystem__Group__5__Impl14450 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__6__Impl_in_rule__SubSystem__Group__614481 = new BitSet(new long[]{0x0020001000200000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__7_in_rule__SubSystem__Group__614484 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_6__0_in_rule__SubSystem__Group__6__Impl14511 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group__7__Impl_in_rule__SubSystem__Group__714542 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__SubSystem__Group__7__Impl14570 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__0__Impl_in_rule__SubSystem__Group_2__014617 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__1_in_rule__SubSystem__Group_2__014620 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_37_in_rule__SubSystem__Group_2__0__Impl14648 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__1__Impl_in_rule__SubSystem__Group_2__114679 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__2_in_rule__SubSystem__Group_2__114682 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__SubSystem__Group_2__1__Impl14710 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__2__Impl_in_rule__SubSystem__Group_2__214741 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__3_in_rule__SubSystem__Group_2__214744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__ProvidedRolesAssignment_2_2_in_rule__SubSystem__Group_2__2__Impl14771 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__3__Impl_in_rule__SubSystem__Group_2__314801 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__4_in_rule__SubSystem__Group_2__314804 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2_3__0_in_rule__SubSystem__Group_2__3__Impl14831 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2__4__Impl_in_rule__SubSystem__Group_2__414862 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__SubSystem__Group_2__4__Impl14890 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2_3__0__Impl_in_rule__SubSystem__Group_2_3__014931 = new BitSet(new long[]{0x0002000000000000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2_3__1_in_rule__SubSystem__Group_2_3__014934 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__SubSystem__Group_2_3__0__Impl14962 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_2_3__1__Impl_in_rule__SubSystem__Group_2_3__114993 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__ProvidedRolesAssignment_2_3_1_in_rule__SubSystem__Group_2_3__1__Impl15020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__0__Impl_in_rule__SubSystem__Group_3__015054 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__1_in_rule__SubSystem__Group_3__015057 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_38_in_rule__SubSystem__Group_3__0__Impl15085 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__1__Impl_in_rule__SubSystem__Group_3__115116 = new BitSet(new long[]{0x0004000000000000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__2_in_rule__SubSystem__Group_3__115119 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__SubSystem__Group_3__1__Impl15147 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__2__Impl_in_rule__SubSystem__Group_3__215178 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__3_in_rule__SubSystem__Group_3__215181 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__RequiredRolesAssignment_3_2_in_rule__SubSystem__Group_3__2__Impl15208 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__3__Impl_in_rule__SubSystem__Group_3__315238 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__4_in_rule__SubSystem__Group_3__315241 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3_3__0_in_rule__SubSystem__Group_3__3__Impl15268 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3__4__Impl_in_rule__SubSystem__Group_3__415299 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__SubSystem__Group_3__4__Impl15327 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3_3__0__Impl_in_rule__SubSystem__Group_3_3__015368 = new BitSet(new long[]{0x0004000000000000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3_3__1_in_rule__SubSystem__Group_3_3__015371 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__SubSystem__Group_3_3__0__Impl15399 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_3_3__1__Impl_in_rule__SubSystem__Group_3_3__115430 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__RequiredRolesAssignment_3_3_1_in_rule__SubSystem__Group_3_3__1__Impl15457 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__0__Impl_in_rule__SubSystem__Group_5__015491 = new BitSet(new long[]{0x0000000200000000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__1_in_rule__SubSystem__Group_5__015494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rule__SubSystem__Group_5__0__Impl15522 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__1__Impl_in_rule__SubSystem__Group_5__115553 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__2_in_rule__SubSystem__Group_5__115556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_rule__SubSystem__Group_5__1__Impl15584 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__2__Impl_in_rule__SubSystem__Group_5__215615 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__3_in_rule__SubSystem__Group_5__215618 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__RelationshipAssignment_5_2_in_rule__SubSystem__Group_5__2__Impl15645 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__3__Impl_in_rule__SubSystem__Group_5__315675 = new BitSet(new long[]{0x0000000400800000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__4_in_rule__SubSystem__Group_5__315678 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5_3__0_in_rule__SubSystem__Group_5__3__Impl15705 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5__4__Impl_in_rule__SubSystem__Group_5__415736 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_34_in_rule__SubSystem__Group_5__4__Impl15764 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5_3__0__Impl_in_rule__SubSystem__Group_5_3__015805 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5_3__1_in_rule__SubSystem__Group_5_3__015808 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__SubSystem__Group_5_3__0__Impl15836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_5_3__1__Impl_in_rule__SubSystem__Group_5_3__115867 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__RelationshipAssignment_5_3_1_in_rule__SubSystem__Group_5_3__1__Impl15894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_6__0__Impl_in_rule__SubSystem__Group_6__015928 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_6__1_in_rule__SubSystem__Group_6__015931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_rule__SubSystem__Group_6__0__Impl15959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__Group_6__1__Impl_in_rule__SubSystem__Group_6__115990 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__SubSystem__AssemblyAssignment_6_1_in_rule__SubSystem__Group_6__1__Impl16017 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__0__Impl_in_rule__ComposedStructureAssembly__Group__016051 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__1_in_rule__ComposedStructureAssembly__Group__016054 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__1__Impl_in_rule__ComposedStructureAssembly__Group__116112 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__2_in_rule__ComposedStructureAssembly__Group__116115 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_rule__ComposedStructureAssembly__Group__1__Impl16143 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__2__Impl_in_rule__ComposedStructureAssembly__Group__216174 = new BitSet(new long[]{0x0F00000000200000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__3_in_rule__ComposedStructureAssembly__Group__216177 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group__2__Impl16205 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__3__Impl_in_rule__ComposedStructureAssembly__Group__316236 = new BitSet(new long[]{0x0F00000000200000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__4_in_rule__ComposedStructureAssembly__Group__316239 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__0_in_rule__ComposedStructureAssembly__Group__3__Impl16266 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__4__Impl_in_rule__ComposedStructureAssembly__Group__416297 = new BitSet(new long[]{0x0F00000000200000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__5_in_rule__ComposedStructureAssembly__Group__416300 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__0_in_rule__ComposedStructureAssembly__Group__4__Impl16327 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__5__Impl_in_rule__ComposedStructureAssembly__Group__516358 = new BitSet(new long[]{0x0F00000000200000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__6_in_rule__ComposedStructureAssembly__Group__516361 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__0_in_rule__ComposedStructureAssembly__Group__5__Impl16388 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__6__Impl_in_rule__ComposedStructureAssembly__Group__616419 = new BitSet(new long[]{0x0F00000000200000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__7_in_rule__ComposedStructureAssembly__Group__616422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__0_in_rule__ComposedStructureAssembly__Group__6__Impl16449 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group__7__Impl_in_rule__ComposedStructureAssembly__Group__716480 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group__7__Impl16508 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__0__Impl_in_rule__ComposedStructureAssembly__Group_3__016555 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__1_in_rule__ComposedStructureAssembly__Group_3__016558 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_56_in_rule__ComposedStructureAssembly__Group_3__0__Impl16586 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__1__Impl_in_rule__ComposedStructureAssembly__Group_3__116617 = new BitSet(new long[]{0x1000000000000000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__2_in_rule__ComposedStructureAssembly__Group_3__116620 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group_3__1__Impl16648 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__2__Impl_in_rule__ComposedStructureAssembly__Group_3__216679 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__3_in_rule__ComposedStructureAssembly__Group_3__216682 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_2_in_rule__ComposedStructureAssembly__Group_3__2__Impl16709 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__3__Impl_in_rule__ComposedStructureAssembly__Group_3__316739 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__4_in_rule__ComposedStructureAssembly__Group_3__316742 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3_3__0_in_rule__ComposedStructureAssembly__Group_3__3__Impl16769 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3__4__Impl_in_rule__ComposedStructureAssembly__Group_3__416800 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group_3__4__Impl16828 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3_3__0__Impl_in_rule__ComposedStructureAssembly__Group_3_3__016869 = new BitSet(new long[]{0x1000000000000000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3_3__1_in_rule__ComposedStructureAssembly__Group_3_3__016872 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__ComposedStructureAssembly__Group_3_3__0__Impl16900 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_3_3__1__Impl_in_rule__ComposedStructureAssembly__Group_3_3__116931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_1_in_rule__ComposedStructureAssembly__Group_3_3__1__Impl16958 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__0__Impl_in_rule__ComposedStructureAssembly__Group_4__016992 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__1_in_rule__ComposedStructureAssembly__Group_4__016995 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_57_in_rule__ComposedStructureAssembly__Group_4__0__Impl17023 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__1__Impl_in_rule__ComposedStructureAssembly__Group_4__117054 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__2_in_rule__ComposedStructureAssembly__Group_4__117057 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group_4__1__Impl17085 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__2__Impl_in_rule__ComposedStructureAssembly__Group_4__217116 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__3_in_rule__ComposedStructureAssembly__Group_4__217119 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_2_in_rule__ComposedStructureAssembly__Group_4__2__Impl17146 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__3__Impl_in_rule__ComposedStructureAssembly__Group_4__317176 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__4_in_rule__ComposedStructureAssembly__Group_4__317179 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4_3__0_in_rule__ComposedStructureAssembly__Group_4__3__Impl17206 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4__4__Impl_in_rule__ComposedStructureAssembly__Group_4__417237 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group_4__4__Impl17265 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4_3__0__Impl_in_rule__ComposedStructureAssembly__Group_4_3__017306 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4_3__1_in_rule__ComposedStructureAssembly__Group_4_3__017309 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__ComposedStructureAssembly__Group_4_3__0__Impl17337 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_4_3__1__Impl_in_rule__ComposedStructureAssembly__Group_4_3__117368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_1_in_rule__ComposedStructureAssembly__Group_4_3__1__Impl17395 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__0__Impl_in_rule__ComposedStructureAssembly__Group_5__017429 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__1_in_rule__ComposedStructureAssembly__Group_5__017432 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_58_in_rule__ComposedStructureAssembly__Group_5__0__Impl17460 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__1__Impl_in_rule__ComposedStructureAssembly__Group_5__117491 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__2_in_rule__ComposedStructureAssembly__Group_5__117494 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group_5__1__Impl17522 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__2__Impl_in_rule__ComposedStructureAssembly__Group_5__217553 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__3_in_rule__ComposedStructureAssembly__Group_5__217556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_2_in_rule__ComposedStructureAssembly__Group_5__2__Impl17583 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__3__Impl_in_rule__ComposedStructureAssembly__Group_5__317613 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__4_in_rule__ComposedStructureAssembly__Group_5__317616 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5_3__0_in_rule__ComposedStructureAssembly__Group_5__3__Impl17643 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5__4__Impl_in_rule__ComposedStructureAssembly__Group_5__417674 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group_5__4__Impl17702 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5_3__0__Impl_in_rule__ComposedStructureAssembly__Group_5_3__017743 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5_3__1_in_rule__ComposedStructureAssembly__Group_5_3__017746 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__ComposedStructureAssembly__Group_5_3__0__Impl17774 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_5_3__1__Impl_in_rule__ComposedStructureAssembly__Group_5_3__117805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_1_in_rule__ComposedStructureAssembly__Group_5_3__1__Impl17832 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__0__Impl_in_rule__ComposedStructureAssembly__Group_6__017866 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__1_in_rule__ComposedStructureAssembly__Group_6__017869 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_59_in_rule__ComposedStructureAssembly__Group_6__0__Impl17897 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__1__Impl_in_rule__ComposedStructureAssembly__Group_6__117928 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__2_in_rule__ComposedStructureAssembly__Group_6__117931 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__ComposedStructureAssembly__Group_6__1__Impl17959 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__2__Impl_in_rule__ComposedStructureAssembly__Group_6__217990 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__3_in_rule__ComposedStructureAssembly__Group_6__217993 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_2_in_rule__ComposedStructureAssembly__Group_6__2__Impl18020 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__3__Impl_in_rule__ComposedStructureAssembly__Group_6__318050 = new BitSet(new long[]{0x0000000000A00000L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__4_in_rule__ComposedStructureAssembly__Group_6__318053 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6_3__0_in_rule__ComposedStructureAssembly__Group_6__3__Impl18080 = new BitSet(new long[]{0x0000000000800002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6__4__Impl_in_rule__ComposedStructureAssembly__Group_6__418111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ComposedStructureAssembly__Group_6__4__Impl18139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6_3__0__Impl_in_rule__ComposedStructureAssembly__Group_6_3__018180 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6_3__1_in_rule__ComposedStructureAssembly__Group_6_3__018183 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_rule__ComposedStructureAssembly__Group_6_3__0__Impl18211 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__Group_6_3__1__Impl_in_rule__ComposedStructureAssembly__Group_6_3__118242 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_1_in_rule__ComposedStructureAssembly__Group_6_3__1__Impl18269 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__0__Impl_in_rule__AssemblyContext__Group__018303 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__1_in_rule__AssemblyContext__Group__018306 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_60_in_rule__AssemblyContext__Group__0__Impl18334 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__1__Impl_in_rule__AssemblyContext__Group__118365 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__2_in_rule__AssemblyContext__Group__118368 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__NameAssignment_1_in_rule__AssemblyContext__Group__1__Impl18395 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__2__Impl_in_rule__AssemblyContext__Group__218425 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__3_in_rule__AssemblyContext__Group__218428 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__AssemblyContext__Group__2__Impl18456 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__3__Impl_in_rule__AssemblyContext__Group__318487 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__4_in_rule__AssemblyContext__Group__318490 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_61_in_rule__AssemblyContext__Group__3__Impl18518 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__4__Impl_in_rule__AssemblyContext__Group__418549 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__5_in_rule__AssemblyContext__Group__418552 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__EncapsulatedComponentAssignment_4_in_rule__AssemblyContext__Group__4__Impl18579 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyContext__Group__5__Impl_in_rule__AssemblyContext__Group__518609 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AssemblyContext__Group__5__Impl18637 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__0__Impl_in_rule__AssemblyConnector__Group__018680 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__1_in_rule__AssemblyConnector__Group__018683 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_62_in_rule__AssemblyConnector__Group__0__Impl18711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__1__Impl_in_rule__AssemblyConnector__Group__118742 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__2_in_rule__AssemblyConnector__Group__118745 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__NameAssignment_1_in_rule__AssemblyConnector__Group__1__Impl18772 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__2__Impl_in_rule__AssemblyConnector__Group__218802 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__3_in_rule__AssemblyConnector__Group__218805 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__AssemblyConnector__Group__2__Impl18833 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__3__Impl_in_rule__AssemblyConnector__Group__318864 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__4_in_rule__AssemblyConnector__Group__318867 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_63_in_rule__AssemblyConnector__Group__3__Impl18895 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__4__Impl_in_rule__AssemblyConnector__Group__418926 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__5_in_rule__AssemblyConnector__Group__418929 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__RequiredRoleAssignment_4_in_rule__AssemblyConnector__Group__4__Impl18956 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__5__Impl_in_rule__AssemblyConnector__Group__518986 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__6_in_rule__AssemblyConnector__Group__518989 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_64_in_rule__AssemblyConnector__Group__5__Impl19017 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__6__Impl_in_rule__AssemblyConnector__Group__619048 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__7_in_rule__AssemblyConnector__Group__619051 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__ProvidedRoleAssignment_6_in_rule__AssemblyConnector__Group__6__Impl19078 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__7__Impl_in_rule__AssemblyConnector__Group__719108 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__8_in_rule__AssemblyConnector__Group__719111 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_65_in_rule__AssemblyConnector__Group__7__Impl19139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__8__Impl_in_rule__AssemblyConnector__Group__819170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__9_in_rule__AssemblyConnector__Group__819173 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__ProvidingAssemblyContextAssignment_8_in_rule__AssemblyConnector__Group__8__Impl19200 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__9__Impl_in_rule__AssemblyConnector__Group__919230 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__10_in_rule__AssemblyConnector__Group__919233 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_66_in_rule__AssemblyConnector__Group__9__Impl19261 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__10__Impl_in_rule__AssemblyConnector__Group__1019292 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__11_in_rule__AssemblyConnector__Group__1019295 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__RequiringAssemblyContextAssignment_10_in_rule__AssemblyConnector__Group__10__Impl19322 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__AssemblyConnector__Group__11__Impl_in_rule__AssemblyConnector__Group__1119352 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__AssemblyConnector__Group__11__Impl19380 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__0__Impl_in_rule__ProvidedDelegationConnector__Group__019435 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__1_in_rule__ProvidedDelegationConnector__Group__019438 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rule__ProvidedDelegationConnector__Group__0__Impl19466 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__1__Impl_in_rule__ProvidedDelegationConnector__Group__119497 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__2_in_rule__ProvidedDelegationConnector__Group__119500 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__NameAssignment_1_in_rule__ProvidedDelegationConnector__Group__1__Impl19527 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__2__Impl_in_rule__ProvidedDelegationConnector__Group__219557 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__3_in_rule__ProvidedDelegationConnector__Group__219560 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__ProvidedDelegationConnector__Group__2__Impl19588 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__3__Impl_in_rule__ProvidedDelegationConnector__Group__319619 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__4_in_rule__ProvidedDelegationConnector__Group__319622 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__ProvidedDelegationConnector__Group__3__Impl19650 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__4__Impl_in_rule__ProvidedDelegationConnector__Group__419681 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__5_in_rule__ProvidedDelegationConnector__Group__419684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__AssemblyContextAssignment_4_in_rule__ProvidedDelegationConnector__Group__4__Impl19711 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__5__Impl_in_rule__ProvidedDelegationConnector__Group__519741 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__6_in_rule__ProvidedDelegationConnector__Group__519744 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rule__ProvidedDelegationConnector__Group__5__Impl19772 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__6__Impl_in_rule__ProvidedDelegationConnector__Group__619803 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__7_in_rule__ProvidedDelegationConnector__Group__619806 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_6_in_rule__ProvidedDelegationConnector__Group__6__Impl19833 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__7__Impl_in_rule__ProvidedDelegationConnector__Group__719863 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__8_in_rule__ProvidedDelegationConnector__Group__719866 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_70_in_rule__ProvidedDelegationConnector__Group__7__Impl19894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__8__Impl_in_rule__ProvidedDelegationConnector__Group__819925 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__9_in_rule__ProvidedDelegationConnector__Group__819928 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_8_in_rule__ProvidedDelegationConnector__Group__8__Impl19955 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__ProvidedDelegationConnector__Group__9__Impl_in_rule__ProvidedDelegationConnector__Group__919985 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__ProvidedDelegationConnector__Group__9__Impl20013 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__0__Impl_in_rule__RequiredDelegationConnector__Group__020064 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__1_in_rule__RequiredDelegationConnector__Group__020067 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_71_in_rule__RequiredDelegationConnector__Group__0__Impl20095 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__1__Impl_in_rule__RequiredDelegationConnector__Group__120126 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__2_in_rule__RequiredDelegationConnector__Group__120129 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__NameAssignment_1_in_rule__RequiredDelegationConnector__Group__1__Impl20156 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__2__Impl_in_rule__RequiredDelegationConnector__Group__220186 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__3_in_rule__RequiredDelegationConnector__Group__220189 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_rule__RequiredDelegationConnector__Group__2__Impl20217 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__3__Impl_in_rule__RequiredDelegationConnector__Group__320248 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__4_in_rule__RequiredDelegationConnector__Group__320251 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rule__RequiredDelegationConnector__Group__3__Impl20279 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__4__Impl_in_rule__RequiredDelegationConnector__Group__420310 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__5_in_rule__RequiredDelegationConnector__Group__420313 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__AssemblyContextAssignment_4_in_rule__RequiredDelegationConnector__Group__4__Impl20340 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__5__Impl_in_rule__RequiredDelegationConnector__Group__520370 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__6_in_rule__RequiredDelegationConnector__Group__520373 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rule__RequiredDelegationConnector__Group__5__Impl20401 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__6__Impl_in_rule__RequiredDelegationConnector__Group__620432 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__7_in_rule__RequiredDelegationConnector__Group__620435 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_6_in_rule__RequiredDelegationConnector__Group__6__Impl20462 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__7__Impl_in_rule__RequiredDelegationConnector__Group__720492 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__8_in_rule__RequiredDelegationConnector__Group__720495 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_73_in_rule__RequiredDelegationConnector__Group__7__Impl20523 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__8__Impl_in_rule__RequiredDelegationConnector__Group__820554 = new BitSet(new long[]{0x0000000000200000L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__9_in_rule__RequiredDelegationConnector__Group__820557 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_8_in_rule__RequiredDelegationConnector__Group__8__Impl20584 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rule__RequiredDelegationConnector__Group__9__Impl_in_rule__RequiredDelegationConnector__Group__920614 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_21_in_rule__RequiredDelegationConnector__Group__9__Impl20642 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Repository__NameAssignment_120698 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImport_in_rule__Repository__ImportsAssignment_3_220729 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImport_in_rule__Repository__ImportsAssignment_3_3_120760 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDataType_in_rule__Repository__DatatypesAssignment_4_220791 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleDataType_in_rule__Repository__DatatypesAssignment_4_3_120822 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_in_rule__Repository__ComponentsAssignment_5_220853 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_in_rule__Repository__ComponentsAssignment_5_3_120884 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInterface_in_rule__Repository__InterfacesAssignment_6_220915 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInterface_in_rule__Repository__InterfacesAssignment_6_3_120946 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedNameWithWildCard_in_rule__Import__ImportedNamespaceAssignment_120977 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Interface__NameAssignment_121008 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Interface__ParentInterfacesAssignment_3_221043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Interface__ParentInterfacesAssignment_3_3_121082 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSignature_in_rule__Interface__SignaturesAssignment_4_021117 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSignature_in_rule__Interface__SignaturesAssignment_4_1_121148 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__NameAssignment_121179 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__RelationshipAssignment_3_221214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__RepositoryComponent_Impl__RelationshipAssignment_3_3_121253 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_221288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__RepositoryComponent_Impl__ProvidedRolesAssignment_4_3_121319 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_221350 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__RepositoryComponent_Impl__RequiredRolesAssignment_5_3_121381 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__CollectionDataType__NameAssignment_121412 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__CollectionDataType__InnerTypeAssignment_421447 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeDataType__NameAssignment_121482 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeDataType__ParentTypesAssignment_3_221517 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeDataType__ParentTypesAssignment_3_3_121556 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInnerDeclaration_in_rule__CompositeDataType__InnerDeclarationsAssignment_4_221591 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInnerDeclaration_in_rule__CompositeDataType__InnerDeclarationsAssignment_4_3_121622 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeEnum_in_rule__PrimitiveDataType__TypeAssignment_321653 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__PrimitiveDataType__NameAssignment_521684 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__InnerDeclaration__NameAssignment_121715 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__InnerDeclaration__DataTypeAssignment_421750 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Signature__ReturnTypeAssignment_0_021789 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Signature__NameAssignment_121824 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_rule__Signature__ParametersAssignment_3_021855 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_rule__Signature__ParametersAssignment_3_1_121886 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__DataTypeAssignment_021921 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__Parameter__NameAssignment_121956 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedRole__InterfaceAssignment_121991 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredRole__InterfaceAssignment_122030 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__BasicComponent__NameAssignment_122065 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__BasicComponent__ProvidedRolesAssignment_2_022096 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__BasicComponent__ProvidedRolesAssignment_2_1_122127 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__BasicComponent__RequiredRolesAssignment_3_022158 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__BasicComponent__RequiredRolesAssignment_3_1_122189 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__BasicComponent__RelationshipAssignment_5_222224 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__BasicComponent__RelationshipAssignment_5_3_122263 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeComponent__NameAssignment_122298 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__CompositeComponent__ProvidedRolesAssignment_2_022329 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__CompositeComponent__ProvidedRolesAssignment_2_1_122360 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__CompositeComponent__RequiredRolesAssignment_3_022391 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__CompositeComponent__RequiredRolesAssignment_3_1_122422 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeComponent__RelationshipAssignment_5_222457 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__CompositeComponent__RelationshipAssignment_5_3_122496 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_rule__CompositeComponent__AssemblyAssignment_6_122531 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__SubSystem__NameAssignment_122562 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__SubSystem__ProvidedRolesAssignment_2_222593 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_rule__SubSystem__ProvidedRolesAssignment_2_3_122624 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__SubSystem__RequiredRolesAssignment_3_222655 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_rule__SubSystem__RequiredRolesAssignment_3_3_122686 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__SubSystem__RelationshipAssignment_5_222721 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__SubSystem__RelationshipAssignment_5_3_122760 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_rule__SubSystem__AssemblyAssignment_6_122795 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAssemblyContext_in_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_222826 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAssemblyContext_in_rule__ComposedStructureAssembly__AssemblyContextsAssignment_3_3_122857 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAssemblyConnector_in_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_222888 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAssemblyConnector_in_rule__ComposedStructureAssembly__AssemblyConnectorsAssignment_4_3_122919 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_222950 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_rule__ComposedStructureAssembly__ProvidedDelegationConnectorsAssignment_5_3_122981 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_223012 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_rule__ComposedStructureAssembly__RequiredDelegationConnectorsAssignment_6_3_123043 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyContext__NameAssignment_123074 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyContext__EncapsulatedComponentAssignment_423109 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__NameAssignment_123144 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__RequiredRoleAssignment_423179 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__ProvidedRoleAssignment_623218 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__ProvidingAssemblyContextAssignment_823257 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__AssemblyConnector__RequiringAssemblyContextAssignment_1023296 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__NameAssignment_123331 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__AssemblyContextAssignment_423366 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__InnerProvidedRoleAssignment_623405 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__ProvidedDelegationConnector__OuterProvidedRoleAssignment_823444 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__NameAssignment_123479 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__AssemblyContextAssignment_423514 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__InnerRequiredRoleAssignment_623553 = new BitSet(new long[]{0x0000000000000002L});
+    }
+
+    private static class FollowSets001 {
+        public static final BitSet FOLLOW_ruleEString_in_rule__RequiredDelegationConnector__OuterRequiredRoleAssignment_823592 = new BitSet(new long[]{0x0000000000000002L});
     }
 
 
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/AbstractMyDslTestRuntimeModule.java b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/AbstractMyDslTestRuntimeModule.java
index 4dcd30e5..5d959cd2 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/AbstractMyDslTestRuntimeModule.java
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/AbstractMyDslTestRuntimeModule.java
@@ -101,12 +101,12 @@ public abstract class AbstractMyDslTestRuntimeModule extends DefaultRuntimeModul
 
 	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
 	public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class);
+		binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
 	}
 
 	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
 	public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
-		return org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider.class;
+		return org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider.class;
 	}
 
 	// contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
@@ -114,9 +114,9 @@ public abstract class AbstractMyDslTestRuntimeModule extends DefaultRuntimeModul
 		binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
 	}
 
-	// contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment
+	// contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
 	public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
-		return org.eclipse.xtext.naming.SimpleNameProvider.class;
+		return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
 	}
 
 	// contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/MyDslTest.xmi b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/MyDslTest.xmi
index 235eeb9b..6a22cf6e 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/MyDslTest.xmi
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/MyDslTest.xmi
@@ -38,28 +38,108 @@
           <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
-        <elements xsi:type="xtext:Alternatives" cardinality="*">
-          <elements xsi:type="xtext:Assignment" feature="datatypes" operator="+=">
+        <elements xsi:type="xtext:Group" cardinality="?">
+          <elements xsi:type="xtext:Keyword" value="imports"/>
+          <elements xsi:type="xtext:Keyword" value="{"/>
+          <elements xsi:type="xtext:Assignment" feature="imports" operator="+=">
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
           </elements>
-          <elements xsi:type="xtext:Assignment" feature="interfaces" operator="+=">
+          <elements xsi:type="xtext:Group" cardinality="*">
+            <elements xsi:type="xtext:Keyword" value=","/>
+            <elements xsi:type="xtext:Assignment" feature="imports" operator="+=">
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+            </elements>
+          </elements>
+          <elements xsi:type="xtext:Keyword" value="}"/>
+        </elements>
+        <elements xsi:type="xtext:Group" cardinality="?">
+          <elements xsi:type="xtext:Keyword" value="datatypes"/>
+          <elements xsi:type="xtext:Keyword" value="{"/>
+          <elements xsi:type="xtext:Assignment" feature="datatypes" operator="+=">
             <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
           </elements>
+          <elements xsi:type="xtext:Group" cardinality="*">
+            <elements xsi:type="xtext:Keyword" value=","/>
+            <elements xsi:type="xtext:Assignment" feature="datatypes" operator="+=">
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+            </elements>
+          </elements>
+          <elements xsi:type="xtext:Keyword" value="}"/>
+        </elements>
+        <elements xsi:type="xtext:Group" cardinality="?">
+          <elements xsi:type="xtext:Keyword" value="components"/>
+          <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="components" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+          </elements>
+          <elements xsi:type="xtext:Group" cardinality="*">
+            <elements xsi:type="xtext:Keyword" value=";"/>
+            <elements xsi:type="xtext:Assignment" feature="components" operator="+=">
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+            </elements>
+          </elements>
+          <elements xsi:type="xtext:Keyword" value="}"/>
+        </elements>
+        <elements xsi:type="xtext:Group" cardinality="?">
+          <elements xsi:type="xtext:Keyword" value="interfaces"/>
+          <elements xsi:type="xtext:Keyword" value="{"/>
+          <elements xsi:type="xtext:Assignment" feature="interfaces" operator="+=">
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+          </elements>
+          <elements xsi:type="xtext:Group" cardinality="*">
+            <elements xsi:type="xtext:Keyword" value=","/>
+            <elements xsi:type="xtext:Assignment" feature="interfaces" operator="+=">
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+            </elements>
           </elements>
+          <elements xsi:type="xtext:Keyword" value="}"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
     </rules>
+    <rules xsi:type="xtext:ParserRule" name="Import">
+      <type metamodel="/0/@metamodelDeclarations.3">
+        <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Import"/>
+      </type>
+      <alternatives xsi:type="xtext:Group">
+        <elements xsi:type="xtext:Keyword" value="import"/>
+        <elements xsi:type="xtext:Assignment" feature="importedNamespace" operator="=">
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+        </elements>
+      </alternatives>
+    </rules>
+    <rules xsi:type="xtext:ParserRule" name="QualifiedNameWithWildCard">
+      <type metamodel="/0/@metamodelDeclarations.2">
+        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      </type>
+      <alternatives xsi:type="xtext:Group">
+        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+        <elements xsi:type="xtext:Group" cardinality="?">
+          <elements xsi:type="xtext:Keyword" value="."/>
+          <elements xsi:type="xtext:Keyword" value="*"/>
+        </elements>
+      </alternatives>
+    </rules>
+    <rules xsi:type="xtext:ParserRule" name="QualifiedName">
+      <type metamodel="/0/@metamodelDeclarations.2">
+        <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      </type>
+      <alternatives xsi:type="xtext:Group">
+        <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+        <elements xsi:type="xtext:Group" cardinality="*">
+          <elements xsi:type="xtext:Keyword" value="."/>
+          <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+        </elements>
+      </alternatives>
+    </rules>
     <rules xsi:type="xtext:ParserRule" name="DataType">
       <type metamodel="/0/@metamodelDeclarations.3">
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
       </type>
       <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="RepositoryComponent">
@@ -67,10 +147,10 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RepositoryComponent"/>
       </type>
       <alternatives xsi:type="xtext:Alternatives">
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
-        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
+        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
+        <elements xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="EString">
@@ -89,7 +169,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="Interface"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Group" cardinality="?">
@@ -100,7 +180,7 @@
               <type metamodel="/0/@metamodelDeclarations.3">
                 <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
               </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
             </terminal>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
@@ -110,25 +190,22 @@
                 <type metamodel="/0/@metamodelDeclarations.3">
                   <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
                 </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
               </terminal>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value=")"/>
         </elements>
         <elements xsi:type="xtext:Group" cardinality="?">
-          <elements xsi:type="xtext:Keyword" value="signatures"/>
-          <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="signatures" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="signatures" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
             </elements>
           </elements>
-          <elements xsi:type="xtext:Keyword" value="}"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
@@ -140,7 +217,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="RepositoryComponent"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Group" cardinality="?">
@@ -151,7 +228,7 @@
               <type metamodel="/0/@metamodelDeclarations.0">
                 <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
               </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
             </terminal>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
@@ -161,7 +238,7 @@
                 <type metamodel="/0/@metamodelDeclarations.0">
                   <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
                 </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
               </terminal>
             </elements>
           </elements>
@@ -171,12 +248,12 @@
           <elements xsi:type="xtext:Keyword" value="providedRoles"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -185,12 +262,12 @@
           <elements xsi:type="xtext:Keyword" value="requiredRoles"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -205,7 +282,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="CollectionDataType"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="innerType"/>
@@ -214,7 +291,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
@@ -227,7 +304,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="CompositeDataType"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Group" cardinality="?">
@@ -238,7 +315,7 @@
               <type metamodel="/0/@metamodelDeclarations.3">
                 <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeDataType"/>
               </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
             </terminal>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
@@ -248,7 +325,7 @@
                 <type metamodel="/0/@metamodelDeclarations.3">
                   <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeDataType"/>
                 </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
               </terminal>
             </elements>
           </elements>
@@ -258,12 +335,12 @@
           <elements xsi:type="xtext:Keyword" value="innerDeclarations"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="innerDeclarations" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="innerDeclarations" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -280,11 +357,11 @@
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="type"/>
         <elements xsi:type="xtext:Assignment" feature="type" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="ref"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
       </alternatives>
@@ -296,7 +373,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="InnerDeclaration"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="dataType"/>
@@ -305,7 +382,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
@@ -357,23 +434,23 @@
               <type metamodel="/0/@metamodelDeclarations.3">
                 <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
               </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
             </terminal>
           </elements>
           <elements xsi:type="xtext:Keyword" value="void"/>
         </elements>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="("/>
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="parameters" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
             </elements>
           </elements>
         </elements>
@@ -390,11 +467,11 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
       </alternatives>
     </rules>
@@ -403,23 +480,16 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.3">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
-          </type>
-        </elements>
         <elements xsi:type="xtext:Keyword" value="ProvidedRole"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Assignment" feature="interface" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Keyword" cardinality="?" value=","/>
+        <elements xsi:type="xtext:Assignment" feature="interface" operator="=">
+          <terminal xsi:type="xtext:CrossReference">
+            <type metamodel="/0/@metamodelDeclarations.3">
+              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
+            </type>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
+          </terminal>
         </elements>
+        <elements xsi:type="xtext:Keyword" cardinality="?" value=","/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="RequiredRole">
@@ -427,23 +497,16 @@
         <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
       </type>
       <alternatives xsi:type="xtext:Group">
-        <elements xsi:type="xtext:Action">
-          <type metamodel="/0/@metamodelDeclarations.3">
-            <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
-          </type>
-        </elements>
         <elements xsi:type="xtext:Keyword" value="RequiredRole"/>
-        <elements xsi:type="xtext:Group" cardinality="*">
-          <elements xsi:type="xtext:Assignment" feature="interface" operator="=">
-            <terminal xsi:type="xtext:CrossReference">
-              <type metamodel="/0/@metamodelDeclarations.3">
-                <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
-              </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
-            </terminal>
-          </elements>
-          <elements xsi:type="xtext:Keyword" cardinality="?" value=","/>
+        <elements xsi:type="xtext:Assignment" feature="interface" operator="=">
+          <terminal xsi:type="xtext:CrossReference">
+            <type metamodel="/0/@metamodelDeclarations.3">
+              <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/>
+            </type>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
+          </terminal>
         </elements>
+        <elements xsi:type="xtext:Keyword" cardinality="?" value=","/>
       </alternatives>
     </rules>
     <rules xsi:type="xtext:ParserRule" name="BasicComponent">
@@ -453,27 +516,27 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="BasicComponent"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
             </elements>
           </elements>
         </elements>
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
             </elements>
           </elements>
         </elements>
@@ -486,7 +549,7 @@
               <type metamodel="/0/@metamodelDeclarations.0">
                 <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
               </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
             </terminal>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
@@ -496,7 +559,7 @@
                 <type metamodel="/0/@metamodelDeclarations.0">
                   <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
                 </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
               </terminal>
             </elements>
           </elements>
@@ -512,27 +575,27 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="CompositeComponent"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
             </elements>
           </elements>
         </elements>
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
             </elements>
           </elements>
         </elements>
@@ -545,7 +608,7 @@
               <type metamodel="/0/@metamodelDeclarations.0">
                 <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
               </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
             </terminal>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
@@ -555,7 +618,7 @@
                 <type metamodel="/0/@metamodelDeclarations.0">
                   <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
                 </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
               </terminal>
             </elements>
           </elements>
@@ -564,7 +627,7 @@
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Keyword" value="assembly"/>
           <elements xsi:type="xtext:Assignment" feature="assembly" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
           </elements>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
@@ -577,18 +640,18 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="SubSystem"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Keyword" value="providedRoles"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -597,12 +660,12 @@
           <elements xsi:type="xtext:Keyword" value="requiredRoles"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -616,7 +679,7 @@
               <type metamodel="/0/@metamodelDeclarations.0">
                 <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
               </type>
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
             </terminal>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
@@ -626,7 +689,7 @@
                 <type metamodel="/0/@metamodelDeclarations.0">
                   <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/>
                 </type>
-                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+                <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
               </terminal>
             </elements>
           </elements>
@@ -635,7 +698,7 @@
         <elements xsi:type="xtext:Group" cardinality="?">
           <elements xsi:type="xtext:Keyword" value="assembly"/>
           <elements xsi:type="xtext:Assignment" feature="assembly" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
           </elements>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
@@ -657,12 +720,12 @@
           <elements xsi:type="xtext:Keyword" value="assemblyContexts"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -671,12 +734,12 @@
           <elements xsi:type="xtext:Keyword" value="assemblyConnectors"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -685,12 +748,12 @@
           <elements xsi:type="xtext:Keyword" value="providedDelegationConnectors"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -699,12 +762,12 @@
           <elements xsi:type="xtext:Keyword" value="requiredDelegationConnectors"/>
           <elements xsi:type="xtext:Keyword" value="{"/>
           <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+=">
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
           </elements>
           <elements xsi:type="xtext:Group" cardinality="*">
             <elements xsi:type="xtext:Keyword" value=","/>
             <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+=">
-              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+              <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/>
             </elements>
           </elements>
           <elements xsi:type="xtext:Keyword" value="}"/>
@@ -719,7 +782,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="AssemblyContext"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="encapsulatedComponent"/>
@@ -728,7 +791,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RepositoryComponent"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
@@ -741,7 +804,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="AssemblyConnector"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="requiredRole"/>
@@ -750,7 +813,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="providedRole"/>
@@ -759,7 +822,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="providingAssemblyContext"/>
@@ -768,7 +831,7 @@
             <type metamodel="/0/@metamodelDeclarations.4">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository_composites/0.1#//AssemblyContext"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="requiringAssemblyContext"/>
@@ -777,7 +840,7 @@
             <type metamodel="/0/@metamodelDeclarations.4">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository_composites/0.1#//AssemblyContext"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
@@ -790,7 +853,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="ProvidedDelegationConnector"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="assemblyContext"/>
@@ -799,7 +862,7 @@
             <type metamodel="/0/@metamodelDeclarations.4">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository_composites/0.1#//AssemblyContext"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="innerProvidedRole"/>
@@ -808,7 +871,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="outerProvidedRole"/>
@@ -817,7 +880,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
@@ -830,7 +893,7 @@
       <alternatives xsi:type="xtext:Group">
         <elements xsi:type="xtext:Keyword" value="RequiredDelegationConnector"/>
         <elements xsi:type="xtext:Assignment" feature="name" operator="=">
-          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+          <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
         </elements>
         <elements xsi:type="xtext:Keyword" value="{"/>
         <elements xsi:type="xtext:Keyword" value="assemblyContext"/>
@@ -839,7 +902,7 @@
             <type metamodel="/0/@metamodelDeclarations.4">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository_composites/0.1#//AssemblyContext"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="innerRequiredRole"/>
@@ -848,7 +911,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="outerRequiredRole"/>
@@ -857,7 +920,7 @@
             <type metamodel="/0/@metamodelDeclarations.3">
               <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/>
             </type>
-            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
           </terminal>
         </elements>
         <elements xsi:type="xtext:Keyword" value="}"/>
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parseTreeConstruction/MyDslTestParsetreeConstructor.java b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parseTreeConstruction/MyDslTestParsetreeConstructor.java
index 4fbfc95f..c5f256be 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parseTreeConstruction/MyDslTestParsetreeConstructor.java
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parseTreeConstruction/MyDslTestParsetreeConstructor.java
@@ -32,26 +32,27 @@ protected class ThisRootNode extends RootToken {
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
 			case 0: return new Repository_Group(this, this, 0, inst);
-			case 1: return new DataType_Alternatives(this, this, 1, inst);
-			case 2: return new RepositoryComponent_Alternatives(this, this, 2, inst);
-			case 3: return new Interface_Group(this, this, 3, inst);
-			case 4: return new RepositoryComponent_Impl_Group(this, this, 4, inst);
-			case 5: return new CollectionDataType_Group(this, this, 5, inst);
-			case 6: return new CompositeDataType_Group(this, this, 6, inst);
-			case 7: return new PrimitiveDataType_Group(this, this, 7, inst);
-			case 8: return new InnerDeclaration_Group(this, this, 8, inst);
-			case 9: return new Signature_Group(this, this, 9, inst);
-			case 10: return new Parameter_Group(this, this, 10, inst);
-			case 11: return new ProvidedRole_Group(this, this, 11, inst);
-			case 12: return new RequiredRole_Group(this, this, 12, inst);
-			case 13: return new BasicComponent_Group(this, this, 13, inst);
-			case 14: return new CompositeComponent_Group(this, this, 14, inst);
-			case 15: return new SubSystem_Group(this, this, 15, inst);
-			case 16: return new ComposedStructureAssembly_Group(this, this, 16, inst);
-			case 17: return new AssemblyContext_Group(this, this, 17, inst);
-			case 18: return new AssemblyConnector_Group(this, this, 18, inst);
-			case 19: return new ProvidedDelegationConnector_Group(this, this, 19, inst);
-			case 20: return new RequiredDelegationConnector_Group(this, this, 20, inst);
+			case 1: return new Import_Group(this, this, 1, inst);
+			case 2: return new DataType_Alternatives(this, this, 2, inst);
+			case 3: return new RepositoryComponent_Alternatives(this, this, 3, inst);
+			case 4: return new Interface_Group(this, this, 4, inst);
+			case 5: return new RepositoryComponent_Impl_Group(this, this, 5, inst);
+			case 6: return new CollectionDataType_Group(this, this, 6, inst);
+			case 7: return new CompositeDataType_Group(this, this, 7, inst);
+			case 8: return new PrimitiveDataType_Group(this, this, 8, inst);
+			case 9: return new InnerDeclaration_Group(this, this, 9, inst);
+			case 10: return new Signature_Group(this, this, 10, inst);
+			case 11: return new Parameter_Group(this, this, 11, inst);
+			case 12: return new ProvidedRole_Group(this, this, 12, inst);
+			case 13: return new RequiredRole_Group(this, this, 13, inst);
+			case 14: return new BasicComponent_Group(this, this, 14, inst);
+			case 15: return new CompositeComponent_Group(this, this, 15, inst);
+			case 16: return new SubSystem_Group(this, this, 16, inst);
+			case 17: return new ComposedStructureAssembly_Group(this, this, 17, inst);
+			case 18: return new AssemblyContext_Group(this, this, 18, inst);
+			case 19: return new AssemblyConnector_Group(this, this, 19, inst);
+			case 20: return new ProvidedDelegationConnector_Group(this, this, 20, inst);
+			case 21: return new RequiredDelegationConnector_Group(this, this, 21, inst);
 			default: return null;
 		}	
 	}	
@@ -60,29 +61,38 @@ protected class ThisRootNode extends RootToken {
 
 /************ begin Rule Repository ****************
  *
+ * / *Repository returns repository::Repository:
+ * 	'Repository'
+ * 	name=QualifiedName
+ * 	'{' 
+ * (
+ * 		( datatypes+=DataType ) | 
+ * 		(interfaces+=Interface) |
+ * 		(components+=RepositoryComponent )|
+ * 		(imports+=Import)
+ * 		
+ * )*
+ *     '}';
+ *     
+ *   * /
+ * 
  * Repository returns repository::Repository:
  * 
- * 	"Repository" name=EString "{" (datatypes+=DataType | interfaces+=Interface | components+=RepositoryComponent)*
+ * 	"Repository" name=QualifiedName "{" ("imports" "{" imports+=Import ("," imports+=Import)* "}")? ("datatypes" "{"
+ * 
+ * 	datatypes+=DataType ("," datatypes+=DataType)* "}")? ("components" "{" components+=RepositoryComponent (";"
  * 
- * 	/ *
- * 		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? 
- * 		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? 
- * 		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
- * * /
+ * 	components+=RepositoryComponent)* "}")? ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")?
  * 
  * 	"}";
  *
  **/
 
-// "Repository" name=EString "{" (datatypes+=DataType | interfaces+=Interface | components+=RepositoryComponent)*
+// "Repository" name=QualifiedName "{" ("imports" "{" imports+=Import ("," imports+=Import)* "}")? ("datatypes" "{"
 // 
-// / *
-// 		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? 
-// 		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? 
-// 		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
-// * /
+// datatypes+=DataType ("," datatypes+=DataType)* "}")? ("components" "{" components+=RepositoryComponent (";"
 // 
-// "}"
+// components+=RepositoryComponent)* "}")? ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? "}"
 protected class Repository_Group extends GroupToken {
 	
 	public Repository_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -97,7 +107,7 @@ protected class Repository_Group extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Repository_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Repository_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -132,7 +142,7 @@ protected class Repository_RepositoryKeyword_0 extends KeywordToken  {
 
 }
 
-// name=EString
+// name=QualifiedName
 protected class Repository_NameAssignment_1 extends AssignmentToken  {
 	
 	public Repository_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -156,9 +166,9 @@ protected class Repository_NameAssignment_1 extends AssignmentToken  {
 	public IEObjectConsumer tryConsume() {
 		if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
-		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_1_0(), value, null)) {
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryAccess().getNameQualifiedNameParserRuleCall_1_0(), value, null)) {
 			type = AssignmentType.DATATYPE_RULE_CALL;
-			element = grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_1_0();
+			element = grammarAccess.getRepositoryAccess().getNameQualifiedNameParserRuleCall_1_0();
 			return obj;
 		}
 		return null;
@@ -169,78 +179,901 @@ protected class Repository_NameAssignment_1 extends AssignmentToken  {
 // "{"
 protected class Repository_LeftCurlyBracketKeyword_2 extends KeywordToken  {
 	
-	public Repository_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Repository_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// ("imports" "{" imports+=Import ("," imports+=Import)* "}")?
+protected class Repository_Group_3 extends GroupToken {
+	
+	public Repository_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Group getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getGroup_3();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "imports"
+protected class Repository_ImportsKeyword_3_0 extends KeywordToken  {
+	
+	public Repository_ImportsKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getImportsKeyword_3_0();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "{"
+protected class Repository_LeftCurlyBracketKeyword_3_1 extends KeywordToken  {
+	
+	public Repository_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_3_1();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_ImportsKeyword_3_0(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// imports+=Import
+protected class Repository_ImportsAssignment_3_2 extends AssignmentToken  {
+	
+	public Repository_ImportsAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Assignment getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getImportsAssignment_3_2();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Import_Group(this, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("imports",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("imports");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getImportRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_2_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new Repository_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
+}
+
+// ("," imports+=Import)*
+protected class Repository_Group_3_3 extends GroupToken {
+	
+	public Repository_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Group getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getGroup_3_3();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_ImportsAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// ","
+protected class Repository_CommaKeyword_3_3_0 extends KeywordToken  {
+	
+	public Repository_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getCommaKeyword_3_3_0();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_3_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_ImportsAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// imports+=Import
+protected class Repository_ImportsAssignment_3_3_1 extends AssignmentToken  {
+	
+	public Repository_ImportsAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Assignment getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getImportsAssignment_3_3_1();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Import_Group(this, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("imports",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("imports");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getImportRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_3_1_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new Repository_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
+}
+
+
+// "}"
+protected class Repository_RightCurlyBracketKeyword_3_4 extends KeywordToken  {
+	
+	public Repository_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_3_4();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_3_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_ImportsAssignment_3_2(lastRuleCallOrigin, this, 1, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+
+// ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
+protected class Repository_Group_4 extends GroupToken {
+	
+	public Repository_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Group getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getGroup_4();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_RightCurlyBracketKeyword_4_4(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "datatypes"
+protected class Repository_DatatypesKeyword_4_0 extends KeywordToken  {
+	
+	public Repository_DatatypesKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getDatatypesKeyword_4_0();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "{"
+protected class Repository_LeftCurlyBracketKeyword_4_1 extends KeywordToken  {
+	
+	public Repository_LeftCurlyBracketKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_4_1();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_DatatypesKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// datatypes+=DataType
+protected class Repository_DatatypesAssignment_4_2 extends AssignmentToken  {
+	
+	public Repository_DatatypesAssignment_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Assignment getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_2();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new DataType_Alternatives(this, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("datatypes",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("datatypes");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getDataTypeRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_2_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new Repository_LeftCurlyBracketKeyword_4_1(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
+}
+
+// ("," datatypes+=DataType)*
+protected class Repository_Group_4_3 extends GroupToken {
+	
+	public Repository_Group_4_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Group getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getGroup_4_3();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_DatatypesAssignment_4_3_1(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// ","
+protected class Repository_CommaKeyword_4_3_0 extends KeywordToken  {
+	
+	public Repository_CommaKeyword_4_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getCommaKeyword_4_3_0();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_4_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_DatatypesAssignment_4_2(lastRuleCallOrigin, this, 1, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// datatypes+=DataType
+protected class Repository_DatatypesAssignment_4_3_1 extends AssignmentToken  {
+	
+	public Repository_DatatypesAssignment_4_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Assignment getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getDatatypesAssignment_4_3_1();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new DataType_Alternatives(this, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("datatypes",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("datatypes");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getDataTypeRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_3_1_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new Repository_CommaKeyword_4_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
+}
+
+
+// "}"
+protected class Repository_RightCurlyBracketKeyword_4_4 extends KeywordToken  {
+	
+	public Repository_RightCurlyBracketKeyword_4_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4_4();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_4_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_DatatypesAssignment_4_2(lastRuleCallOrigin, this, 1, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+
+// ("components" "{" components+=RepositoryComponent (";" components+=RepositoryComponent)* "}")?
+protected class Repository_Group_5 extends GroupToken {
+	
+	public Repository_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Group getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getGroup_5();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "components"
+protected class Repository_ComponentsKeyword_5_0 extends KeywordToken  {
+	
+	public Repository_ComponentsKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getComponentsKeyword_5_0();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_4(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_Group_3(lastRuleCallOrigin, this, 1, inst);
+			case 2: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "{"
+protected class Repository_LeftCurlyBracketKeyword_5_1 extends KeywordToken  {
+	
+	public Repository_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_ComponentsKeyword_5_0(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// components+=RepositoryComponent
+protected class Repository_ComponentsAssignment_5_2 extends AssignmentToken  {
+	
+	public Repository_ComponentsAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Assignment getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getComponentsAssignment_5_2();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new RepositoryComponent_Alternatives(this, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("components",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("components");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getRepositoryComponentRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_2_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new Repository_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
+}
+
+// (";" components+=RepositoryComponent)*
+protected class Repository_Group_5_3 extends GroupToken {
+	
+	public Repository_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Group getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getGroup_5_3();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_ComponentsAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// ";"
+protected class Repository_SemicolonKeyword_5_3_0 extends KeywordToken  {
+	
+	public Repository_SemicolonKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getSemicolonKeyword_5_3_0();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_5_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_ComponentsAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// components+=RepositoryComponent
+protected class Repository_ComponentsAssignment_5_3_1 extends AssignmentToken  {
+	
+	public Repository_ComponentsAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Assignment getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getComponentsAssignment_5_3_1();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new RepositoryComponent_Alternatives(this, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("components",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("components");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getRepositoryComponentRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_3_1_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new Repository_SemicolonKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
+}
+
+
+// "}"
+protected class Repository_RightCurlyBracketKeyword_5_4 extends KeywordToken  {
+	
+	public Repository_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_5_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_ComponentsAssignment_5_2(lastRuleCallOrigin, this, 1, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+
+// ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")?
+protected class Repository_Group_6 extends GroupToken {
+	
+	public Repository_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Group getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getGroup_6();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "interfaces"
+protected class Repository_InterfacesKeyword_6_0 extends KeywordToken  {
+	
+	public Repository_InterfacesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_Group_5(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_Group_4(lastRuleCallOrigin, this, 1, inst);
+			case 2: return new Repository_Group_3(lastRuleCallOrigin, this, 2, inst);
+			case 3: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// "{"
+protected class Repository_LeftCurlyBracketKeyword_6_1 extends KeywordToken  {
+	
+	public Repository_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Repository_InterfacesKeyword_6_0(lastRuleCallOrigin, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+}
+
+// interfaces+=Interface
+protected class Repository_InterfacesAssignment_6_2 extends AssignmentToken  {
+	
+	public Repository_InterfacesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Assignment getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_2();
+	}
+
+    @Override
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+		switch(index) {
+			case 0: return new Interface_Group(this, this, 0, inst);
+			default: return null;
+		}	
+	}
+
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("interfaces",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaces");
+		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+			IEObjectConsumer param = createEObjectConsumer((EObject)value);
+			if(param.isInstanceOf(grammarAccess.getInterfaceRule().getType().getClassifier())) {
+				type = AssignmentType.PARSER_RULE_CALL;
+				element = grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0(); 
+				consumed = obj;
+				return param;
+			}
+		}
+		return null;
+	}
+
+    @Override
+	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
+		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+		switch(index) {
+			case 0: return new Repository_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed);
+			default: return null;
+		}	
+	}	
+}
+
+// ("," interfaces+=Interface)*
+protected class Repository_Group_6_3 extends GroupToken {
+	
+	public Repository_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2();
+	public Group getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getGroup_6_3();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Repository_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Repository_InterfacesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// (datatypes+=DataType | interfaces+=Interface | components+=RepositoryComponent)*
-protected class Repository_Alternatives_3 extends AlternativesToken {
-
-	public Repository_Alternatives_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+// ","
+protected class Repository_CommaKeyword_6_3_0 extends KeywordToken  {
+	
+	public Repository_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Alternatives getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getAlternatives_3();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Repository_DatatypesAssignment_3_0(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_InterfacesAssignment_3_1(lastRuleCallOrigin, this, 1, inst);
-			case 2: return new Repository_ComponentsAssignment_3_2(lastRuleCallOrigin, this, 2, inst);
+			case 0: return new Repository_Group_6_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_InterfacesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
 }
 
-// datatypes+=DataType
-protected class Repository_DatatypesAssignment_3_0 extends AssignmentToken  {
+// interfaces+=Interface
+protected class Repository_InterfacesAssignment_6_3_1 extends AssignmentToken  {
 	
-	public Repository_DatatypesAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Repository_InterfacesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getDatatypesAssignment_3_0();
+		return grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_3_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new DataType_Alternatives(this, this, 0, inst);
+			case 0: return new Interface_Group(this, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("datatypes",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("datatypes");
+		if((value = eObjectConsumer.getConsumable("interfaces",false)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaces");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getDataTypeRule().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getInterfaceRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_3_0_0(); 
+				element = grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -252,139 +1085,163 @@ protected class Repository_DatatypesAssignment_3_0 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new Repository_Alternatives_3(lastRuleCallOrigin, next, actIndex, consumed);
-			case 1: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Repository_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
-// interfaces+=Interface
-protected class Repository_InterfacesAssignment_3_1 extends AssignmentToken  {
+
+// "}"
+protected class Repository_RightCurlyBracketKeyword_6_4 extends KeywordToken  {
 	
-	public Repository_InterfacesAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Repository_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getInterfacesAssignment_3_1();
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Interface_Group(this, this, 0, inst);
+			case 0: return new Repository_Group_6_3(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_InterfacesAssignment_6_2(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
-	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("interfaces",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaces");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getInterfaceRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_3_1_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
+}
+
+
+// "}"
+protected class Repository_RightCurlyBracketKeyword_7 extends KeywordToken  {
+	
+	public Repository_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7();
 	}
 
     @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Repository_Alternatives_3(lastRuleCallOrigin, next, actIndex, consumed);
-			case 1: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Repository_Group_6(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Repository_Group_5(lastRuleCallOrigin, this, 1, inst);
+			case 2: return new Repository_Group_4(lastRuleCallOrigin, this, 2, inst);
+			case 3: return new Repository_Group_3(lastRuleCallOrigin, this, 3, inst);
+			case 4: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 4, inst);
 			default: return null;
 		}	
-	}	
+	}
+
 }
 
-// components+=RepositoryComponent
-protected class Repository_ComponentsAssignment_3_2 extends AssignmentToken  {
+
+/************ end Rule Repository ****************/
+
+
+/************ begin Rule Import ****************
+ *
+ * Import returns repository::Import:
+ * 
+ * 	"import" importedNamespace=QualifiedNameWithWildCard;
+ *
+ **/
+
+// "import" importedNamespace=QualifiedNameWithWildCard
+protected class Import_Group extends GroupToken {
 	
-	public Repository_ComponentsAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Import_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Assignment getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getComponentsAssignment_3_2();
+	public Group getGrammarElement() {
+		return grammarAccess.getImportAccess().getGroup();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new RepositoryComponent_Alternatives(this, this, 0, inst);
+			case 0: return new Import_ImportedNamespaceAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
-    @Override	
+    @Override
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("components",true)) == null) return null;
-		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("components");
-		if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
-			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRepositoryComponentRule().getType().getClassifier())) {
-				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_3_2_0(); 
-				consumed = obj;
-				return param;
-			}
-		}
-		return null;
+		if(getEObject().eClass() != grammarAccess.getImportRule().getType().getClassifier())
+			return null;
+		return eObjectConsumer;
+	}
+
+}
+
+// "import"
+protected class Import_ImportKeyword_0 extends KeywordToken  {
+	
+	public Import_ImportKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+	}
+	
+	@Override
+	public Keyword getGrammarElement() {
+		return grammarAccess.getImportAccess().getImportKeyword_0();
 	}
 
     @Override
-	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
-		if(value == inst.getEObject() && !inst.isConsumed()) return null;
+	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Repository_Alternatives_3(lastRuleCallOrigin, next, actIndex, consumed);
-			case 1: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
-	}	
-}
+	}
 
+}
 
-// / *
-// 		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? 
-// 		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? 
-// 		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
-// * /
-// 
-// "}"
-protected class Repository_RightCurlyBracketKeyword_4 extends KeywordToken  {
+// importedNamespace=QualifiedNameWithWildCard
+protected class Import_ImportedNamespaceAssignment_1 extends AssignmentToken  {
 	
-	public Repository_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Import_ImportedNamespaceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4();
+	public Assignment getGrammarElement() {
+		return grammarAccess.getImportAccess().getImportedNamespaceAssignment_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Repository_Alternatives_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new Import_ImportKeyword_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
+    @Override	
+	public IEObjectConsumer tryConsume() {
+		if((value = eObjectConsumer.getConsumable("importedNamespace",true)) == null) return null;
+		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("importedNamespace");
+		if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0(), value, null)) {
+			type = AssignmentType.DATATYPE_RULE_CALL;
+			element = grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0();
+			return obj;
+		}
+		return null;
+	}
+
 }
 
 
-/************ end Rule Repository ****************/
+/************ end Rule Import ****************/
+
+
 
 
 /************ begin Rule DataType ****************
@@ -738,17 +1595,13 @@ protected class RepositoryComponent_SubSystemParserRuleCall_3 extends RuleCallTo
  * 
  * 	"Interface" name=EString "{" ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] (","
  * 
- * 	parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature (","
- * 
- * 	signatures+=Signature)* "}")? "}";
+ * 	parentInterfaces+=[repository::Interface|EString])* ")")? (signatures+=Signature ("," signatures+=Signature)*)? "}";
  *
  **/
 
 // "Interface" name=EString "{" ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] (","
 // 
-// parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature (","
-// 
-// signatures+=Signature)* "}")? "}"
+// parentInterfaces+=[repository::Interface|EString])* ")")? (signatures+=Signature ("," signatures+=Signature)*)? "}"
 protected class Interface_Group extends GroupToken {
 	
 	public Interface_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -1066,7 +1919,7 @@ protected class Interface_RightParenthesisKeyword_3_4 extends KeywordToken  {
 }
 
 
-// ("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")?
+// (signatures+=Signature ("," signatures+=Signature)*)?
 protected class Interface_Group_4 extends GroupToken {
 	
 	public Interface_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -1081,52 +1934,8 @@ protected class Interface_Group_4 extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Interface_RightCurlyBracketKeyword_4_4(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "signatures"
-protected class Interface_SignaturesKeyword_4_0 extends KeywordToken  {
-	
-	public Interface_SignaturesKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getSignaturesKeyword_4_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// "{"
-protected class Interface_LeftCurlyBracketKeyword_4_1 extends KeywordToken  {
-	
-	public Interface_LeftCurlyBracketKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_4_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_SignaturesKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Interface_Group_4_1(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Interface_SignaturesAssignment_4_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -1134,15 +1943,15 @@ protected class Interface_LeftCurlyBracketKeyword_4_1 extends KeywordToken  {
 }
 
 // signatures+=Signature
-protected class Interface_SignaturesAssignment_4_2 extends AssignmentToken  {
+protected class Interface_SignaturesAssignment_4_0 extends AssignmentToken  {
 	
-	public Interface_SignaturesAssignment_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Interface_SignaturesAssignment_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_2();
+		return grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_0();
 	}
 
     @Override
@@ -1161,7 +1970,7 @@ protected class Interface_SignaturesAssignment_4_2 extends AssignmentToken  {
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getSignatureRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_2_0(); 
+				element = grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_0_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -1173,28 +1982,29 @@ protected class Interface_SignaturesAssignment_4_2 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new Interface_LeftCurlyBracketKeyword_4_1(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Interface_Group_3(lastRuleCallOrigin, next, actIndex, consumed);
+			case 1: return new Interface_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 // ("," signatures+=Signature)*
-protected class Interface_Group_4_3 extends GroupToken {
+protected class Interface_Group_4_1 extends GroupToken {
 	
-	public Interface_Group_4_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Interface_Group_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Group getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getGroup_4_3();
+		return grammarAccess.getInterfaceAccess().getGroup_4_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Interface_SignaturesAssignment_4_3_1(lastRuleCallOrigin, this, 0, inst);
+			case 0: return new Interface_SignaturesAssignment_4_1_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
@@ -1202,22 +2012,22 @@ protected class Interface_Group_4_3 extends GroupToken {
 }
 
 // ","
-protected class Interface_CommaKeyword_4_3_0 extends KeywordToken  {
+protected class Interface_CommaKeyword_4_1_0 extends KeywordToken  {
 	
-	public Interface_CommaKeyword_4_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Interface_CommaKeyword_4_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getCommaKeyword_4_3_0();
+		return grammarAccess.getInterfaceAccess().getCommaKeyword_4_1_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new Interface_Group_4_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_SignaturesAssignment_4_2(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new Interface_Group_4_1(lastRuleCallOrigin, this, 0, inst);
+			case 1: return new Interface_SignaturesAssignment_4_0(lastRuleCallOrigin, this, 1, inst);
 			default: return null;
 		}	
 	}
@@ -1225,15 +2035,15 @@ protected class Interface_CommaKeyword_4_3_0 extends KeywordToken  {
 }
 
 // signatures+=Signature
-protected class Interface_SignaturesAssignment_4_3_1 extends AssignmentToken  {
+protected class Interface_SignaturesAssignment_4_1_1 extends AssignmentToken  {
 	
-	public Interface_SignaturesAssignment_4_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public Interface_SignaturesAssignment_4_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_3_1();
+		return grammarAccess.getInterfaceAccess().getSignaturesAssignment_4_1_1();
 	}
 
     @Override
@@ -1252,7 +2062,7 @@ protected class Interface_SignaturesAssignment_4_3_1 extends AssignmentToken  {
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
 			if(param.isInstanceOf(grammarAccess.getSignatureRule().getType().getClassifier())) {
 				type = AssignmentType.PARSER_RULE_CALL;
-				element = grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_3_1_0(); 
+				element = grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_1_1_0(); 
 				consumed = obj;
 				return param;
 			}
@@ -1264,36 +2074,13 @@ protected class Interface_SignaturesAssignment_4_3_1 extends AssignmentToken  {
 	public AbstractToken createFollowerAfterReturn(AbstractToken next,	int actIndex, int index, IEObjectConsumer inst) {
 		if(value == inst.getEObject() && !inst.isConsumed()) return null;
 		switch(index) {
-			case 0: return new Interface_CommaKeyword_4_3_0(lastRuleCallOrigin, next, actIndex, consumed);
+			case 0: return new Interface_CommaKeyword_4_1_0(lastRuleCallOrigin, next, actIndex, consumed);
 			default: return null;
 		}	
 	}	
 }
 
 
-// "}"
-protected class Interface_RightCurlyBracketKeyword_4_4 extends KeywordToken  {
-	
-	public Interface_RightCurlyBracketKeyword_4_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Keyword getGrammarElement() {
-		return grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_4_4();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new Interface_Group_4_3(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new Interface_SignaturesAssignment_4_2(lastRuleCallOrigin, this, 1, inst);
-			default: return null;
-		}	
-	}
-
-}
-
 
 // "}"
 protected class Interface_RightCurlyBracketKeyword_5 extends KeywordToken  {
@@ -3836,11 +4623,11 @@ protected class Parameter_NameAssignment_1 extends AssignmentToken  {
  *
  * ProvidedRole returns repository::ProvidedRole:
  * 
- * 	{repository::ProvidedRole} "ProvidedRole" (interface=[repository::Interface|EString] ","?)*;
+ * 	"ProvidedRole" interface=[repository::Interface|EString] ","?;
  *
  **/
 
-// {repository::ProvidedRole} "ProvidedRole" (interface=[repository::Interface|EString] ","?)*
+// "ProvidedRole" interface=[repository::Interface|EString] ","?
 protected class ProvidedRole_Group extends GroupToken {
 	
 	public ProvidedRole_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -3855,121 +4642,70 @@ protected class ProvidedRole_Group extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new ProvidedRole_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProvidedRole_ProvidedRoleKeyword_1(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new ProvidedRole_InterfaceAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getProvidedRoleAccess().getProvidedRoleAction_0().getType().getClassifier())
+		if(getEObject().eClass() != grammarAccess.getProvidedRoleRule().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
 
 }
 
-// {repository::ProvidedRole}
-protected class ProvidedRole_ProvidedRoleAction_0 extends ActionToken  {
-
-	public ProvidedRole_ProvidedRoleAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getProvidedRoleAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
 // "ProvidedRole"
-protected class ProvidedRole_ProvidedRoleKeyword_1 extends KeywordToken  {
+protected class ProvidedRole_ProvidedRoleKeyword_0 extends KeywordToken  {
 	
-	public ProvidedRole_ProvidedRoleKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ProvidedRole_ProvidedRoleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new ProvidedRole_ProvidedRoleAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// (interface=[repository::Interface|EString] ","?)*
-protected class ProvidedRole_Group_2 extends GroupToken {
-	
-	public ProvidedRole_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getGroup_2();
+		return grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new ProvidedRole_InterfaceAssignment_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
 // interface=[repository::Interface|EString]
-protected class ProvidedRole_InterfaceAssignment_2_0 extends AssignmentToken  {
+protected class ProvidedRole_InterfaceAssignment_1 extends AssignmentToken  {
 	
-	public ProvidedRole_InterfaceAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public ProvidedRole_InterfaceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_2_0();
+		return grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new ProvidedRole_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new ProvidedRole_ProvidedRoleKeyword_1(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new ProvidedRole_ProvidedRoleKeyword_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("interface",false)) == null) return null;
+		if((value = eObjectConsumer.getConsumable("interface",true)) == null) return null;
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interface");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_2_0_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_1_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_2_0_0(); 
+				element = grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_1_0(); 
 				return obj;
 			}
 		}
@@ -3979,7 +4715,6 @@ protected class ProvidedRole_InterfaceAssignment_2_0 extends AssignmentToken  {
 }
 
 
-
 /************ end Rule ProvidedRole ****************/
 
 
@@ -3987,11 +4722,11 @@ protected class ProvidedRole_InterfaceAssignment_2_0 extends AssignmentToken  {
  *
  * RequiredRole returns repository::RequiredRole:
  * 
- * 	{repository::RequiredRole} "RequiredRole" (interface=[repository::Interface|EString] ","?)*;
+ * 	"RequiredRole" interface=[repository::Interface|EString] ","?;
  *
  **/
 
-// {repository::RequiredRole} "RequiredRole" (interface=[repository::Interface|EString] ","?)*
+// "RequiredRole" interface=[repository::Interface|EString] ","?
 protected class RequiredRole_Group extends GroupToken {
 	
 	public RequiredRole_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
@@ -4006,121 +4741,70 @@ protected class RequiredRole_Group extends GroupToken {
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new RequiredRole_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RequiredRole_RequiredRoleKeyword_1(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new RequiredRole_InterfaceAssignment_1(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override
 	public IEObjectConsumer tryConsume() {
-		if(getEObject().eClass() != grammarAccess.getRequiredRoleAccess().getRequiredRoleAction_0().getType().getClassifier())
+		if(getEObject().eClass() != grammarAccess.getRequiredRoleRule().getType().getClassifier())
 			return null;
 		return eObjectConsumer;
 	}
 
 }
 
-// {repository::RequiredRole}
-protected class RequiredRole_RequiredRoleAction_0 extends ActionToken  {
-
-	public RequiredRole_RequiredRoleAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Action getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getRequiredRoleAction_0();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
-		}	
-	}
-
-    @Override
-	public IEObjectConsumer tryConsume() {
-		if(!eObjectConsumer.isConsumed()) return null;
-		return eObjectConsumer;
-	}
-}
-
 // "RequiredRole"
-protected class RequiredRole_RequiredRoleKeyword_1 extends KeywordToken  {
+protected class RequiredRole_RequiredRoleKeyword_0 extends KeywordToken  {
 	
-	public RequiredRole_RequiredRoleKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public RequiredRole_RequiredRoleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Keyword getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_1();
-	}
-
-    @Override
-	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
-		switch(index) {
-			case 0: return new RequiredRole_RequiredRoleAction_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
-		}	
-	}
-
-}
-
-// (interface=[repository::Interface|EString] ","?)*
-protected class RequiredRole_Group_2 extends GroupToken {
-	
-	public RequiredRole_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
-		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
-	}
-	
-	@Override
-	public Group getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getGroup_2();
+		return grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new RequiredRole_InterfaceAssignment_2_0(lastRuleCallOrigin, this, 0, inst);
-			default: return null;
+			default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
 		}	
 	}
 
 }
 
 // interface=[repository::Interface|EString]
-protected class RequiredRole_InterfaceAssignment_2_0 extends AssignmentToken  {
+protected class RequiredRole_InterfaceAssignment_1 extends AssignmentToken  {
 	
-	public RequiredRole_InterfaceAssignment_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+	public RequiredRole_InterfaceAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
 		super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
 	}
 	
 	@Override
 	public Assignment getGrammarElement() {
-		return grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_2_0();
+		return grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_1();
 	}
 
     @Override
 	public AbstractToken createFollower(int index, IEObjectConsumer inst) {
 		switch(index) {
-			case 0: return new RequiredRole_Group_2(lastRuleCallOrigin, this, 0, inst);
-			case 1: return new RequiredRole_RequiredRoleKeyword_1(lastRuleCallOrigin, this, 1, inst);
+			case 0: return new RequiredRole_RequiredRoleKeyword_0(lastRuleCallOrigin, this, 0, inst);
 			default: return null;
 		}	
 	}
 
     @Override	
 	public IEObjectConsumer tryConsume() {
-		if((value = eObjectConsumer.getConsumable("interface",false)) == null) return null;
+		if((value = eObjectConsumer.getConsumable("interface",true)) == null) return null;
 		IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interface");
 		if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl
 			IEObjectConsumer param = createEObjectConsumer((EObject)value);
-			if(param.isInstanceOf(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_2_0_0().getType().getClassifier())) {
+			if(param.isInstanceOf(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_1_0().getType().getClassifier())) {
 				type = AssignmentType.CROSS_REFERENCE;
-				element = grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_2_0_0(); 
+				element = grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_1_0(); 
 				return obj;
 			}
 		}
@@ -4130,7 +4814,6 @@ protected class RequiredRole_InterfaceAssignment_2_0 extends AssignmentToken  {
 }
 
 
-
 /************ end Rule RequiredRole ****************/
 
 
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g
index 2cc9bf5d..28244a63 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g
@@ -85,9 +85,9 @@ ruleRepository returns [EObject current=null]
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_1_0()); 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getNameQualifiedNameParserRuleCall_1_0()); 
 	    }
-		lv_name_1_0=ruleEString		{
+		lv_name_1_0=ruleQualifiedName		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
 	        }
@@ -95,7 +95,7 @@ ruleRepository returns [EObject current=null]
        			$current, 
        			"name",
         		lv_name_1_0, 
-        		"EString");
+        		"QualifiedName");
 	        afterParserOrEnumRuleCall();
 	    }
 
@@ -104,65 +104,217 @@ ruleRepository returns [EObject current=null]
     {
     	newLeafNode(otherlv_2, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2());
     }
-((
+(	otherlv_3='imports' 
+    {
+    	newLeafNode(otherlv_3, grammarAccess.getRepositoryAccess().getImportsKeyword_3_0());
+    }
+	otherlv_4='{' 
+    {
+    	newLeafNode(otherlv_4, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_3_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_2_0()); 
+	    }
+		lv_imports_5_0=ruleImport		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
+	        }
+       		add(
+       			$current, 
+       			"imports",
+        		lv_imports_5_0, 
+        		"Import");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_6=',' 
+    {
+    	newLeafNode(otherlv_6, grammarAccess.getRepositoryAccess().getCommaKeyword_3_3_0());
+    }
+(
 (
 		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_3_0_0()); 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_3_1_0()); 
 	    }
-		lv_datatypes_3_0=ruleDataType		{
+		lv_imports_7_0=ruleImport		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
+	        }
+       		add(
+       			$current, 
+       			"imports",
+        		lv_imports_7_0, 
+        		"Import");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_8='}' 
+    {
+    	newLeafNode(otherlv_8, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_3_4());
+    }
+)?(	otherlv_9='datatypes' 
+    {
+    	newLeafNode(otherlv_9, grammarAccess.getRepositoryAccess().getDatatypesKeyword_4_0());
+    }
+	otherlv_10='{' 
+    {
+    	newLeafNode(otherlv_10, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_4_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_2_0()); 
+	    }
+		lv_datatypes_11_0=ruleDataType		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
 	        }
        		add(
        			$current, 
        			"datatypes",
-        		lv_datatypes_3_0, 
+        		lv_datatypes_11_0, 
         		"DataType");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)
-    |(
+)(	otherlv_12=',' 
+    {
+    	newLeafNode(otherlv_12, grammarAccess.getRepositoryAccess().getCommaKeyword_4_3_0());
+    }
+(
 (
 		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_3_1_0()); 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_3_1_0()); 
 	    }
-		lv_interfaces_4_0=ruleInterface		{
+		lv_datatypes_13_0=ruleDataType		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
 	        }
        		add(
        			$current, 
-       			"interfaces",
-        		lv_interfaces_4_0, 
-        		"Interface");
+       			"datatypes",
+        		lv_datatypes_13_0, 
+        		"DataType");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
+))*	otherlv_14='}' 
+    {
+    	newLeafNode(otherlv_14, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4_4());
+    }
+)?(	otherlv_15='components' 
+    {
+    	newLeafNode(otherlv_15, grammarAccess.getRepositoryAccess().getComponentsKeyword_5_0());
+    }
+	otherlv_16='{' 
+    {
+    	newLeafNode(otherlv_16, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_2_0()); 
+	    }
+		lv_components_17_0=ruleRepositoryComponent		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
+	        }
+       		add(
+       			$current, 
+       			"components",
+        		lv_components_17_0, 
+        		"RepositoryComponent");
+	        afterParserOrEnumRuleCall();
+	    }
+
 )
-    |(
+)(	otherlv_18=';' 
+    {
+    	newLeafNode(otherlv_18, grammarAccess.getRepositoryAccess().getSemicolonKeyword_5_3_0());
+    }
+(
 (
 		{ 
-	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_3_2_0()); 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_3_1_0()); 
 	    }
-		lv_components_5_0=ruleRepositoryComponent		{
+		lv_components_19_0=ruleRepositoryComponent		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
 	        }
        		add(
        			$current, 
        			"components",
-        		lv_components_5_0, 
+        		lv_components_19_0, 
         		"RepositoryComponent");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_6='}' 
+))*	otherlv_20='}' 
     {
-    	newLeafNode(otherlv_6, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4());
+    	newLeafNode(otherlv_20, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4());
+    }
+)?(	otherlv_21='interfaces' 
+    {
+    	newLeafNode(otherlv_21, grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0());
+    }
+	otherlv_22='{' 
+    {
+    	newLeafNode(otherlv_22, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); 
+	    }
+		lv_interfaces_23_0=ruleInterface		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
+	        }
+       		add(
+       			$current, 
+       			"interfaces",
+        		lv_interfaces_23_0, 
+        		"Interface");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+)(	otherlv_24=',' 
+    {
+    	newLeafNode(otherlv_24, grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); 
+	    }
+		lv_interfaces_25_0=ruleInterface		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getRepositoryRule());
+	        }
+       		add(
+       			$current, 
+       			"interfaces",
+        		lv_interfaces_25_0, 
+        		"Interface");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))*	otherlv_26='}' 
+    {
+    	newLeafNode(otherlv_26, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4());
+    }
+)?	otherlv_27='}' 
+    {
+    	newLeafNode(otherlv_27, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7());
     }
 )
 ;
@@ -171,6 +323,134 @@ ruleRepository returns [EObject current=null]
 
 
 
+// Entry rule entryRuleImport
+entryRuleImport returns [EObject current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getImportRule()); }
+	 iv_ruleImport=ruleImport 
+	 { $current=$iv_ruleImport.current; } 
+	 EOF 
+;
+
+// Rule Import
+ruleImport returns [EObject current=null] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(	otherlv_0='import' 
+    {
+    	newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+    }
+(
+(
+		{ 
+	        newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); 
+	    }
+		lv_importedNamespace_1_0=ruleQualifiedNameWithWildCard		{
+	        if ($current==null) {
+	            $current = createModelElementForParent(grammarAccess.getImportRule());
+	        }
+       		set(
+       			$current, 
+       			"importedNamespace",
+        		lv_importedNamespace_1_0, 
+        		"QualifiedNameWithWildCard");
+	        afterParserOrEnumRuleCall();
+	    }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleQualifiedNameWithWildCard
+entryRuleQualifiedNameWithWildCard returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getQualifiedNameWithWildCardRule()); } 
+	 iv_ruleQualifiedNameWithWildCard=ruleQualifiedNameWithWildCard 
+	 { $current=$iv_ruleQualifiedNameWithWildCard.current.getText(); }  
+	 EOF 
+;
+
+// Rule QualifiedNameWithWildCard
+ruleQualifiedNameWithWildCard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(
+    { 
+        newCompositeNode(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 
+    }
+    this_QualifiedName_0=ruleQualifiedName    {
+		$current.merge(this_QualifiedName_0);
+    }
+
+    { 
+        afterParserOrEnumRuleCall();
+    }
+(
+	kw='.' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); 
+    }
+
+	kw='*' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); 
+    }
+)?)
+    ;
+
+
+
+
+
+// Entry rule entryRuleQualifiedName
+entryRuleQualifiedName returns [String current=null] 
+	:
+	{ newCompositeNode(grammarAccess.getQualifiedNameRule()); } 
+	 iv_ruleQualifiedName=ruleQualifiedName 
+	 { $current=$iv_ruleQualifiedName.current.getText(); }  
+	 EOF 
+;
+
+// Rule QualifiedName
+ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
+    @init { enterRule(); 
+    }
+    @after { leaveRule(); }:
+(    this_ID_0=RULE_ID    {
+		$current.merge(this_ID_0);
+    }
+
+    { 
+    newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
+    }
+(
+	kw='.' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
+    }
+    this_ID_2=RULE_ID    {
+		$current.merge(this_ID_2);
+    }
+
+    { 
+    newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
+    }
+)*)
+    ;
+
+
+
+
+
 // Entry rule entryRuleDataType
 entryRuleDataType returns [EObject current=null] 
 	:
@@ -403,61 +683,49 @@ ruleInterface returns [EObject current=null]
     {
     	newLeafNode(otherlv_8, grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4());
     }
-)?(	otherlv_9='signatures' 
-    {
-    	newLeafNode(otherlv_9, grammarAccess.getInterfaceAccess().getSignaturesKeyword_4_0());
-    }
-	otherlv_10='{' 
-    {
-    	newLeafNode(otherlv_10, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_4_1());
-    }
-(
+)?((
 (
 		{ 
-	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_2_0()); 
+	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_0_0()); 
 	    }
-		lv_signatures_11_0=ruleSignature		{
+		lv_signatures_9_0=ruleSignature		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getInterfaceRule());
 	        }
        		add(
        			$current, 
        			"signatures",
-        		lv_signatures_11_0, 
+        		lv_signatures_9_0, 
         		"Signature");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_12=',' 
+)(	otherlv_10=',' 
     {
-    	newLeafNode(otherlv_12, grammarAccess.getInterfaceAccess().getCommaKeyword_4_3_0());
+    	newLeafNode(otherlv_10, grammarAccess.getInterfaceAccess().getCommaKeyword_4_1_0());
     }
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_3_1_0()); 
+	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_1_1_0()); 
 	    }
-		lv_signatures_13_0=ruleSignature		{
+		lv_signatures_11_0=ruleSignature		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getInterfaceRule());
 	        }
        		add(
        			$current, 
        			"signatures",
-        		lv_signatures_13_0, 
+        		lv_signatures_11_0, 
         		"Signature");
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-))*	otherlv_14='}' 
+))*)?	otherlv_12='}' 
     {
-    	newLeafNode(otherlv_14, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_4_4());
-    }
-)?	otherlv_15='}' 
-    {
-    	newLeafNode(otherlv_15, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5());
+    	newLeafNode(otherlv_12, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5());
     }
 )
 ;
@@ -1208,17 +1476,11 @@ ruleProvidedRole returns [EObject current=null]
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-((
+(	otherlv_0='ProvidedRole' 
     {
-        $current = forceCreateModelElement(
-            grammarAccess.getProvidedRoleAccess().getProvidedRoleAction_0(),
-            $current);
-    }
-)	otherlv_1='ProvidedRole' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_1());
+    	newLeafNode(otherlv_0, grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0());
     }
-((
+(
 (
 		{
 			if ($current==null) {
@@ -1226,18 +1488,18 @@ ruleProvidedRole returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); 
+	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_1_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_3=',' 
+)(	otherlv_2=',' 
     {
-    	newLeafNode(otherlv_3, grammarAccess.getProvidedRoleAccess().getCommaKeyword_2_1());
+    	newLeafNode(otherlv_2, grammarAccess.getProvidedRoleAccess().getCommaKeyword_2());
     }
-)?)*)
+)?)
 ;
 
 
@@ -1258,17 +1520,11 @@ ruleRequiredRole returns [EObject current=null]
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-((
+(	otherlv_0='RequiredRole' 
     {
-        $current = forceCreateModelElement(
-            grammarAccess.getRequiredRoleAccess().getRequiredRoleAction_0(),
-            $current);
-    }
-)	otherlv_1='RequiredRole' 
-    {
-    	newLeafNode(otherlv_1, grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_1());
+    	newLeafNode(otherlv_0, grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0());
     }
-((
+(
 (
 		{
 			if ($current==null) {
@@ -1276,18 +1532,18 @@ ruleRequiredRole returns [EObject current=null]
 	        }
         }
 		{ 
-	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); 
+	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_1_0()); 
 	    }
 		ruleEString		{ 
 	        afterParserOrEnumRuleCall();
 	    }
 
 )
-)(	otherlv_3=',' 
+)(	otherlv_2=',' 
     {
-    	newLeafNode(otherlv_3, grammarAccess.getRequiredRoleAccess().getCommaKeyword_2_1());
+    	newLeafNode(otherlv_2, grammarAccess.getRequiredRoleAccess().getCommaKeyword_2());
     }
-)?)*)
+)?)
 ;
 
 
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.tokens b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.tokens
index 321c7619..f1b56586 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.tokens
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.tokens
@@ -1,5 +1,8 @@
-RULE_ID=5
+T__68=68
+T__69=69
+RULE_ID=4
 T__66=66
+T__67=67
 T__64=64
 T__29=29
 T__65=65
@@ -51,69 +54,80 @@ RULE_SL_COMMENT=8
 RULE_ML_COMMENT=7
 T__30=30
 T__31=31
-RULE_STRING=4
+RULE_STRING=5
 T__32=32
+T__71=71
 T__33=33
+T__72=72
 T__34=34
 T__35=35
+T__70=70
 T__36=36
 T__37=37
 T__38=38
 T__39=39
 RULE_WS=9
-'requiredRole'=49
-'type'=30
-'DOUBLE'=63
-'providedRoles'=22
-'requiringAssemblyContext'=52
-'outerProvidedRole'=56
-'BasicComponent'=37
-'innerType'=25
-'CompositeComponent'=38
-'InnerDeclaration'=32
-'CompositeDataType'=26
-'RequiredRole'=36
-'innerRequiredRole'=58
-'assembly'=39
-'encapsulatedComponent'=47
+T__73=73
+'requiredRole'=56
+'type'=37
+'DOUBLE'=70
+'providedRoles'=29
+'outerProvidedRole'=63
+'requiringAssemblyContext'=59
+';'=18
+'BasicComponent'=44
+'innerType'=32
+'CompositeComponent'=45
+'InnerDeclaration'=39
+'.'=21
+'imports'=13
+'import'=20
+'CompositeDataType'=33
+'components'=17
+'RequiredRole'=43
+'innerRequiredRole'=65
+'assembly'=46
+'encapsulatedComponent'=54
+'RequiredDelegationConnector'=64
 '{'=12
-'assemblyConnectors'=43
-'RequiredDelegationConnector'=57
-'void'=34
-'Interface'=14
-'parentInterfaces'=15
-'ref'=31
-'('=16
-'innerProvidedRole'=55
-','=17
-'SubSystem'=40
-'BOOL'=62
-'INT'=60
-'ComposedStructureAssembly'=41
-'providedRole'=50
-'providingAssemblyContext'=51
-'PrimitiveDataType'=29
-'relationship'=21
-'assemblyContexts'=42
-'dataType'=33
-'requiredRoles'=23
+'assemblyConnectors'=50
+'Interface'=23
+'void'=41
+'parentInterfaces'=24
+'('=25
+'ref'=38
+'innerProvidedRole'=62
+','=14
+'SubSystem'=47
+'BOOL'=69
+'INT'=67
+'ComposedStructureAssembly'=48
+'providedRole'=57
+'providingAssemblyContext'=58
+'relationship'=28
+'PrimitiveDataType'=36
+'assemblyContexts'=49
+'dataType'=40
+'requiredRoles'=30
 'Repository'=11
-'CHAR'=64
-')'=18
-'LONG'=66
-'parentTypes'=27
-'outerRequiredRole'=59
-'AssemblyContext'=46
-'innerDeclarations'=28
-'}'=13
-'AssemblyConnector'=48
-'ProvidedRole'=35
-'CollectionDataType'=24
-'ProvidedDelegationConnector'=53
-'STRING'=61
-'RepositoryComponent'=20
-'signatures'=19
-'providedDelegationConnectors'=44
-'assemblyContext'=54
-'BYTE'=65
-'requiredDelegationConnectors'=45
+'interfaces'=19
+'CHAR'=71
+')'=26
+'LONG'=73
+'outerRequiredRole'=66
+'parentTypes'=34
+'AssemblyContext'=53
+'innerDeclarations'=35
+'}'=15
+'datatypes'=16
+'AssemblyConnector'=55
+'ProvidedRole'=42
+'ProvidedDelegationConnector'=60
+'CollectionDataType'=31
+'STRING'=68
+'RepositoryComponent'=27
+'providedDelegationConnectors'=51
+'assemblyContext'=61
+'*'=22
+'BYTE'=72
+'requiredDelegationConnectors'=52
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTestLexer.java b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTestLexer.java
index 462194db..77c23f5c 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTestLexer.java
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTestLexer.java
@@ -12,10 +12,13 @@ import java.util.ArrayList;
 
 @SuppressWarnings("all")
 public class InternalMyDslTestLexer extends Lexer {
-    public static final int RULE_ID=5;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int RULE_ID=4;
     public static final int T__66=66;
-    public static final int T__64=64;
+    public static final int T__67=67;
     public static final int T__29=29;
+    public static final int T__64=64;
     public static final int T__28=28;
     public static final int T__65=65;
     public static final int T__27=27;
@@ -26,8 +29,8 @@ public class InternalMyDslTestLexer extends Lexer {
     public static final int T__24=24;
     public static final int T__23=23;
     public static final int T__22=22;
-    public static final int T__21=21;
     public static final int RULE_ANY_OTHER=10;
+    public static final int T__21=21;
     public static final int T__20=20;
     public static final int T__61=61;
     public static final int EOF=-1;
@@ -67,15 +70,19 @@ public class InternalMyDslTestLexer extends Lexer {
     public static final int T__30=30;
     public static final int T__31=31;
     public static final int T__32=32;
-    public static final int RULE_STRING=4;
+    public static final int RULE_STRING=5;
     public static final int T__33=33;
+    public static final int T__71=71;
     public static final int T__34=34;
+    public static final int T__72=72;
     public static final int T__35=35;
     public static final int T__36=36;
+    public static final int T__70=70;
     public static final int T__37=37;
     public static final int T__38=38;
     public static final int T__39=39;
     public static final int RULE_WS=9;
+    public static final int T__73=73;
 
     // delegates
     // delegators
@@ -136,10 +143,11 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__13;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:13:7: ( '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:13:9: '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:13:7: ( 'imports' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:13:9: 'imports'
             {
-            match('}'); 
+            match("imports"); 
+
 
             }
 
@@ -156,11 +164,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:14:7: ( 'Interface' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:14:9: 'Interface'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:14:7: ( ',' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:14:9: ','
             {
-            match("Interface"); 
-
+            match(','); 
 
             }
 
@@ -177,11 +184,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:15:7: ( 'parentInterfaces' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:15:9: 'parentInterfaces'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:15:7: ( '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:15:9: '}'
             {
-            match("parentInterfaces"); 
-
+            match('}'); 
 
             }
 
@@ -198,10 +204,11 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:16:7: ( '(' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:16:9: '('
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:16:7: ( 'datatypes' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:16:9: 'datatypes'
             {
-            match('('); 
+            match("datatypes"); 
+
 
             }
 
@@ -218,10 +225,11 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:17:7: ( ',' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:17:9: ','
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:17:7: ( 'components' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:17:9: 'components'
             {
-            match(','); 
+            match("components"); 
+
 
             }
 
@@ -238,10 +246,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:18:7: ( ')' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:18:9: ')'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:18:7: ( ';' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:18:9: ';'
             {
-            match(')'); 
+            match(';'); 
 
             }
 
@@ -258,10 +266,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:19:7: ( 'signatures' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:19:9: 'signatures'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:19:7: ( 'interfaces' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:19:9: 'interfaces'
             {
-            match("signatures"); 
+            match("interfaces"); 
 
 
             }
@@ -279,10 +287,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:20:7: ( 'RepositoryComponent' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:20:9: 'RepositoryComponent'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:20:7: ( 'import' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:20:9: 'import'
             {
-            match("RepositoryComponent"); 
+            match("import"); 
 
 
             }
@@ -300,11 +308,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:21:7: ( 'relationship' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:21:9: 'relationship'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:21:7: ( '.' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:21:9: '.'
             {
-            match("relationship"); 
-
+            match('.'); 
 
             }
 
@@ -321,11 +328,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:22:7: ( 'providedRoles' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:22:9: 'providedRoles'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:22:7: ( '*' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:22:9: '*'
             {
-            match("providedRoles"); 
-
+            match('*'); 
 
             }
 
@@ -342,10 +348,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:23:7: ( 'requiredRoles' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:23:9: 'requiredRoles'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:23:7: ( 'Interface' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:23:9: 'Interface'
             {
-            match("requiredRoles"); 
+            match("Interface"); 
 
 
             }
@@ -363,10 +369,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:24:7: ( 'CollectionDataType' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:24:9: 'CollectionDataType'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:24:7: ( 'parentInterfaces' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:24:9: 'parentInterfaces'
             {
-            match("CollectionDataType"); 
+            match("parentInterfaces"); 
 
 
             }
@@ -384,11 +390,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:25:7: ( 'innerType' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:25:9: 'innerType'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:25:7: ( '(' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:25:9: '('
             {
-            match("innerType"); 
-
+            match('('); 
 
             }
 
@@ -405,11 +410,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:26:7: ( 'CompositeDataType' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:26:9: 'CompositeDataType'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:26:7: ( ')' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:26:9: ')'
             {
-            match("CompositeDataType"); 
-
+            match(')'); 
 
             }
 
@@ -426,10 +430,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:27:7: ( 'parentTypes' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:27:9: 'parentTypes'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:27:7: ( 'RepositoryComponent' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:27:9: 'RepositoryComponent'
             {
-            match("parentTypes"); 
+            match("RepositoryComponent"); 
 
 
             }
@@ -447,10 +451,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:28:7: ( 'innerDeclarations' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:28:9: 'innerDeclarations'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:28:7: ( 'relationship' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:28:9: 'relationship'
             {
-            match("innerDeclarations"); 
+            match("relationship"); 
 
 
             }
@@ -468,10 +472,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:29:7: ( 'PrimitiveDataType' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:29:9: 'PrimitiveDataType'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:29:7: ( 'providedRoles' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:29:9: 'providedRoles'
             {
-            match("PrimitiveDataType"); 
+            match("providedRoles"); 
 
 
             }
@@ -489,10 +493,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:30:7: ( 'type' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:30:9: 'type'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:30:7: ( 'requiredRoles' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:30:9: 'requiredRoles'
             {
-            match("type"); 
+            match("requiredRoles"); 
 
 
             }
@@ -510,10 +514,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:31:7: ( 'ref' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:31:9: 'ref'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:31:7: ( 'CollectionDataType' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:31:9: 'CollectionDataType'
             {
-            match("ref"); 
+            match("CollectionDataType"); 
 
 
             }
@@ -531,10 +535,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:32:7: ( 'InnerDeclaration' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:32:9: 'InnerDeclaration'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:32:7: ( 'innerType' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:32:9: 'innerType'
             {
-            match("InnerDeclaration"); 
+            match("innerType"); 
 
 
             }
@@ -552,10 +556,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:33:7: ( 'dataType' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:33:9: 'dataType'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:33:7: ( 'CompositeDataType' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:33:9: 'CompositeDataType'
             {
-            match("dataType"); 
+            match("CompositeDataType"); 
 
 
             }
@@ -573,10 +577,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:34:7: ( 'void' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:34:9: 'void'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:34:7: ( 'parentTypes' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:34:9: 'parentTypes'
             {
-            match("void"); 
+            match("parentTypes"); 
 
 
             }
@@ -594,10 +598,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:35:7: ( 'ProvidedRole' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:35:9: 'ProvidedRole'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:35:7: ( 'innerDeclarations' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:35:9: 'innerDeclarations'
             {
-            match("ProvidedRole"); 
+            match("innerDeclarations"); 
 
 
             }
@@ -615,10 +619,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:36:7: ( 'RequiredRole' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:36:9: 'RequiredRole'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:36:7: ( 'PrimitiveDataType' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:36:9: 'PrimitiveDataType'
             {
-            match("RequiredRole"); 
+            match("PrimitiveDataType"); 
 
 
             }
@@ -636,10 +640,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:37:7: ( 'BasicComponent' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:37:9: 'BasicComponent'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:37:7: ( 'type' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:37:9: 'type'
             {
-            match("BasicComponent"); 
+            match("type"); 
 
 
             }
@@ -657,10 +661,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:38:7: ( 'CompositeComponent' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:38:9: 'CompositeComponent'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:38:7: ( 'ref' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:38:9: 'ref'
             {
-            match("CompositeComponent"); 
+            match("ref"); 
 
 
             }
@@ -678,10 +682,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:39:7: ( 'assembly' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:39:9: 'assembly'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:39:7: ( 'InnerDeclaration' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:39:9: 'InnerDeclaration'
             {
-            match("assembly"); 
+            match("InnerDeclaration"); 
 
 
             }
@@ -699,10 +703,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:40:7: ( 'SubSystem' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:40:9: 'SubSystem'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:40:7: ( 'dataType' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:40:9: 'dataType'
             {
-            match("SubSystem"); 
+            match("dataType"); 
 
 
             }
@@ -720,10 +724,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:41:7: ( 'ComposedStructureAssembly' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:41:9: 'ComposedStructureAssembly'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:41:7: ( 'void' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:41:9: 'void'
             {
-            match("ComposedStructureAssembly"); 
+            match("void"); 
 
 
             }
@@ -741,10 +745,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:42:7: ( 'assemblyContexts' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:42:9: 'assemblyContexts'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:42:7: ( 'ProvidedRole' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:42:9: 'ProvidedRole'
             {
-            match("assemblyContexts"); 
+            match("ProvidedRole"); 
 
 
             }
@@ -762,10 +766,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:43:7: ( 'assemblyConnectors' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:43:9: 'assemblyConnectors'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:43:7: ( 'RequiredRole' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:43:9: 'RequiredRole'
             {
-            match("assemblyConnectors"); 
+            match("RequiredRole"); 
 
 
             }
@@ -783,10 +787,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:44:7: ( 'providedDelegationConnectors' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:44:9: 'providedDelegationConnectors'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:44:7: ( 'BasicComponent' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:44:9: 'BasicComponent'
             {
-            match("providedDelegationConnectors"); 
+            match("BasicComponent"); 
 
 
             }
@@ -804,10 +808,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:45:7: ( 'requiredDelegationConnectors' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:45:9: 'requiredDelegationConnectors'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:45:7: ( 'CompositeComponent' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:45:9: 'CompositeComponent'
             {
-            match("requiredDelegationConnectors"); 
+            match("CompositeComponent"); 
 
 
             }
@@ -825,10 +829,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:46:7: ( 'AssemblyContext' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:46:9: 'AssemblyContext'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:46:7: ( 'assembly' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:46:9: 'assembly'
             {
-            match("AssemblyContext"); 
+            match("assembly"); 
 
 
             }
@@ -846,10 +850,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:47:7: ( 'encapsulatedComponent' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:47:9: 'encapsulatedComponent'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:47:7: ( 'SubSystem' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:47:9: 'SubSystem'
             {
-            match("encapsulatedComponent"); 
+            match("SubSystem"); 
 
 
             }
@@ -867,10 +871,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:48:7: ( 'AssemblyConnector' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:48:9: 'AssemblyConnector'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:48:7: ( 'ComposedStructureAssembly' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:48:9: 'ComposedStructureAssembly'
             {
-            match("AssemblyConnector"); 
+            match("ComposedStructureAssembly"); 
 
 
             }
@@ -888,10 +892,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:49:7: ( 'requiredRole' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:49:9: 'requiredRole'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:49:7: ( 'assemblyContexts' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:49:9: 'assemblyContexts'
             {
-            match("requiredRole"); 
+            match("assemblyContexts"); 
 
 
             }
@@ -909,10 +913,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:50:7: ( 'providedRole' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:50:9: 'providedRole'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:50:7: ( 'assemblyConnectors' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:50:9: 'assemblyConnectors'
             {
-            match("providedRole"); 
+            match("assemblyConnectors"); 
 
 
             }
@@ -930,10 +934,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:51:7: ( 'providingAssemblyContext' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:51:9: 'providingAssemblyContext'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:51:7: ( 'providedDelegationConnectors' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:51:9: 'providedDelegationConnectors'
             {
-            match("providingAssemblyContext"); 
+            match("providedDelegationConnectors"); 
 
 
             }
@@ -951,10 +955,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:52:7: ( 'requiringAssemblyContext' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:52:9: 'requiringAssemblyContext'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:52:7: ( 'requiredDelegationConnectors' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:52:9: 'requiredDelegationConnectors'
             {
-            match("requiringAssemblyContext"); 
+            match("requiredDelegationConnectors"); 
 
 
             }
@@ -972,10 +976,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:53:7: ( 'ProvidedDelegationConnector' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:53:9: 'ProvidedDelegationConnector'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:53:7: ( 'AssemblyContext' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:53:9: 'AssemblyContext'
             {
-            match("ProvidedDelegationConnector"); 
+            match("AssemblyContext"); 
 
 
             }
@@ -993,10 +997,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:54:7: ( 'assemblyContext' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:54:9: 'assemblyContext'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:54:7: ( 'encapsulatedComponent' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:54:9: 'encapsulatedComponent'
             {
-            match("assemblyContext"); 
+            match("encapsulatedComponent"); 
 
 
             }
@@ -1014,10 +1018,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:55:7: ( 'innerProvidedRole' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:55:9: 'innerProvidedRole'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:55:7: ( 'AssemblyConnector' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:55:9: 'AssemblyConnector'
             {
-            match("innerProvidedRole"); 
+            match("AssemblyConnector"); 
 
 
             }
@@ -1035,10 +1039,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:56:7: ( 'outerProvidedRole' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:56:9: 'outerProvidedRole'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:56:7: ( 'requiredRole' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:56:9: 'requiredRole'
             {
-            match("outerProvidedRole"); 
+            match("requiredRole"); 
 
 
             }
@@ -1056,10 +1060,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:57:7: ( 'RequiredDelegationConnector' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:57:9: 'RequiredDelegationConnector'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:57:7: ( 'providedRole' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:57:9: 'providedRole'
             {
-            match("RequiredDelegationConnector"); 
+            match("providedRole"); 
 
 
             }
@@ -1077,10 +1081,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:58:7: ( 'innerRequiredRole' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:58:9: 'innerRequiredRole'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:58:7: ( 'providingAssemblyContext' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:58:9: 'providingAssemblyContext'
             {
-            match("innerRequiredRole"); 
+            match("providingAssemblyContext"); 
 
 
             }
@@ -1098,10 +1102,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:59:7: ( 'outerRequiredRole' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:59:9: 'outerRequiredRole'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:59:7: ( 'requiringAssemblyContext' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:59:9: 'requiringAssemblyContext'
             {
-            match("outerRequiredRole"); 
+            match("requiringAssemblyContext"); 
 
 
             }
@@ -1119,10 +1123,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:60:7: ( 'INT' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:60:9: 'INT'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:60:7: ( 'ProvidedDelegationConnector' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:60:9: 'ProvidedDelegationConnector'
             {
-            match("INT"); 
+            match("ProvidedDelegationConnector"); 
 
 
             }
@@ -1140,10 +1144,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:61:7: ( 'STRING' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:61:9: 'STRING'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:61:7: ( 'assemblyContext' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:61:9: 'assemblyContext'
             {
-            match("STRING"); 
+            match("assemblyContext"); 
 
 
             }
@@ -1161,10 +1165,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:62:7: ( 'BOOL' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:62:9: 'BOOL'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:62:7: ( 'innerProvidedRole' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:62:9: 'innerProvidedRole'
             {
-            match("BOOL"); 
+            match("innerProvidedRole"); 
 
 
             }
@@ -1182,10 +1186,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:63:7: ( 'DOUBLE' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:63:9: 'DOUBLE'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:63:7: ( 'outerProvidedRole' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:63:9: 'outerProvidedRole'
             {
-            match("DOUBLE"); 
+            match("outerProvidedRole"); 
 
 
             }
@@ -1203,10 +1207,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:64:7: ( 'CHAR' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:64:9: 'CHAR'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:64:7: ( 'RequiredDelegationConnector' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:64:9: 'RequiredDelegationConnector'
             {
-            match("CHAR"); 
+            match("RequiredDelegationConnector"); 
 
 
             }
@@ -1224,10 +1228,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:65:7: ( 'BYTE' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:65:9: 'BYTE'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:65:7: ( 'innerRequiredRole' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:65:9: 'innerRequiredRole'
             {
-            match("BYTE"); 
+            match("innerRequiredRole"); 
 
 
             }
@@ -1245,10 +1249,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:66:7: ( 'LONG' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:66:9: 'LONG'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:66:7: ( 'outerRequiredRole' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:66:9: 'outerRequiredRole'
             {
-            match("LONG"); 
+            match("outerRequiredRole"); 
 
 
             }
@@ -1261,15 +1265,162 @@ public class InternalMyDslTestLexer extends Lexer {
     }
     // $ANTLR end "T__66"
 
+    // $ANTLR start "T__67"
+    public final void mT__67() throws RecognitionException {
+        try {
+            int _type = T__67;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:67:7: ( 'INT' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:67:9: 'INT'
+            {
+            match("INT"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__67"
+
+    // $ANTLR start "T__68"
+    public final void mT__68() throws RecognitionException {
+        try {
+            int _type = T__68;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:68:7: ( 'STRING' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:68:9: 'STRING'
+            {
+            match("STRING"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__68"
+
+    // $ANTLR start "T__69"
+    public final void mT__69() throws RecognitionException {
+        try {
+            int _type = T__69;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:69:7: ( 'BOOL' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:69:9: 'BOOL'
+            {
+            match("BOOL"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__69"
+
+    // $ANTLR start "T__70"
+    public final void mT__70() throws RecognitionException {
+        try {
+            int _type = T__70;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:70:7: ( 'DOUBLE' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:70:9: 'DOUBLE'
+            {
+            match("DOUBLE"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__70"
+
+    // $ANTLR start "T__71"
+    public final void mT__71() throws RecognitionException {
+        try {
+            int _type = T__71;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:71:7: ( 'CHAR' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:71:9: 'CHAR'
+            {
+            match("CHAR"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__71"
+
+    // $ANTLR start "T__72"
+    public final void mT__72() throws RecognitionException {
+        try {
+            int _type = T__72;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:72:7: ( 'BYTE' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:72:9: 'BYTE'
+            {
+            match("BYTE"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__72"
+
+    // $ANTLR start "T__73"
+    public final void mT__73() throws RecognitionException {
+        try {
+            int _type = T__73;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:73:7: ( 'LONG' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:73:9: 'LONG'
+            {
+            match("LONG"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__73"
+
     // $ANTLR start "RULE_ID"
     public final void mRULE_ID() throws RecognitionException {
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2605:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2605:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2861:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2861:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2605:11: ( '^' )?
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2861:11: ( '^' )?
             int alt1=2;
             int LA1_0 = input.LA(1);
 
@@ -1278,7 +1429,7 @@ public class InternalMyDslTestLexer extends Lexer {
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2605:11: '^'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2861:11: '^'
                     {
                     match('^'); 
 
@@ -1296,7 +1447,7 @@ public class InternalMyDslTestLexer extends Lexer {
                 recover(mse);
                 throw mse;}
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2605:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2861:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             loop2:
             do {
                 int alt2=2;
@@ -1345,10 +1496,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2607:10: ( ( '0' .. '9' )+ )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2607:12: ( '0' .. '9' )+
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2863:10: ( ( '0' .. '9' )+ )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2863:12: ( '0' .. '9' )+
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2607:12: ( '0' .. '9' )+
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2863:12: ( '0' .. '9' )+
             int cnt3=0;
             loop3:
             do {
@@ -1362,7 +1513,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                 switch (alt3) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2607:13: '0' .. '9'
+            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2863:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1394,10 +1545,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
@@ -1415,10 +1566,10 @@ public class InternalMyDslTestLexer extends Lexer {
             }
             switch (alt6) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
                     loop4:
                     do {
                         int alt4=3;
@@ -1434,7 +1585,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                         switch (alt4) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
                     	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -1450,7 +1601,7 @@ public class InternalMyDslTestLexer extends Lexer {
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:66: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1475,10 +1626,10 @@ public class InternalMyDslTestLexer extends Lexer {
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
                     loop5:
                     do {
                         int alt5=3;
@@ -1494,7 +1645,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                         switch (alt5) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
                     	    {
                     	    match('\\'); 
                     	    if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
@@ -1510,7 +1661,7 @@ public class InternalMyDslTestLexer extends Lexer {
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2865:137: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1553,12 +1704,12 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2611:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2611:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2867:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2867:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2611:24: ( options {greedy=false; } : . )*
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2867:24: ( options {greedy=false; } : . )*
             loop7:
             do {
                 int alt7=2;
@@ -1583,7 +1734,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                 switch (alt7) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2611:52: .
+            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2867:52: .
             	    {
             	    matchAny(); 
 
@@ -1613,12 +1764,12 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2613:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2613:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2869:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2869:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2613:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2869:24: (~ ( ( '\\n' | '\\r' ) ) )*
             loop8:
             do {
                 int alt8=2;
@@ -1631,7 +1782,7 @@ public class InternalMyDslTestLexer extends Lexer {
 
                 switch (alt8) {
             	case 1 :
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2613:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2869:24: ~ ( ( '\\n' | '\\r' ) )
             	    {
             	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
             	        input.consume();
@@ -1651,7 +1802,7 @@ public class InternalMyDslTestLexer extends Lexer {
                 }
             } while (true);
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2613:40: ( ( '\\r' )? '\\n' )?
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2869:40: ( ( '\\r' )? '\\n' )?
             int alt10=2;
             int LA10_0 = input.LA(1);
 
@@ -1660,9 +1811,9 @@ public class InternalMyDslTestLexer extends Lexer {
             }
             switch (alt10) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2613:41: ( '\\r' )? '\\n'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2869:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2613:41: ( '\\r' )?
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2869:41: ( '\\r' )?
                     int alt9=2;
                     int LA9_0 = input.LA(1);
 
@@ -1671,7 +1822,7 @@ public class InternalMyDslTestLexer extends Lexer {
                     }
                     switch (alt9) {
                         case 1 :
-                            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2613:41: '\\r'
+                            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2869:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1703,10 +1854,10 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2615:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2615:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2871:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2871:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2615:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2871:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             int cnt11=0;
             loop11:
             do {
@@ -1760,8 +1911,8 @@ public class InternalMyDslTestLexer extends Lexer {
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2617:16: ( . )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2617:18: .
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2873:16: ( . )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2873:18: .
             {
             matchAny(); 
 
@@ -1776,8 +1927,8 @@ public class InternalMyDslTestLexer extends Lexer {
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt12=63;
+        // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt12=70;
         alt12 = dfa12.predict(input);
         switch (alt12) {
             case 1 :
@@ -2173,49 +2324,98 @@ public class InternalMyDslTestLexer extends Lexer {
                 }
                 break;
             case 57 :
-                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:346: RULE_ID
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:346: T__67
                 {
-                mRULE_ID(); 
+                mT__67(); 
 
                 }
                 break;
             case 58 :
-                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:354: RULE_INT
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:352: T__68
                 {
-                mRULE_INT(); 
+                mT__68(); 
 
                 }
                 break;
             case 59 :
-                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:363: RULE_STRING
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:358: T__69
                 {
-                mRULE_STRING(); 
+                mT__69(); 
 
                 }
                 break;
             case 60 :
-                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:375: RULE_ML_COMMENT
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:364: T__70
                 {
-                mRULE_ML_COMMENT(); 
+                mT__70(); 
 
                 }
                 break;
             case 61 :
-                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:391: RULE_SL_COMMENT
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:370: T__71
                 {
-                mRULE_SL_COMMENT(); 
+                mT__71(); 
 
                 }
                 break;
             case 62 :
-                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:407: RULE_WS
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:376: T__72
                 {
-                mRULE_WS(); 
+                mT__72(); 
 
                 }
                 break;
             case 63 :
-                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:415: RULE_ANY_OTHER
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:382: T__73
+                {
+                mT__73(); 
+
+                }
+                break;
+            case 64 :
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:388: RULE_ID
+                {
+                mRULE_ID(); 
+
+                }
+                break;
+            case 65 :
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:396: RULE_INT
+                {
+                mRULE_INT(); 
+
+                }
+                break;
+            case 66 :
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:405: RULE_STRING
+                {
+                mRULE_STRING(); 
+
+                }
+                break;
+            case 67 :
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:417: RULE_ML_COMMENT
+                {
+                mRULE_ML_COMMENT(); 
+
+                }
+                break;
+            case 68 :
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:433: RULE_SL_COMMENT
+                {
+                mRULE_SL_COMMENT(); 
+
+                }
+                break;
+            case 69 :
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:449: RULE_WS
+                {
+                mRULE_WS(); 
+
+                }
+                break;
+            case 70 :
+                // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1:457: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2229,228 +2429,235 @@ public class InternalMyDslTestLexer extends Lexer {
 
     protected DFA12 dfa12 = new DFA12(this);
     static final String DFA12_eotS =
-        "\1\uffff\1\42\2\uffff\2\42\3\uffff\20\42\1\40\2\uffff\3\40\2\uffff"+
-        "\1\42\3\uffff\4\42\3\uffff\24\42\5\uffff\4\42\1\150\5\42\1\156\30"+
-        "\42\1\uffff\5\42\1\uffff\2\42\1\u008e\3\42\1\u0092\1\42\1\u0094"+
-        "\1\42\1\u0096\1\u0097\7\42\1\u009f\13\42\1\uffff\3\42\1\uffff\1"+
-        "\42\1\uffff\1\42\2\uffff\7\42\1\uffff\25\42\1\u00d4\4\42\1\u00d9"+
-        "\31\42\1\uffff\4\42\1\uffff\25\42\1\u0110\1\42\1\u0113\10\42\1\u011c"+
-        "\16\42\1\u012c\6\42\1\uffff\2\42\1\uffff\1\u0135\4\42\1\u013b\2"+
-        "\42\1\uffff\6\42\1\u0144\10\42\1\uffff\10\42\1\uffff\5\42\1\uffff"+
-        "\4\42\1\u015e\3\42\1\uffff\25\42\1\u0179\3\42\1\uffff\1\u017e\2"+
-        "\42\1\u0181\1\u0183\12\42\1\u018e\12\42\1\uffff\3\42\1\u019c\1\uffff"+
-        "\2\42\1\uffff\1\u019f\1\uffff\12\42\1\uffff\15\42\1\uffff\2\42\1"+
-        "\uffff\13\42\1\u01c4\30\42\1\uffff\1\u01de\1\42\1\u01e0\6\42\1\u01e7"+
-        "\1\u01e8\15\42\1\u01f6\1\uffff\1\42\1\uffff\6\42\2\uffff\5\42\1"+
-        "\u0203\2\42\1\u0206\1\u0207\1\u0208\1\u0209\1\42\1\uffff\1\42\1"+
-        "\u020c\1\42\1\u020e\1\u020f\6\42\1\u0216\1\uffff\1\u0217\1\42\4"+
-        "\uffff\1\42\1\u021a\1\uffff\1\42\2\uffff\1\u021c\5\42\2\uffff\2"+
-        "\42\1\uffff\1\42\1\uffff\17\42\1\u0234\7\42\1\uffff\11\42\1\u0245"+
-        "\1\42\1\u0247\4\42\1\uffff\1\42\1\uffff\1\u024d\4\42\1\uffff\1\42"+
-        "\1\u0253\2\42\1\u0256\1\uffff\1\u0257\1\u0258\3\uffff";
+        "\1\uffff\1\45\1\uffff\1\45\2\uffff\2\45\3\uffff\2\45\2\uffff\15"+
+        "\45\1\43\2\uffff\3\43\2\uffff\1\45\2\uffff\2\45\2\uffff\2\45\3\uffff"+
+        "\4\45\2\uffff\21\45\5\uffff\11\45\1\166\4\45\1\173\33\45\1\uffff"+
+        "\4\45\1\uffff\2\45\1\u009e\2\45\1\u00a1\1\u00a2\1\45\1\u00a4\1\u00a5"+
+        "\7\45\1\u00ad\20\45\1\uffff\2\45\2\uffff\1\45\2\uffff\7\45\1\uffff"+
+        "\2\45\1\u00cf\25\45\1\u00e9\4\45\1\u00ee\2\45\1\u00f1\1\uffff\31"+
+        "\45\1\uffff\4\45\1\uffff\2\45\1\uffff\6\45\1\u0118\20\45\1\u012d"+
+        "\11\45\1\u0137\3\45\1\u013b\1\uffff\1\45\1\u013d\22\45\1\uffff\1"+
+        "\u0151\4\45\1\u0157\2\45\1\u015a\1\uffff\3\45\1\uffff\1\u015e\1"+
+        "\uffff\23\45\1\uffff\5\45\1\uffff\2\45\1\uffff\3\45\1\uffff\2\45"+
+        "\1\u017e\25\45\1\u0196\6\45\1\uffff\1\u019e\2\45\1\u01a1\1\u01a3"+
+        "\7\45\1\u01ab\12\45\1\uffff\6\45\1\u01bc\1\uffff\2\45\1\uffff\1"+
+        "\u01bf\1\uffff\7\45\1\uffff\20\45\1\uffff\2\45\1\uffff\10\45\1\u01e1"+
+        "\30\45\1\uffff\1\u01fb\1\45\1\u01fd\11\45\1\u0207\1\u0208\12\45"+
+        "\1\u0213\1\uffff\1\45\1\uffff\6\45\1\u021b\1\u021c\1\u021d\2\uffff"+
+        "\5\45\1\u0223\2\45\1\u0226\1\45\1\uffff\1\45\1\u0229\1\45\1\u022b"+
+        "\1\u022c\2\45\3\uffff\4\45\1\u0233\1\uffff\1\u0234\1\45\1\uffff"+
+        "\1\45\1\u0237\1\uffff\1\45\2\uffff\1\u0239\5\45\2\uffff\2\45\1\uffff"+
+        "\1\45\1\uffff\17\45\1\u0251\7\45\1\uffff\11\45\1\u0262\1\45\1\u0264"+
+        "\4\45\1\uffff\1\45\1\uffff\1\u026a\4\45\1\uffff\1\45\1\u0270\2\45"+
+        "\1\u0273\1\uffff\1\u0274\1\u0275\3\uffff";
     static final String DFA12_eofS =
-        "\u0259\uffff";
+        "\u0276\uffff";
     static final String DFA12_minS =
-        "\1\0\1\145\2\uffff\1\116\1\141\3\uffff\1\151\1\145\1\110\1\156"+
-        "\1\162\1\171\1\141\1\157\1\117\1\163\1\124\1\163\1\156\1\165\2\117"+
-        "\1\101\2\uffff\2\0\1\52\2\uffff\1\160\3\uffff\1\156\1\124\1\162"+
-        "\1\157\3\uffff\1\147\1\146\1\154\1\101\1\156\1\151\1\160\1\164\1"+
-        "\151\1\163\1\117\1\124\1\163\1\142\1\122\1\163\1\143\1\164\1\125"+
-        "\1\116\5\uffff\1\157\1\165\2\145\1\60\1\145\1\166\1\156\1\141\1"+
-        "\165\1\60\1\154\1\160\1\122\1\145\1\155\1\166\1\145\1\141\1\144"+
-        "\1\151\1\114\1\105\1\145\1\123\1\111\1\145\1\141\1\145\1\102\1\107"+
-        "\1\163\1\151\2\162\1\uffff\1\156\1\151\1\141\1\164\1\151\1\uffff"+
-        "\1\145\1\157\1\60\1\162\2\151\1\60\1\124\1\60\1\143\2\60\1\155\1"+
-        "\171\1\116\1\155\1\160\1\162\1\114\1\60\1\151\1\162\1\146\1\104"+
-        "\1\164\1\144\1\164\1\151\1\162\1\143\1\163\1\uffff\1\104\1\164\1"+
-        "\144\1\uffff\1\171\1\uffff\1\103\2\uffff\1\142\1\163\1\107\1\142"+
-        "\1\163\1\120\1\105\1\uffff\1\164\1\145\1\141\1\145\1\111\1\145\1"+
-        "\165\1\157\1\145\1\164\1\145\1\171\1\145\1\162\1\145\1\151\1\145"+
-        "\1\160\1\157\1\154\1\164\1\60\1\154\1\165\1\162\1\145\1\60\1\157"+
-        "\1\144\2\143\1\156\1\171\1\144\1\156\1\162\1\156\1\144\1\156\1\151"+
-        "\1\164\1\144\1\160\1\143\1\157\1\161\1\166\1\144\1\145\1\155\1\171"+
-        "\1\145\1\uffff\1\171\1\154\1\157\1\161\1\uffff\1\162\1\104\1\145"+
-        "\1\154\1\164\1\160\1\104\1\147\1\145\1\163\1\104\1\147\1\157\1\145"+
-        "\1\123\1\145\1\154\1\166\1\165\1\145\1\104\1\60\1\160\1\60\1\155"+
-        "\1\103\1\141\1\166\1\165\1\171\1\157\1\145\1\60\1\141\2\145\1\157"+
-        "\1\145\1\101\1\163\1\150\1\157\1\145\1\101\1\156\1\103\1\164\1\60"+
-        "\1\141\2\151\1\104\1\157\1\145\1\uffff\2\157\1\uffff\1\60\1\157"+
-        "\1\164\2\151\1\60\2\154\1\uffff\2\162\1\163\2\154\1\163\1\60\1\151"+
-        "\2\154\1\163\1\104\1\141\1\157\1\162\1\uffff\1\162\1\144\1\162\1"+
-        "\141\2\154\2\156\1\uffff\1\156\1\145\1\144\1\162\1\157\1\uffff\2"+
-        "\145\1\141\1\146\1\60\2\145\1\163\1\uffff\1\160\2\145\1\163\1\141"+
-        "\1\164\1\155\1\165\1\141\2\145\1\164\3\145\2\156\1\144\2\145\1\155"+
-        "\1\60\1\147\1\164\1\141\1\uffff\1\60\1\147\1\145\2\60\1\147\1\145"+
-        "\1\164\1\141\1\160\1\143\1\164\2\144\1\141\1\60\1\147\1\156\4\145"+
-        "\1\103\2\144\1\160\1\uffff\1\141\1\151\1\143\1\60\1\uffff\1\141"+
-        "\1\155\1\uffff\1\60\1\uffff\1\141\1\155\1\141\1\124\1\157\1\164"+
-        "\1\151\2\122\1\124\1\uffff\1\141\1\164\1\170\1\143\1\170\1\143\1"+
-        "\157\2\122\1\157\1\164\1\157\1\145\1\uffff\1\164\1\142\1\uffff\1"+
-        "\164\1\142\1\124\1\171\1\156\1\165\3\157\1\171\1\164\1\60\4\164"+
-        "\1\155\2\157\1\156\1\151\1\156\1\163\1\151\1\154\1\151\1\154\1\171"+
-        "\1\160\1\145\1\162\1\156\2\154\1\160\1\151\1\uffff\1\60\1\157\1"+
-        "\60\1\157\1\160\2\154\1\145\1\157\2\60\1\157\1\171\1\157\1\171\1"+
-        "\160\1\145\1\156\1\145\1\163\3\145\1\157\1\60\1\uffff\1\162\1\uffff"+
-        "\1\162\1\157\2\145\2\156\2\uffff\1\156\1\103\1\156\1\103\1\145\1"+
-        "\60\1\164\1\101\4\60\1\156\1\uffff\1\163\1\60\1\156\2\60\1\164\2"+
-        "\103\1\157\1\103\1\157\1\60\1\uffff\1\60\1\163\4\uffff\1\103\1\60"+
-        "\1\uffff\1\145\2\uffff\1\60\2\157\1\156\1\157\1\156\2\uffff\1\163"+
-        "\1\157\1\uffff\1\156\1\uffff\2\156\1\164\1\156\1\164\1\145\1\156"+
-        "\1\164\2\156\1\145\1\156\1\145\1\155\1\156\1\60\2\145\1\170\1\145"+
-        "\1\170\1\142\1\145\1\uffff\2\143\1\164\1\143\1\164\1\154\1\143\2"+
-        "\164\1\60\1\164\1\60\1\171\1\164\2\157\1\uffff\1\157\1\uffff\1\60"+
-        "\1\157\3\162\1\uffff\1\162\1\60\2\163\1\60\1\uffff\2\60\3\uffff";
+        "\1\0\1\145\1\uffff\1\155\2\uffff\1\141\1\157\3\uffff\1\116\1\141"+
+        "\2\uffff\1\145\1\110\1\162\1\171\1\157\1\117\1\163\1\124\1\163\1"+
+        "\156\1\165\2\117\1\101\2\uffff\2\0\1\52\2\uffff\1\160\2\uffff\1"+
+        "\160\1\156\2\uffff\1\164\1\155\3\uffff\1\156\1\124\1\162\1\157\2"+
+        "\uffff\1\146\1\154\1\101\1\151\1\160\1\151\1\163\1\117\1\124\1\163"+
+        "\1\142\1\122\1\163\1\143\1\164\1\125\1\116\5\uffff\1\157\1\165\1"+
+        "\157\2\145\1\141\1\160\2\145\1\60\1\145\1\166\1\141\1\165\1\60\1"+
+        "\154\1\160\1\122\1\155\1\166\1\145\1\144\1\151\1\114\1\105\1\145"+
+        "\1\123\1\111\1\145\1\141\1\145\1\102\1\107\1\163\1\151\3\162\1\124"+
+        "\1\157\2\162\1\uffff\1\156\1\151\1\164\1\151\1\uffff\1\145\1\157"+
+        "\1\60\2\151\2\60\1\143\2\60\1\155\1\171\1\116\1\155\1\160\1\162"+
+        "\1\114\1\60\1\151\1\162\1\164\1\146\1\104\2\171\1\156\1\146\1\104"+
+        "\1\164\1\144\1\151\1\162\1\143\1\163\1\uffff\1\164\1\144\2\uffff"+
+        "\1\103\2\uffff\1\142\1\163\1\107\1\142\1\163\1\120\1\105\1\uffff"+
+        "\1\164\1\145\1\60\1\141\1\171\1\145\1\162\1\145\2\160\1\145\1\141"+
+        "\1\145\1\111\1\145\1\157\1\145\1\164\1\145\1\151\1\145\1\157\1\154"+
+        "\1\164\1\60\1\154\1\165\1\162\1\145\1\60\1\157\1\144\1\60\1\uffff"+
+        "\1\143\1\160\1\143\1\157\1\161\2\145\1\156\2\143\1\156\1\171\1\144"+
+        "\2\156\1\144\1\156\1\151\1\164\1\144\1\166\1\144\1\155\1\171\1\145"+
+        "\1\uffff\1\171\1\154\1\157\1\161\1\uffff\1\162\1\104\1\uffff\2\145"+
+        "\1\154\1\166\1\165\1\163\1\60\1\164\1\145\1\154\1\164\1\160\1\104"+
+        "\1\147\1\163\1\104\1\147\1\157\1\145\1\123\1\145\1\104\1\160\1\60"+
+        "\1\155\1\103\1\141\1\166\1\165\1\171\1\157\1\145\1\163\1\60\1\141"+
+        "\2\151\1\60\1\uffff\1\163\1\60\1\141\2\145\1\157\1\145\1\101\1\150"+
+        "\1\157\1\145\1\101\1\156\1\103\1\164\1\104\1\157\1\145\2\157\1\uffff"+
+        "\1\60\1\157\1\164\2\151\1\60\2\154\1\60\1\uffff\1\162\1\144\1\162"+
+        "\1\uffff\1\60\1\uffff\2\162\1\163\2\154\1\163\1\151\2\154\1\163"+
+        "\1\104\1\141\1\157\1\162\1\141\2\154\2\156\1\uffff\1\156\1\145\1"+
+        "\144\1\162\1\157\1\uffff\2\145\1\uffff\1\141\2\145\1\uffff\1\141"+
+        "\1\146\1\60\2\145\1\163\1\160\2\145\1\163\1\141\1\164\1\155\1\165"+
+        "\1\164\3\145\2\156\1\144\2\145\1\155\1\60\1\147\1\164\2\144\1\164"+
+        "\1\141\1\uffff\1\60\1\147\1\145\2\60\1\147\1\145\1\164\1\141\1\160"+
+        "\1\143\1\141\1\60\1\147\1\156\4\145\1\103\2\144\1\160\1\uffff\1"+
+        "\141\1\151\2\122\1\151\1\143\1\60\1\uffff\1\141\1\155\1\uffff\1"+
+        "\60\1\uffff\1\141\1\155\1\141\1\124\1\157\1\164\1\124\1\uffff\1"+
+        "\141\1\164\1\170\1\143\1\170\1\143\1\157\2\122\1\157\1\164\4\157"+
+        "\1\145\1\uffff\1\164\1\142\1\uffff\1\164\1\142\1\124\1\171\1\156"+
+        "\1\165\1\171\1\164\1\60\4\164\1\155\2\157\1\156\1\151\1\156\2\154"+
+        "\1\156\1\163\1\151\1\154\1\151\1\154\1\171\1\160\1\145\1\162\1\160"+
+        "\1\151\1\uffff\1\60\1\157\1\60\1\157\1\160\2\154\1\145\1\157\1\163"+
+        "\2\145\2\60\1\157\1\171\1\157\1\171\1\160\1\145\1\156\2\145\1\157"+
+        "\1\60\1\uffff\1\162\1\uffff\1\162\1\157\2\145\2\156\3\60\2\uffff"+
+        "\1\156\1\103\1\156\1\103\1\145\1\60\1\164\1\101\1\60\1\156\1\uffff"+
+        "\1\163\1\60\1\156\2\60\1\164\1\103\3\uffff\1\103\1\157\1\103\1\157"+
+        "\1\60\1\uffff\1\60\1\163\1\uffff\1\103\1\60\1\uffff\1\145\2\uffff"+
+        "\1\60\2\157\1\156\1\157\1\156\2\uffff\1\163\1\157\1\uffff\1\156"+
+        "\1\uffff\2\156\1\164\1\156\1\164\1\145\1\156\1\164\2\156\1\145\1"+
+        "\156\1\145\1\155\1\156\1\60\2\145\1\170\1\145\1\170\1\142\1\145"+
+        "\1\uffff\2\143\1\164\1\143\1\164\1\154\1\143\2\164\1\60\1\164\1"+
+        "\60\1\171\1\164\2\157\1\uffff\1\157\1\uffff\1\60\1\157\3\162\1\uffff"+
+        "\1\162\1\60\2\163\1\60\1\uffff\2\60\3\uffff";
     static final String DFA12_maxS =
-        "\1\uffff\1\145\2\uffff\1\156\1\162\3\uffff\1\151\1\145\1\157\1"+
-        "\156\1\162\1\171\1\141\1\157\1\141\1\163\1\165\1\163\1\156\1\165"+
-        "\2\117\1\172\2\uffff\2\uffff\1\57\2\uffff\1\161\3\uffff\1\164\1"+
-        "\124\1\162\1\157\3\uffff\1\147\1\161\1\155\1\101\1\156\1\157\1\160"+
-        "\1\164\1\151\1\163\1\117\1\124\1\163\1\142\1\122\1\163\1\143\1\164"+
-        "\1\125\1\116\5\uffff\1\157\1\165\2\145\1\172\1\145\1\166\1\156\1"+
-        "\141\1\165\1\172\1\154\1\160\1\122\1\145\1\155\1\166\1\145\1\141"+
-        "\1\144\1\151\1\114\1\105\1\145\1\123\1\111\1\145\1\141\1\145\1\102"+
-        "\1\107\1\163\1\151\2\162\1\uffff\1\156\1\151\1\141\1\164\1\151\1"+
-        "\uffff\1\145\1\157\1\172\1\162\2\151\1\172\1\124\1\172\1\143\2\172"+
-        "\1\155\1\171\1\116\1\155\1\160\1\162\1\114\1\172\1\151\1\162\1\146"+
-        "\1\104\1\164\1\144\1\164\1\151\1\162\1\143\1\163\1\uffff\1\124\1"+
-        "\164\1\144\1\uffff\1\171\1\uffff\1\103\2\uffff\1\142\1\163\1\107"+
-        "\1\142\1\163\1\122\1\105\1\uffff\1\164\1\145\1\141\1\145\1\124\1"+
-        "\151\1\165\1\157\1\151\1\164\1\151\1\171\1\145\1\162\1\145\1\151"+
-        "\1\145\1\160\1\157\1\154\1\164\1\172\1\154\1\165\1\162\1\145\1\172"+
-        "\1\157\1\144\2\143\1\156\1\171\1\144\1\156\1\162\1\156\1\144\1\156"+
-        "\1\151\1\164\1\144\1\160\1\143\1\157\1\161\1\166\1\144\1\145\1\155"+
-        "\1\171\1\145\1\uffff\1\171\1\154\1\157\1\161\1\uffff\1\162\1\122"+
-        "\1\145\1\154\1\164\1\160\1\122\1\147\1\145\1\163\1\122\1\147\1\157"+
-        "\1\145\1\123\1\145\1\154\1\166\1\165\1\145\1\122\1\172\1\160\1\172"+
-        "\1\155\1\103\1\141\1\166\1\165\1\171\1\157\1\145\1\172\1\141\2\145"+
-        "\1\157\1\145\1\101\1\163\1\150\1\157\1\145\1\101\1\156\1\104\1\164"+
-        "\1\172\1\141\2\151\1\104\1\157\1\145\1\uffff\2\157\1\uffff\1\172"+
-        "\1\157\1\164\2\151\1\172\2\154\1\uffff\2\162\1\163\2\154\1\163\1"+
-        "\172\1\151\2\154\1\163\1\104\1\141\1\157\1\162\1\uffff\1\162\1\144"+
-        "\1\162\1\141\2\154\2\156\1\uffff\1\156\1\145\1\144\1\162\1\157\1"+
-        "\uffff\2\145\1\141\1\146\1\172\2\145\1\163\1\uffff\1\160\2\145\1"+
-        "\163\1\141\1\164\1\155\1\165\1\141\2\145\1\164\3\145\2\164\1\144"+
-        "\2\145\1\155\1\172\1\147\1\164\1\141\1\uffff\1\172\1\147\1\145\2"+
-        "\172\1\147\1\145\1\164\1\141\1\160\1\143\1\164\2\144\1\141\1\172"+
-        "\1\147\1\156\4\145\1\103\2\144\1\160\1\uffff\1\141\1\151\1\143\1"+
-        "\172\1\uffff\1\141\1\155\1\uffff\1\172\1\uffff\1\141\1\155\1\141"+
-        "\1\124\1\157\1\164\1\151\2\122\1\124\1\uffff\1\141\1\164\1\170\1"+
-        "\143\1\170\1\143\1\157\2\122\1\157\1\164\1\157\1\145\1\uffff\1\164"+
-        "\1\142\1\uffff\1\164\1\142\1\124\1\171\1\156\1\165\3\157\1\171\1"+
-        "\164\1\172\4\164\1\155\2\157\1\156\1\151\1\156\1\163\1\151\1\154"+
-        "\1\151\1\154\1\171\1\160\1\145\1\162\1\156\2\154\1\160\1\151\1\uffff"+
-        "\1\172\1\157\1\172\1\157\1\160\2\154\1\145\1\157\2\172\1\157\1\171"+
-        "\1\157\1\171\1\160\1\145\1\156\1\145\1\163\3\145\1\157\1\172\1\uffff"+
-        "\1\162\1\uffff\1\162\1\157\2\145\2\156\2\uffff\1\156\1\103\1\156"+
-        "\1\103\1\145\1\172\1\164\1\101\4\172\1\156\1\uffff\1\163\1\172\1"+
-        "\156\2\172\1\164\2\103\1\157\1\103\1\157\1\172\1\uffff\1\172\1\163"+
-        "\4\uffff\1\103\1\172\1\uffff\1\145\2\uffff\1\172\2\157\1\156\1\157"+
-        "\1\156\2\uffff\1\163\1\157\1\uffff\1\156\1\uffff\2\156\1\164\1\156"+
-        "\1\164\1\145\1\156\1\164\2\156\1\145\1\156\1\145\1\155\1\156\1\172"+
-        "\2\145\1\170\1\145\1\170\1\142\1\145\1\uffff\2\143\1\164\1\143\1"+
-        "\164\1\154\1\143\2\164\1\172\1\164\1\172\1\171\1\164\2\157\1\uffff"+
-        "\1\157\1\uffff\1\172\1\157\3\162\1\uffff\1\162\1\172\2\163\1\172"+
-        "\1\uffff\2\172\3\uffff";
+        "\1\uffff\1\145\1\uffff\1\156\2\uffff\1\141\1\157\3\uffff\1\156"+
+        "\1\162\2\uffff\1\145\1\157\1\162\1\171\1\157\1\141\1\163\1\165\1"+
+        "\163\1\156\1\165\2\117\1\172\2\uffff\2\uffff\1\57\2\uffff\1\161"+
+        "\2\uffff\1\160\1\164\2\uffff\1\164\1\155\3\uffff\1\164\1\124\1\162"+
+        "\1\157\2\uffff\1\161\1\155\1\101\1\157\1\160\1\151\1\163\1\117\1"+
+        "\124\1\163\1\142\1\122\1\163\1\143\1\164\1\125\1\116\5\uffff\1\157"+
+        "\1\165\1\157\2\145\1\141\1\160\2\145\1\172\1\145\1\166\1\141\1\165"+
+        "\1\172\1\154\1\160\1\122\1\155\1\166\1\145\1\144\1\151\1\114\1\105"+
+        "\1\145\1\123\1\111\1\145\1\141\1\145\1\102\1\107\1\163\1\151\3\162"+
+        "\1\164\1\157\2\162\1\uffff\1\156\1\151\1\164\1\151\1\uffff\1\145"+
+        "\1\157\1\172\2\151\2\172\1\143\2\172\1\155\1\171\1\116\1\155\1\160"+
+        "\1\162\1\114\1\172\1\151\1\162\1\164\1\146\1\124\2\171\1\156\1\146"+
+        "\1\104\1\164\1\144\1\151\1\162\1\143\1\163\1\uffff\1\164\1\144\2"+
+        "\uffff\1\103\2\uffff\1\142\1\163\1\107\1\142\1\163\1\122\1\105\1"+
+        "\uffff\1\164\1\145\1\172\1\141\1\171\1\145\1\162\1\145\2\160\1\145"+
+        "\1\141\1\145\1\124\1\151\1\157\1\151\1\164\2\151\1\145\1\157\1\154"+
+        "\1\164\1\172\1\154\1\165\1\162\1\145\1\172\1\157\1\144\1\172\1\uffff"+
+        "\1\143\1\160\1\143\1\157\1\161\2\145\1\156\2\143\1\156\1\171\1\144"+
+        "\2\156\1\144\1\156\1\151\1\164\1\144\1\166\1\144\1\155\1\171\1\145"+
+        "\1\uffff\1\171\1\154\1\157\1\161\1\uffff\1\162\1\122\1\uffff\2\145"+
+        "\1\154\1\166\1\165\1\163\1\172\1\164\1\145\1\154\1\164\1\160\1\122"+
+        "\1\147\1\163\1\122\1\147\1\157\1\145\1\123\1\145\1\122\1\160\1\172"+
+        "\1\155\1\103\1\141\1\166\1\165\1\171\1\157\1\145\1\163\1\172\1\141"+
+        "\2\151\1\172\1\uffff\1\163\1\172\1\141\2\145\1\157\1\145\1\101\1"+
+        "\150\1\157\1\145\1\101\1\156\1\104\1\164\1\104\1\157\1\145\2\157"+
+        "\1\uffff\1\172\1\157\1\164\2\151\1\172\2\154\1\172\1\uffff\1\162"+
+        "\1\144\1\162\1\uffff\1\172\1\uffff\2\162\1\163\2\154\1\163\1\151"+
+        "\2\154\1\163\1\104\1\141\1\157\1\162\1\141\2\154\2\156\1\uffff\1"+
+        "\156\1\145\1\144\1\162\1\157\1\uffff\2\145\1\uffff\1\141\2\145\1"+
+        "\uffff\1\141\1\146\1\172\2\145\1\163\1\160\2\145\1\163\1\141\1\164"+
+        "\1\155\1\165\1\164\3\145\2\164\1\144\2\145\1\155\1\172\1\147\1\164"+
+        "\2\144\1\164\1\141\1\uffff\1\172\1\147\1\145\2\172\1\147\1\145\1"+
+        "\164\1\141\1\160\1\143\1\141\1\172\1\147\1\156\4\145\1\103\2\144"+
+        "\1\160\1\uffff\1\141\1\151\2\122\1\151\1\143\1\172\1\uffff\1\141"+
+        "\1\155\1\uffff\1\172\1\uffff\1\141\1\155\1\141\1\124\1\157\1\164"+
+        "\1\124\1\uffff\1\141\1\164\1\170\1\143\1\170\1\143\1\157\2\122\1"+
+        "\157\1\164\4\157\1\145\1\uffff\1\164\1\142\1\uffff\1\164\1\142\1"+
+        "\124\1\171\1\156\1\165\1\171\1\164\1\172\4\164\1\155\2\157\1\156"+
+        "\1\151\1\156\2\154\1\156\1\163\1\151\1\154\1\151\1\154\1\171\1\160"+
+        "\1\145\1\162\1\160\1\151\1\uffff\1\172\1\157\1\172\1\157\1\160\2"+
+        "\154\1\145\1\157\1\163\2\145\2\172\1\157\1\171\1\157\1\171\1\160"+
+        "\1\145\1\156\2\145\1\157\1\172\1\uffff\1\162\1\uffff\1\162\1\157"+
+        "\2\145\2\156\3\172\2\uffff\1\156\1\103\1\156\1\103\1\145\1\172\1"+
+        "\164\1\101\1\172\1\156\1\uffff\1\163\1\172\1\156\2\172\1\164\1\103"+
+        "\3\uffff\1\103\1\157\1\103\1\157\1\172\1\uffff\1\172\1\163\1\uffff"+
+        "\1\103\1\172\1\uffff\1\145\2\uffff\1\172\2\157\1\156\1\157\1\156"+
+        "\2\uffff\1\163\1\157\1\uffff\1\156\1\uffff\2\156\1\164\1\156\1\164"+
+        "\1\145\1\156\1\164\2\156\1\145\1\156\1\145\1\155\1\156\1\172\2\145"+
+        "\1\170\1\145\1\170\1\142\1\145\1\uffff\2\143\1\164\1\143\1\164\1"+
+        "\154\1\143\2\164\1\172\1\164\1\172\1\171\1\164\2\157\1\uffff\1\157"+
+        "\1\uffff\1\172\1\157\3\162\1\uffff\1\162\1\172\2\163\1\172\1\uffff"+
+        "\2\172\3\uffff";
     static final String DFA12_acceptS =
-        "\2\uffff\1\2\1\3\2\uffff\1\6\1\7\1\10\21\uffff\1\71\1\72\3\uffff"+
-        "\1\76\1\77\1\uffff\1\71\1\2\1\3\4\uffff\1\6\1\7\1\10\24\uffff\1"+
-        "\72\1\73\1\74\1\75\1\76\43\uffff\1\62\5\uffff\1\25\37\uffff\1\66"+
-        "\3\uffff\1\24\1\uffff\1\30\1\uffff\1\64\1\67\7\uffff\1\70\64\uffff"+
-        "\1\63\4\uffff\1\65\66\uffff\1\27\2\uffff\1\35\10\uffff\1\4\17\uffff"+
-        "\1\17\10\uffff\1\36\5\uffff\1\1\10\uffff\1\11\31\uffff\1\21\32\uffff"+
-        "\1\32\4\uffff\1\50\2\uffff\1\13\1\uffff\1\47\12\uffff\1\31\15\uffff"+
-        "\1\14\2\uffff\1\15\44\uffff\1\33\31\uffff\1\54\1\uffff\1\44\6\uffff"+
-        "\1\26\1\5\15\uffff\1\40\14\uffff\1\20\2\uffff\1\22\1\55\1\60\1\23"+
-        "\2\uffff\1\46\1\uffff\1\56\1\61\6\uffff\1\16\1\34\2\uffff\1\41\1"+
-        "\uffff\1\12\27\uffff\1\45\20\uffff\1\51\1\uffff\1\52\5\uffff\1\37"+
-        "\5\uffff\1\57\2\uffff\1\53\1\42\1\43";
+        "\2\uffff\1\2\1\uffff\1\4\1\5\2\uffff\1\10\1\13\1\14\2\uffff\1\17"+
+        "\1\20\16\uffff\1\100\1\101\3\uffff\1\105\1\106\1\uffff\1\100\1\2"+
+        "\2\uffff\1\4\1\5\2\uffff\1\10\1\13\1\14\4\uffff\1\17\1\20\21\uffff"+
+        "\1\101\1\102\1\103\1\104\1\105\52\uffff\1\71\4\uffff\1\34\42\uffff"+
+        "\1\75\2\uffff\1\33\1\37\1\uffff\1\73\1\76\7\uffff\1\77\41\uffff"+
+        "\1\12\31\uffff\1\72\4\uffff\1\74\2\uffff\1\3\46\uffff\1\36\24\uffff"+
+        "\1\44\11\uffff\1\26\3\uffff\1\6\1\uffff\1\15\23\uffff\1\45\5\uffff"+
+        "\1\1\2\uffff\1\11\3\uffff\1\7\37\uffff\1\30\27\uffff\1\41\7\uffff"+
+        "\1\57\2\uffff\1\22\1\uffff\1\56\7\uffff\1\40\20\uffff\1\23\2\uffff"+
+        "\1\24\41\uffff\1\42\31\uffff\1\63\1\uffff\1\53\11\uffff\1\35\1\16"+
+        "\12\uffff\1\47\7\uffff\1\31\1\64\1\67\5\uffff\1\27\2\uffff\1\32"+
+        "\2\uffff\1\55\1\uffff\1\65\1\70\6\uffff\1\25\1\43\2\uffff\1\50\1"+
+        "\uffff\1\21\27\uffff\1\54\20\uffff\1\60\1\uffff\1\61\5\uffff\1\46"+
+        "\5\uffff\1\66\2\uffff\1\62\1\51\1\52";
     static final String DFA12_specialS =
-        "\1\0\33\uffff\1\1\1\2\u023b\uffff}>";
+        "\1\1\36\uffff\1\0\1\2\u0255\uffff}>";
     static final String[] DFA12_transitionS = {
-            "\11\40\2\37\2\40\1\37\22\40\1\37\1\40\1\34\4\40\1\35\1\6\1"+
-            "\10\2\40\1\7\2\40\1\36\12\33\7\40\1\24\1\21\1\13\1\27\4\32\1"+
-            "\4\2\32\1\30\3\32\1\15\1\32\1\1\1\23\7\32\3\40\1\31\1\32\1\40"+
-            "\1\22\2\32\1\17\1\25\3\32\1\14\5\32\1\26\1\5\1\32\1\12\1\11"+
-            "\1\16\1\32\1\20\4\32\1\2\1\40\1\3\uff82\40",
-            "\1\41",
+            "\11\43\2\42\2\43\1\42\22\43\1\42\1\43\1\37\4\43\1\40\1\15\1"+
+            "\16\1\12\1\43\1\4\1\43\1\11\1\41\12\36\1\43\1\10\5\43\1\27\1"+
+            "\24\1\20\1\32\4\35\1\13\2\35\1\33\3\35\1\21\1\35\1\1\1\26\7"+
+            "\35\3\43\1\34\1\35\1\43\1\25\1\35\1\7\1\6\1\30\3\35\1\3\5\35"+
+            "\1\31\1\14\1\35\1\17\1\35\1\22\1\35\1\23\4\35\1\2\1\43\1\5\uff82"+
+            "\43",
+            "\1\44",
             "",
+            "\1\47\1\50",
             "",
-            "\1\46\37\uffff\1\45",
-            "\1\47\20\uffff\1\50",
             "",
+            "\1\53",
+            "\1\54",
             "",
             "",
-            "\1\54",
-            "\1\55",
-            "\1\57\46\uffff\1\56",
-            "\1\60",
-            "\1\61",
-            "\1\62",
-            "\1\63",
-            "\1\64",
-            "\1\66\11\uffff\1\67\7\uffff\1\65",
-            "\1\70",
-            "\1\72\40\uffff\1\71",
+            "",
+            "\1\61\37\uffff\1\60",
+            "\1\62\20\uffff\1\63",
+            "",
+            "",
+            "\1\66",
+            "\1\70\46\uffff\1\67",
+            "\1\71",
+            "\1\72",
             "\1\73",
-            "\1\74",
-            "\1\75",
-            "\1\76",
+            "\1\75\11\uffff\1\76\7\uffff\1\74",
             "\1\77",
-            "\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\101\40\uffff\1\100",
+            "\1\102",
+            "\1\103",
+            "\1\104",
+            "\1\105",
+            "\1\106",
+            "\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
             "",
-            "\0\101",
-            "\0\101",
-            "\1\102\4\uffff\1\103",
+            "\0\110",
+            "\0\110",
+            "\1\111\4\uffff\1\112",
             "",
             "",
-            "\1\105\1\106",
+            "\1\114\1\115",
             "",
             "",
+            "\1\116",
+            "\1\120\5\uffff\1\117",
             "",
-            "\1\110\5\uffff\1\107",
-            "\1\111",
-            "\1\112",
-            "\1\113",
             "",
+            "\1\121",
+            "\1\122",
             "",
             "",
-            "\1\114",
-            "\1\117\5\uffff\1\115\4\uffff\1\116",
-            "\1\120\1\121",
-            "\1\122",
-            "\1\123",
-            "\1\124\5\uffff\1\125",
+            "",
+            "\1\124\5\uffff\1\123",
+            "\1\125",
             "\1\126",
             "\1\127",
-            "\1\130",
-            "\1\131",
-            "\1\132",
-            "\1\133",
-            "\1\134",
+            "",
+            "",
+            "\1\132\5\uffff\1\130\4\uffff\1\131",
+            "\1\133\1\134",
             "\1\135",
-            "\1\136",
-            "\1\137",
+            "\1\136\5\uffff\1\137",
             "\1\140",
             "\1\141",
             "\1\142",
             "\1\143",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\144",
             "\1\145",
             "\1\146",
             "\1\147",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\150",
             "\1\151",
             "\1\152",
             "\1\153",
             "\1\154",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\155",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\156",
             "\1\157",
             "\1\160",
             "\1\161",
@@ -2458,12 +2665,12 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\163",
             "\1\164",
             "\1\165",
-            "\1\166",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\167",
             "\1\170",
             "\1\171",
             "\1\172",
-            "\1\173",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\174",
             "\1\175",
             "\1\176",
@@ -2475,229 +2682,228 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u0084",
             "\1\u0085",
             "\1\u0086",
-            "",
             "\1\u0087",
             "\1\u0088",
             "\1\u0089",
             "\1\u008a",
             "\1\u008b",
-            "",
             "\1\u008c",
             "\1\u008d",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u008e",
             "\1\u008f",
             "\1\u0090",
             "\1\u0091",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u0093",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0092",
+            "\1\u0094\37\uffff\1\u0093",
             "\1\u0095",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0096",
+            "\1\u0097",
+            "",
             "\1\u0098",
             "\1\u0099",
             "\1\u009a",
             "\1\u009b",
+            "",
             "\1\u009c",
             "\1\u009d",
-            "\1\u009e",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u009f",
             "\1\u00a0",
-            "\1\u00a1",
-            "\1\u00a2",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u00a3",
-            "\1\u00a4",
-            "\1\u00a5",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u00a6",
             "\1\u00a7",
             "\1\u00a8",
             "\1\u00a9",
             "\1\u00aa",
-            "",
-            "\1\u00ac\13\uffff\1\u00ad\1\uffff\1\u00ae\1\uffff\1\u00ab",
+            "\1\u00ab",
+            "\1\u00ac",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u00ae",
             "\1\u00af",
             "\1\u00b0",
-            "",
             "\1\u00b1",
-            "",
-            "\1\u00b2",
-            "",
-            "",
-            "\1\u00b3",
-            "\1\u00b4",
-            "\1\u00b5",
+            "\1\u00b3\13\uffff\1\u00b4\1\uffff\1\u00b5\1\uffff\1\u00b2",
             "\1\u00b6",
             "\1\u00b7",
-            "\1\u00b8\1\uffff\1\u00b9",
+            "\1\u00b8",
+            "\1\u00b9",
             "\1\u00ba",
-            "",
             "\1\u00bb",
             "\1\u00bc",
             "\1\u00bd",
             "\1\u00be",
-            "\1\u00bf\12\uffff\1\u00c0",
-            "\1\u00c1\3\uffff\1\u00c2",
+            "\1\u00bf",
+            "\1\u00c0",
+            "",
+            "\1\u00c1",
+            "\1\u00c2",
+            "",
+            "",
             "\1\u00c3",
+            "",
+            "",
             "\1\u00c4",
-            "\1\u00c5\3\uffff\1\u00c6",
+            "\1\u00c5",
+            "\1\u00c6",
             "\1\u00c7",
-            "\1\u00c9\3\uffff\1\u00c8",
-            "\1\u00ca",
+            "\1\u00c8",
+            "\1\u00c9\1\uffff\1\u00ca",
             "\1\u00cb",
+            "",
             "\1\u00cc",
             "\1\u00cd",
-            "\1\u00ce",
-            "\1\u00cf",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\22\45\1\u00ce\7"+
+            "\45",
             "\1\u00d0",
             "\1\u00d1",
             "\1\u00d2",
             "\1\u00d3",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u00d4",
             "\1\u00d5",
             "\1\u00d6",
             "\1\u00d7",
             "\1\u00d8",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u00da",
-            "\1\u00db",
-            "\1\u00dc",
-            "\1\u00dd",
+            "\1\u00d9",
+            "\1\u00da\12\uffff\1\u00db",
+            "\1\u00dc\3\uffff\1\u00dd",
             "\1\u00de",
-            "\1\u00df",
-            "\1\u00e0",
+            "\1\u00df\3\uffff\1\u00e0",
             "\1\u00e1",
-            "\1\u00e2",
-            "\1\u00e3",
+            "\1\u00e3\3\uffff\1\u00e2",
             "\1\u00e4",
             "\1\u00e5",
             "\1\u00e6",
             "\1\u00e7",
             "\1\u00e8",
-            "\1\u00e9",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u00ea",
             "\1\u00eb",
             "\1\u00ec",
             "\1\u00ed",
-            "\1\u00ee",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u00ef",
             "\1\u00f0",
-            "\1\u00f1",
-            "\1\u00f2",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
+            "\1\u00f2",
             "\1\u00f3",
             "\1\u00f4",
             "\1\u00f5",
             "\1\u00f6",
-            "",
             "\1\u00f7",
-            "\1\u00f9\15\uffff\1\u00f8",
+            "\1\u00f8",
+            "\1\u00f9",
             "\1\u00fa",
             "\1\u00fb",
             "\1\u00fc",
             "\1\u00fd",
-            "\1\u00ff\15\uffff\1\u00fe",
+            "\1\u00fe",
+            "\1\u00ff",
             "\1\u0100",
             "\1\u0101",
             "\1\u0102",
-            "\1\u0104\15\uffff\1\u0103",
+            "\1\u0103",
+            "\1\u0104",
             "\1\u0105",
             "\1\u0106",
             "\1\u0107",
             "\1\u0108",
             "\1\u0109",
             "\1\u010a",
+            "",
             "\1\u010b",
             "\1\u010c",
             "\1\u010d",
-            "\1\u010f\15\uffff\1\u010e",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u0111",
-            "\12\42\7\uffff\2\42\1\u0112\27\42\4\uffff\1\42\1\uffff\32"+
-            "\42",
+            "\1\u010e",
+            "",
+            "\1\u010f",
+            "\1\u0111\15\uffff\1\u0110",
+            "",
+            "\1\u0112",
+            "\1\u0113",
             "\1\u0114",
             "\1\u0115",
             "\1\u0116",
             "\1\u0117",
-            "\1\u0118",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0119",
             "\1\u011a",
             "\1\u011b",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u011c",
             "\1\u011d",
-            "\1\u011e",
-            "\1\u011f",
+            "\1\u011f\15\uffff\1\u011e",
             "\1\u0120",
             "\1\u0121",
-            "\1\u0122",
-            "\1\u0123",
+            "\1\u0123\15\uffff\1\u0122",
             "\1\u0124",
             "\1\u0125",
             "\1\u0126",
             "\1\u0127",
             "\1\u0128",
-            "\1\u012a\1\u0129",
+            "\1\u012a\15\uffff\1\u0129",
             "\1\u012b",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u012d",
+            "\12\45\7\uffff\2\45\1\u012c\27\45\4\uffff\1\45\1\uffff\32"+
+            "\45",
             "\1\u012e",
             "\1\u012f",
             "\1\u0130",
             "\1\u0131",
             "\1\u0132",
-            "",
             "\1\u0133",
             "\1\u0134",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0135",
             "\1\u0136",
-            "\1\u0137",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0138",
             "\1\u0139",
-            "\12\42\7\uffff\2\42\1\u013a\27\42\4\uffff\1\42\1\uffff\32"+
-            "\42",
-            "\1\u013c",
-            "\1\u013d",
+            "\1\u013a",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
+            "\1\u013c",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u013e",
             "\1\u013f",
             "\1\u0140",
             "\1\u0141",
             "\1\u0142",
             "\1\u0143",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0144",
             "\1\u0145",
             "\1\u0146",
             "\1\u0147",
             "\1\u0148",
-            "\1\u0149",
-            "\1\u014a",
+            "\1\u014a\1\u0149",
             "\1\u014b",
             "\1\u014c",
-            "",
             "\1\u014d",
             "\1\u014e",
             "\1\u014f",
             "\1\u0150",
-            "\1\u0151",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0152",
             "\1\u0153",
             "\1\u0154",
-            "",
             "\1\u0155",
-            "\1\u0156",
-            "\1\u0157",
+            "\12\45\7\uffff\2\45\1\u0156\27\45\4\uffff\1\45\1\uffff\32"+
+            "\45",
             "\1\u0158",
             "\1\u0159",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
-            "\1\u015a",
             "\1\u015b",
             "\1\u015c",
             "\1\u015d",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u015f",
             "\1\u0160",
             "\1\u0161",
-            "",
             "\1\u0162",
             "\1\u0163",
             "\1\u0164",
@@ -2713,24 +2919,29 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u016e",
             "\1\u016f",
             "\1\u0170",
-            "\1\u0172\5\uffff\1\u0171",
-            "\1\u0174\5\uffff\1\u0173",
+            "\1\u0171",
+            "",
+            "\1\u0172",
+            "\1\u0173",
+            "\1\u0174",
             "\1\u0175",
             "\1\u0176",
+            "",
             "\1\u0177",
             "\1\u0178",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "",
+            "\1\u0179",
             "\1\u017a",
             "\1\u017b",
-            "\1\u017c",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u017d\7"+
-            "\42",
+            "\1\u017c",
+            "\1\u017d",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u017f",
             "\1\u0180",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u0182\7"+
-            "\42",
+            "\1\u0181",
+            "\1\u0182",
+            "\1\u0183",
             "\1\u0184",
             "\1\u0185",
             "\1\u0186",
@@ -2741,41 +2952,35 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u018b",
             "\1\u018c",
             "\1\u018d",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u018f",
-            "\1\u0190",
-            "\1\u0191",
+            "\1\u018f\5\uffff\1\u018e",
+            "\1\u0191\5\uffff\1\u0190",
             "\1\u0192",
             "\1\u0193",
             "\1\u0194",
             "\1\u0195",
-            "\1\u0196",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0197",
             "\1\u0198",
-            "",
             "\1\u0199",
             "\1\u019a",
             "\1\u019b",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\1\u019d",
-            "\1\u019e",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u019c",
             "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\22\45\1\u019d\7"+
+            "\45",
+            "\1\u019f",
             "\1\u01a0",
-            "\1\u01a1",
-            "\1\u01a2",
-            "\1\u01a3",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\22\45\1\u01a2\7"+
+            "\45",
             "\1\u01a4",
             "\1\u01a5",
             "\1\u01a6",
             "\1\u01a7",
             "\1\u01a8",
             "\1\u01a9",
-            "",
             "\1\u01aa",
-            "\1\u01ab",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u01ac",
             "\1\u01ad",
             "\1\u01ae",
@@ -2786,25 +2991,28 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u01b3",
             "\1\u01b4",
             "\1\u01b5",
-            "\1\u01b6",
             "",
+            "\1\u01b6",
             "\1\u01b7",
             "\1\u01b8",
-            "",
             "\1\u01b9",
             "\1\u01ba",
             "\1\u01bb",
-            "\1\u01bc",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u01bd",
             "\1\u01be",
-            "\1\u01bf",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u01c0",
             "\1\u01c1",
             "\1\u01c2",
             "\1\u01c3",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u01c4",
             "\1\u01c5",
             "\1\u01c6",
+            "",
             "\1\u01c7",
             "\1\u01c8",
             "\1\u01c9",
@@ -2821,25 +3029,26 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u01d4",
             "\1\u01d5",
             "\1\u01d6",
+            "",
             "\1\u01d7",
             "\1\u01d8",
+            "",
             "\1\u01d9",
             "\1\u01da",
             "\1\u01db",
             "\1\u01dc",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\22\42\1\u01dd\7"+
-            "\42",
+            "\1\u01dd",
+            "\1\u01de",
             "\1\u01df",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u01e1",
+            "\1\u01e0",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u01e2",
             "\1\u01e3",
             "\1\u01e4",
             "\1\u01e5",
             "\1\u01e6",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u01e7",
+            "\1\u01e8",
             "\1\u01e9",
             "\1\u01ea",
             "\1\u01eb",
@@ -2853,127 +3062,157 @@ public class InternalMyDslTestLexer extends Lexer {
             "\1\u01f3",
             "\1\u01f4",
             "\1\u01f5",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
+            "\1\u01f6",
             "\1\u01f7",
-            "",
             "\1\u01f8",
             "\1\u01f9",
-            "\1\u01fa",
-            "\1\u01fb",
-            "\1\u01fc",
-            "\1\u01fd",
-            "",
             "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\22\45\1\u01fa\7"+
+            "\45",
+            "\1\u01fc",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u01fe",
             "\1\u01ff",
             "\1\u0200",
             "\1\u0201",
             "\1\u0202",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0203",
             "\1\u0204",
             "\1\u0205",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0206",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0209",
             "\1\u020a",
-            "",
             "\1\u020b",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u020c",
             "\1\u020d",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u020e",
+            "\1\u020f",
             "\1\u0210",
             "\1\u0211",
             "\1\u0212",
-            "\1\u0213",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u0214",
-            "\1\u0215",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0215",
+            "\1\u0216",
+            "\1\u0217",
             "\1\u0218",
-            "",
-            "",
-            "",
-            "",
             "\1\u0219",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u021a",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
-            "\1\u021b",
             "",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\1\u021d",
             "\1\u021e",
             "\1\u021f",
             "\1\u0220",
             "\1\u0221",
-            "",
-            "",
             "\1\u0222",
-            "\1\u0223",
-            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0224",
-            "",
             "\1\u0225",
-            "\1\u0226",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0227",
+            "",
             "\1\u0228",
-            "\1\u0229",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u022a",
-            "\1\u022b",
-            "\1\u022c",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u022d",
             "\1\u022e",
+            "",
+            "",
+            "",
             "\1\u022f",
             "\1\u0230",
             "\1\u0231",
             "\1\u0232",
-            "\1\u0233",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0235",
+            "",
             "\1\u0236",
-            "\1\u0237",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
             "\1\u0238",
-            "\1\u0239",
+            "",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u023a",
             "\1\u023b",
-            "",
             "\1\u023c",
             "\1\u023d",
             "\1\u023e",
+            "",
+            "",
             "\1\u023f",
             "\1\u0240",
+            "",
             "\1\u0241",
+            "",
             "\1\u0242",
             "\1\u0243",
             "\1\u0244",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0245",
             "\1\u0246",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0247",
             "\1\u0248",
             "\1\u0249",
             "\1\u024a",
             "\1\u024b",
-            "",
             "\1\u024c",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u024d",
             "\1\u024e",
             "\1\u024f",
             "\1\u0250",
-            "\1\u0251",
-            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\u0252",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0253",
             "\1\u0254",
             "\1\u0255",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
-            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\u0256",
+            "\1\u0257",
+            "\1\u0258",
+            "",
+            "\1\u0259",
+            "\1\u025a",
+            "\1\u025b",
+            "\1\u025c",
+            "\1\u025d",
+            "\1\u025e",
+            "\1\u025f",
+            "\1\u0260",
+            "\1\u0261",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0263",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0265",
+            "\1\u0266",
+            "\1\u0267",
+            "\1\u0268",
+            "",
+            "\1\u0269",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u026b",
+            "\1\u026c",
+            "\1\u026d",
+            "\1\u026e",
+            "",
+            "\1\u026f",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\u0271",
+            "\1\u0272",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
             "",
             ""
@@ -3009,13 +3248,23 @@ public class InternalMyDslTestLexer extends Lexer {
             this.transition = DFA12_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
         }
         public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
             IntStream input = _input;
         	int _s = s;
             switch ( s ) {
                     case 0 : 
+                        int LA12_31 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA12_31>='\u0000' && LA12_31<='\uFFFF')) ) {s = 72;}
+
+                        else s = 35;
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
                         int LA12_0 = input.LA(1);
 
                         s = -1;
@@ -3023,85 +3272,81 @@ public class InternalMyDslTestLexer extends Lexer {
 
                         else if ( (LA12_0=='{') ) {s = 2;}
 
-                        else if ( (LA12_0=='}') ) {s = 3;}
+                        else if ( (LA12_0=='i') ) {s = 3;}
 
-                        else if ( (LA12_0=='I') ) {s = 4;}
+                        else if ( (LA12_0==',') ) {s = 4;}
 
-                        else if ( (LA12_0=='p') ) {s = 5;}
+                        else if ( (LA12_0=='}') ) {s = 5;}
 
-                        else if ( (LA12_0=='(') ) {s = 6;}
+                        else if ( (LA12_0=='d') ) {s = 6;}
 
-                        else if ( (LA12_0==',') ) {s = 7;}
+                        else if ( (LA12_0=='c') ) {s = 7;}
 
-                        else if ( (LA12_0==')') ) {s = 8;}
+                        else if ( (LA12_0==';') ) {s = 8;}
 
-                        else if ( (LA12_0=='s') ) {s = 9;}
+                        else if ( (LA12_0=='.') ) {s = 9;}
 
-                        else if ( (LA12_0=='r') ) {s = 10;}
+                        else if ( (LA12_0=='*') ) {s = 10;}
 
-                        else if ( (LA12_0=='C') ) {s = 11;}
+                        else if ( (LA12_0=='I') ) {s = 11;}
 
-                        else if ( (LA12_0=='i') ) {s = 12;}
+                        else if ( (LA12_0=='p') ) {s = 12;}
 
-                        else if ( (LA12_0=='P') ) {s = 13;}
+                        else if ( (LA12_0=='(') ) {s = 13;}
 
-                        else if ( (LA12_0=='t') ) {s = 14;}
+                        else if ( (LA12_0==')') ) {s = 14;}
 
-                        else if ( (LA12_0=='d') ) {s = 15;}
+                        else if ( (LA12_0=='r') ) {s = 15;}
 
-                        else if ( (LA12_0=='v') ) {s = 16;}
+                        else if ( (LA12_0=='C') ) {s = 16;}
 
-                        else if ( (LA12_0=='B') ) {s = 17;}
+                        else if ( (LA12_0=='P') ) {s = 17;}
 
-                        else if ( (LA12_0=='a') ) {s = 18;}
+                        else if ( (LA12_0=='t') ) {s = 18;}
 
-                        else if ( (LA12_0=='S') ) {s = 19;}
+                        else if ( (LA12_0=='v') ) {s = 19;}
 
-                        else if ( (LA12_0=='A') ) {s = 20;}
+                        else if ( (LA12_0=='B') ) {s = 20;}
 
-                        else if ( (LA12_0=='e') ) {s = 21;}
+                        else if ( (LA12_0=='a') ) {s = 21;}
 
-                        else if ( (LA12_0=='o') ) {s = 22;}
+                        else if ( (LA12_0=='S') ) {s = 22;}
 
-                        else if ( (LA12_0=='D') ) {s = 23;}
+                        else if ( (LA12_0=='A') ) {s = 23;}
 
-                        else if ( (LA12_0=='L') ) {s = 24;}
+                        else if ( (LA12_0=='e') ) {s = 24;}
 
-                        else if ( (LA12_0=='^') ) {s = 25;}
+                        else if ( (LA12_0=='o') ) {s = 25;}
 
-                        else if ( ((LA12_0>='E' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||(LA12_0>='M' && LA12_0<='O')||LA12_0=='Q'||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='b' && LA12_0<='c')||(LA12_0>='f' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='n')||LA12_0=='q'||LA12_0=='u'||(LA12_0>='w' && LA12_0<='z')) ) {s = 26;}
+                        else if ( (LA12_0=='D') ) {s = 26;}
 
-                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 27;}
+                        else if ( (LA12_0=='L') ) {s = 27;}
 
-                        else if ( (LA12_0=='\"') ) {s = 28;}
+                        else if ( (LA12_0=='^') ) {s = 28;}
 
-                        else if ( (LA12_0=='\'') ) {s = 29;}
+                        else if ( ((LA12_0>='E' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||(LA12_0>='M' && LA12_0<='O')||LA12_0=='Q'||(LA12_0>='T' && LA12_0<='Z')||LA12_0=='_'||LA12_0=='b'||(LA12_0>='f' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='n')||LA12_0=='q'||LA12_0=='s'||LA12_0=='u'||(LA12_0>='w' && LA12_0<='z')) ) {s = 29;}
 
-                        else if ( (LA12_0=='/') ) {s = 30;}
+                        else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 30;}
 
-                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 31;}
+                        else if ( (LA12_0=='\"') ) {s = 31;}
 
-                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>='-' && LA12_0<='.')||(LA12_0>=':' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 32;}
+                        else if ( (LA12_0=='\'') ) {s = 32;}
 
-                        if ( s>=0 ) return s;
-                        break;
-                    case 1 : 
-                        int LA12_28 = input.LA(1);
+                        else if ( (LA12_0=='/') ) {s = 33;}
 
-                        s = -1;
-                        if ( ((LA12_28>='\u0000' && LA12_28<='\uFFFF')) ) {s = 65;}
+                        else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 34;}
 
-                        else s = 32;
+                        else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||LA12_0=='+'||LA12_0=='-'||LA12_0==':'||(LA12_0>='<' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 35;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA12_29 = input.LA(1);
+                        int LA12_32 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA12_29>='\u0000' && LA12_29<='\uFFFF')) ) {s = 65;}
+                        if ( ((LA12_32>='\u0000' && LA12_32<='\uFFFF')) ) {s = 72;}
 
-                        else s = 32;
+                        else s = 35;
 
                         if ( s>=0 ) return s;
                         break;
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTestParser.java b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTestParser.java
index 0c2c115c..c2e096ab 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTestParser.java
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTestParser.java
@@ -22,10 +22,13 @@ import java.util.ArrayList;
 @SuppressWarnings("all")
 public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Repository'", "'{'", "'}'", "'Interface'", "'parentInterfaces'", "'('", "','", "')'", "'signatures'", "'RepositoryComponent'", "'relationship'", "'providedRoles'", "'requiredRoles'", "'CollectionDataType'", "'innerType'", "'CompositeDataType'", "'parentTypes'", "'innerDeclarations'", "'PrimitiveDataType'", "'type'", "'ref'", "'InnerDeclaration'", "'dataType'", "'void'", "'ProvidedRole'", "'RequiredRole'", "'BasicComponent'", "'CompositeComponent'", "'assembly'", "'SubSystem'", "'ComposedStructureAssembly'", "'assemblyContexts'", "'assemblyConnectors'", "'providedDelegationConnectors'", "'requiredDelegationConnectors'", "'AssemblyContext'", "'encapsulatedComponent'", "'AssemblyConnector'", "'requiredRole'", "'providedRole'", "'providingAssemblyContext'", "'requiringAssemblyContext'", "'ProvidedDelegationConnector'", "'assemblyContext'", "'innerProvidedRole'", "'outerProvidedRole'", "'RequiredDelegationConnector'", "'innerRequiredRole'", "'outerRequiredRole'", "'INT'", "'STRING'", "'BOOL'", "'DOUBLE'", "'CHAR'", "'BYTE'", "'LONG'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Repository'", "'{'", "'imports'", "','", "'}'", "'datatypes'", "'components'", "';'", "'interfaces'", "'import'", "'.'", "'*'", "'Interface'", "'parentInterfaces'", "'('", "')'", "'RepositoryComponent'", "'relationship'", "'providedRoles'", "'requiredRoles'", "'CollectionDataType'", "'innerType'", "'CompositeDataType'", "'parentTypes'", "'innerDeclarations'", "'PrimitiveDataType'", "'type'", "'ref'", "'InnerDeclaration'", "'dataType'", "'void'", "'ProvidedRole'", "'RequiredRole'", "'BasicComponent'", "'CompositeComponent'", "'assembly'", "'SubSystem'", "'ComposedStructureAssembly'", "'assemblyContexts'", "'assemblyConnectors'", "'providedDelegationConnectors'", "'requiredDelegationConnectors'", "'AssemblyContext'", "'encapsulatedComponent'", "'AssemblyConnector'", "'requiredRole'", "'providedRole'", "'providingAssemblyContext'", "'requiringAssemblyContext'", "'ProvidedDelegationConnector'", "'assemblyContext'", "'innerProvidedRole'", "'outerProvidedRole'", "'RequiredDelegationConnector'", "'innerRequiredRole'", "'outerRequiredRole'", "'INT'", "'STRING'", "'BOOL'", "'DOUBLE'", "'CHAR'", "'BYTE'", "'LONG'"
     };
-    public static final int RULE_ID=5;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int RULE_ID=4;
     public static final int T__66=66;
+    public static final int T__67=67;
     public static final int T__64=64;
     public static final int T__29=29;
     public static final int T__65=65;
@@ -78,16 +81,20 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
     public static final int RULE_ML_COMMENT=7;
     public static final int T__30=30;
     public static final int T__31=31;
-    public static final int RULE_STRING=4;
+    public static final int RULE_STRING=5;
     public static final int T__32=32;
+    public static final int T__71=71;
     public static final int T__33=33;
+    public static final int T__72=72;
     public static final int T__34=34;
     public static final int T__35=35;
+    public static final int T__70=70;
     public static final int T__36=36;
     public static final int T__37=37;
     public static final int T__38=38;
     public static final int T__39=39;
     public static final int RULE_WS=9;
+    public static final int T__73=73;
 
     // delegates
     // delegators
@@ -164,220 +171,923 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleRepository"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:77:1: ruleRepository returns [EObject current=null] : (otherlv_0= 'Repository' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' ( ( (lv_datatypes_3_0= ruleDataType ) ) | ( (lv_interfaces_4_0= ruleInterface ) ) | ( (lv_components_5_0= ruleRepositoryComponent ) ) )* otherlv_6= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:77:1: ruleRepository returns [EObject current=null] : (otherlv_0= 'Repository' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'imports' otherlv_4= '{' ( (lv_imports_5_0= ruleImport ) ) (otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) ) )* otherlv_8= '}' )? (otherlv_9= 'datatypes' otherlv_10= '{' ( (lv_datatypes_11_0= ruleDataType ) ) (otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) ) )* otherlv_14= '}' )? (otherlv_15= 'components' otherlv_16= '{' ( (lv_components_17_0= ruleRepositoryComponent ) ) (otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) ) )* otherlv_20= '}' )? (otherlv_21= 'interfaces' otherlv_22= '{' ( (lv_interfaces_23_0= ruleInterface ) ) (otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) ) )* otherlv_26= '}' )? otherlv_27= '}' ) ;
     public final EObject ruleRepository() throws RecognitionException {
         EObject current = null;
 
         Token otherlv_0=null;
         Token otherlv_2=null;
+        Token otherlv_3=null;
+        Token otherlv_4=null;
         Token otherlv_6=null;
+        Token otherlv_8=null;
+        Token otherlv_9=null;
+        Token otherlv_10=null;
+        Token otherlv_12=null;
+        Token otherlv_14=null;
+        Token otherlv_15=null;
+        Token otherlv_16=null;
+        Token otherlv_18=null;
+        Token otherlv_20=null;
+        Token otherlv_21=null;
+        Token otherlv_22=null;
+        Token otherlv_24=null;
+        Token otherlv_26=null;
+        Token otherlv_27=null;
         AntlrDatatypeRuleToken lv_name_1_0 = null;
 
-        EObject lv_datatypes_3_0 = null;
+        EObject lv_imports_5_0 = null;
+
+        EObject lv_imports_7_0 = null;
+
+        EObject lv_datatypes_11_0 = null;
+
+        EObject lv_datatypes_13_0 = null;
+
+        EObject lv_components_17_0 = null;
+
+        EObject lv_components_19_0 = null;
+
+        EObject lv_interfaces_23_0 = null;
+
+        EObject lv_interfaces_25_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:80:28: ( (otherlv_0= 'Repository' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'imports' otherlv_4= '{' ( (lv_imports_5_0= ruleImport ) ) (otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) ) )* otherlv_8= '}' )? (otherlv_9= 'datatypes' otherlv_10= '{' ( (lv_datatypes_11_0= ruleDataType ) ) (otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) ) )* otherlv_14= '}' )? (otherlv_15= 'components' otherlv_16= '{' ( (lv_components_17_0= ruleRepositoryComponent ) ) (otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) ) )* otherlv_20= '}' )? (otherlv_21= 'interfaces' otherlv_22= '{' ( (lv_interfaces_23_0= ruleInterface ) ) (otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) ) )* otherlv_26= '}' )? otherlv_27= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:81:1: (otherlv_0= 'Repository' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'imports' otherlv_4= '{' ( (lv_imports_5_0= ruleImport ) ) (otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) ) )* otherlv_8= '}' )? (otherlv_9= 'datatypes' otherlv_10= '{' ( (lv_datatypes_11_0= ruleDataType ) ) (otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) ) )* otherlv_14= '}' )? (otherlv_15= 'components' otherlv_16= '{' ( (lv_components_17_0= ruleRepositoryComponent ) ) (otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) ) )* otherlv_20= '}' )? (otherlv_21= 'interfaces' otherlv_22= '{' ( (lv_interfaces_23_0= ruleInterface ) ) (otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) ) )* otherlv_26= '}' )? otherlv_27= '}' )
+            {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:81:1: (otherlv_0= 'Repository' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'imports' otherlv_4= '{' ( (lv_imports_5_0= ruleImport ) ) (otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) ) )* otherlv_8= '}' )? (otherlv_9= 'datatypes' otherlv_10= '{' ( (lv_datatypes_11_0= ruleDataType ) ) (otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) ) )* otherlv_14= '}' )? (otherlv_15= 'components' otherlv_16= '{' ( (lv_components_17_0= ruleRepositoryComponent ) ) (otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) ) )* otherlv_20= '}' )? (otherlv_21= 'interfaces' otherlv_22= '{' ( (lv_interfaces_23_0= ruleInterface ) ) (otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) ) )* otherlv_26= '}' )? otherlv_27= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:81:3: otherlv_0= 'Repository' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '{' (otherlv_3= 'imports' otherlv_4= '{' ( (lv_imports_5_0= ruleImport ) ) (otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) ) )* otherlv_8= '}' )? (otherlv_9= 'datatypes' otherlv_10= '{' ( (lv_datatypes_11_0= ruleDataType ) ) (otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) ) )* otherlv_14= '}' )? (otherlv_15= 'components' otherlv_16= '{' ( (lv_components_17_0= ruleRepositoryComponent ) ) (otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) ) )* otherlv_20= '}' )? (otherlv_21= 'interfaces' otherlv_22= '{' ( (lv_interfaces_23_0= ruleInterface ) ) (otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) ) )* otherlv_26= '}' )? otherlv_27= '}'
+            {
+            otherlv_0=(Token)match(input,11,FollowSets000.FOLLOW_11_in_ruleRepository122); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getRepositoryAccess().getRepositoryKeyword_0());
+                
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:85:1: ( (lv_name_1_0= ruleQualifiedName ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:86:1: (lv_name_1_0= ruleQualifiedName )
+            {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:86:1: (lv_name_1_0= ruleQualifiedName )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:87:3: lv_name_1_0= ruleQualifiedName
+            {
+             
+            	        newCompositeNode(grammarAccess.getRepositoryAccess().getNameQualifiedNameParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_ruleRepository143);
+            lv_name_1_0=ruleQualifiedName();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"name",
+                    		lv_name_1_0, 
+                    		"QualifiedName");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository155); 
+
+                	newLeafNode(otherlv_2, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2());
+                
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:107:1: (otherlv_3= 'imports' otherlv_4= '{' ( (lv_imports_5_0= ruleImport ) ) (otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) ) )* otherlv_8= '}' )?
+            int alt2=2;
+            int LA2_0 = input.LA(1);
+
+            if ( (LA2_0==13) ) {
+                alt2=1;
+            }
+            switch (alt2) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:107:3: otherlv_3= 'imports' otherlv_4= '{' ( (lv_imports_5_0= ruleImport ) ) (otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) ) )* otherlv_8= '}'
+                    {
+                    otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepository168); 
+
+                        	newLeafNode(otherlv_3, grammarAccess.getRepositoryAccess().getImportsKeyword_3_0());
+                        
+                    otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository180); 
+
+                        	newLeafNode(otherlv_4, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_3_1());
+                        
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:115:1: ( (lv_imports_5_0= ruleImport ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:116:1: (lv_imports_5_0= ruleImport )
+                    {
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:116:1: (lv_imports_5_0= ruleImport )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:117:3: lv_imports_5_0= ruleImport
+                    {
+                     
+                    	        newCompositeNode(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleImport_in_ruleRepository201);
+                    lv_imports_5_0=ruleImport();
+
+                    state._fsp--;
+
+
+                    	        if (current==null) {
+                    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+                    	        }
+                           		add(
+                           			current, 
+                           			"imports",
+                            		lv_imports_5_0, 
+                            		"Import");
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:133:2: (otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) ) )*
+                    loop1:
+                    do {
+                        int alt1=2;
+                        int LA1_0 = input.LA(1);
+
+                        if ( (LA1_0==14) ) {
+                            alt1=1;
+                        }
+
+
+                        switch (alt1) {
+                    	case 1 :
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:133:4: otherlv_6= ',' ( (lv_imports_7_0= ruleImport ) )
+                    	    {
+                    	    otherlv_6=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRepository214); 
+
+                    	        	newLeafNode(otherlv_6, grammarAccess.getRepositoryAccess().getCommaKeyword_3_3_0());
+                    	        
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:137:1: ( (lv_imports_7_0= ruleImport ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:138:1: (lv_imports_7_0= ruleImport )
+                    	    {
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:138:1: (lv_imports_7_0= ruleImport )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:139:3: lv_imports_7_0= ruleImport
+                    	    {
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getImportsImportParserRuleCall_3_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleImport_in_ruleRepository235);
+                    	    lv_imports_7_0=ruleImport();
+
+                    	    state._fsp--;
+
+
+                    	    	        if (current==null) {
+                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+                    	    	        }
+                    	           		add(
+                    	           			current, 
+                    	           			"imports",
+                    	            		lv_imports_7_0, 
+                    	            		"Import");
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop1;
+                        }
+                    } while (true);
+
+                    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository249); 
+
+                        	newLeafNode(otherlv_8, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_3_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:159:3: (otherlv_9= 'datatypes' otherlv_10= '{' ( (lv_datatypes_11_0= ruleDataType ) ) (otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) ) )* otherlv_14= '}' )?
+            int alt4=2;
+            int LA4_0 = input.LA(1);
+
+            if ( (LA4_0==16) ) {
+                alt4=1;
+            }
+            switch (alt4) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:159:5: otherlv_9= 'datatypes' otherlv_10= '{' ( (lv_datatypes_11_0= ruleDataType ) ) (otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) ) )* otherlv_14= '}'
+                    {
+                    otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository264); 
+
+                        	newLeafNode(otherlv_9, grammarAccess.getRepositoryAccess().getDatatypesKeyword_4_0());
+                        
+                    otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository276); 
+
+                        	newLeafNode(otherlv_10, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_4_1());
+                        
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:167:1: ( (lv_datatypes_11_0= ruleDataType ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:168:1: (lv_datatypes_11_0= ruleDataType )
+                    {
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:168:1: (lv_datatypes_11_0= ruleDataType )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:169:3: lv_datatypes_11_0= ruleDataType
+                    {
+                     
+                    	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleDataType_in_ruleRepository297);
+                    lv_datatypes_11_0=ruleDataType();
+
+                    state._fsp--;
+
+
+                    	        if (current==null) {
+                    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+                    	        }
+                           		add(
+                           			current, 
+                           			"datatypes",
+                            		lv_datatypes_11_0, 
+                            		"DataType");
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:185:2: (otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) ) )*
+                    loop3:
+                    do {
+                        int alt3=2;
+                        int LA3_0 = input.LA(1);
+
+                        if ( (LA3_0==14) ) {
+                            alt3=1;
+                        }
+
+
+                        switch (alt3) {
+                    	case 1 :
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:185:4: otherlv_12= ',' ( (lv_datatypes_13_0= ruleDataType ) )
+                    	    {
+                    	    otherlv_12=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRepository310); 
+
+                    	        	newLeafNode(otherlv_12, grammarAccess.getRepositoryAccess().getCommaKeyword_4_3_0());
+                    	        
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:189:1: ( (lv_datatypes_13_0= ruleDataType ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:190:1: (lv_datatypes_13_0= ruleDataType )
+                    	    {
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:190:1: (lv_datatypes_13_0= ruleDataType )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:191:3: lv_datatypes_13_0= ruleDataType
+                    	    {
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_4_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleDataType_in_ruleRepository331);
+                    	    lv_datatypes_13_0=ruleDataType();
+
+                    	    state._fsp--;
+
+
+                    	    	        if (current==null) {
+                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+                    	    	        }
+                    	           		add(
+                    	           			current, 
+                    	           			"datatypes",
+                    	            		lv_datatypes_13_0, 
+                    	            		"DataType");
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop3;
+                        }
+                    } while (true);
+
+                    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository345); 
+
+                        	newLeafNode(otherlv_14, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:211:3: (otherlv_15= 'components' otherlv_16= '{' ( (lv_components_17_0= ruleRepositoryComponent ) ) (otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) ) )* otherlv_20= '}' )?
+            int alt6=2;
+            int LA6_0 = input.LA(1);
+
+            if ( (LA6_0==17) ) {
+                alt6=1;
+            }
+            switch (alt6) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:211:5: otherlv_15= 'components' otherlv_16= '{' ( (lv_components_17_0= ruleRepositoryComponent ) ) (otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) ) )* otherlv_20= '}'
+                    {
+                    otherlv_15=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleRepository360); 
+
+                        	newLeafNode(otherlv_15, grammarAccess.getRepositoryAccess().getComponentsKeyword_5_0());
+                        
+                    otherlv_16=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository372); 
+
+                        	newLeafNode(otherlv_16, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1());
+                        
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:219:1: ( (lv_components_17_0= ruleRepositoryComponent ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:220:1: (lv_components_17_0= ruleRepositoryComponent )
+                    {
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:220:1: (lv_components_17_0= ruleRepositoryComponent )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:221:3: lv_components_17_0= ruleRepositoryComponent
+                    {
+                     
+                    	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_ruleRepository393);
+                    lv_components_17_0=ruleRepositoryComponent();
+
+                    state._fsp--;
+
+
+                    	        if (current==null) {
+                    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+                    	        }
+                           		add(
+                           			current, 
+                           			"components",
+                            		lv_components_17_0, 
+                            		"RepositoryComponent");
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:237:2: (otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) ) )*
+                    loop5:
+                    do {
+                        int alt5=2;
+                        int LA5_0 = input.LA(1);
+
+                        if ( (LA5_0==18) ) {
+                            alt5=1;
+                        }
+
+
+                        switch (alt5) {
+                    	case 1 :
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:237:4: otherlv_18= ';' ( (lv_components_19_0= ruleRepositoryComponent ) )
+                    	    {
+                    	    otherlv_18=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleRepository406); 
+
+                    	        	newLeafNode(otherlv_18, grammarAccess.getRepositoryAccess().getSemicolonKeyword_5_3_0());
+                    	        
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:241:1: ( (lv_components_19_0= ruleRepositoryComponent ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:242:1: (lv_components_19_0= ruleRepositoryComponent )
+                    	    {
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:242:1: (lv_components_19_0= ruleRepositoryComponent )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:243:3: lv_components_19_0= ruleRepositoryComponent
+                    	    {
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_5_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_ruleRepository427);
+                    	    lv_components_19_0=ruleRepositoryComponent();
+
+                    	    state._fsp--;
+
+
+                    	    	        if (current==null) {
+                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+                    	    	        }
+                    	           		add(
+                    	           			current, 
+                    	           			"components",
+                    	            		lv_components_19_0, 
+                    	            		"RepositoryComponent");
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop5;
+                        }
+                    } while (true);
+
+                    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository441); 
+
+                        	newLeafNode(otherlv_20, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:263:3: (otherlv_21= 'interfaces' otherlv_22= '{' ( (lv_interfaces_23_0= ruleInterface ) ) (otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) ) )* otherlv_26= '}' )?
+            int alt8=2;
+            int LA8_0 = input.LA(1);
+
+            if ( (LA8_0==19) ) {
+                alt8=1;
+            }
+            switch (alt8) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:263:5: otherlv_21= 'interfaces' otherlv_22= '{' ( (lv_interfaces_23_0= ruleInterface ) ) (otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) ) )* otherlv_26= '}'
+                    {
+                    otherlv_21=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleRepository456); 
+
+                        	newLeafNode(otherlv_21, grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0());
+                        
+                    otherlv_22=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository468); 
+
+                        	newLeafNode(otherlv_22, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1());
+                        
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:271:1: ( (lv_interfaces_23_0= ruleInterface ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:272:1: (lv_interfaces_23_0= ruleInterface )
+                    {
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:272:1: (lv_interfaces_23_0= ruleInterface )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:273:3: lv_interfaces_23_0= ruleInterface
+                    {
+                     
+                    	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); 
+                    	    
+                    pushFollow(FollowSets000.FOLLOW_ruleInterface_in_ruleRepository489);
+                    lv_interfaces_23_0=ruleInterface();
+
+                    state._fsp--;
+
+
+                    	        if (current==null) {
+                    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+                    	        }
+                           		add(
+                           			current, 
+                           			"interfaces",
+                            		lv_interfaces_23_0, 
+                            		"Interface");
+                    	        afterParserOrEnumRuleCall();
+                    	    
+
+                    }
+
+
+                    }
+
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:289:2: (otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) ) )*
+                    loop7:
+                    do {
+                        int alt7=2;
+                        int LA7_0 = input.LA(1);
+
+                        if ( (LA7_0==14) ) {
+                            alt7=1;
+                        }
+
+
+                        switch (alt7) {
+                    	case 1 :
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:289:4: otherlv_24= ',' ( (lv_interfaces_25_0= ruleInterface ) )
+                    	    {
+                    	    otherlv_24=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRepository502); 
+
+                    	        	newLeafNode(otherlv_24, grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0());
+                    	        
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:293:1: ( (lv_interfaces_25_0= ruleInterface ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:294:1: (lv_interfaces_25_0= ruleInterface )
+                    	    {
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:294:1: (lv_interfaces_25_0= ruleInterface )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:295:3: lv_interfaces_25_0= ruleInterface
+                    	    {
+                    	     
+                    	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); 
+                    	    	    
+                    	    pushFollow(FollowSets000.FOLLOW_ruleInterface_in_ruleRepository523);
+                    	    lv_interfaces_25_0=ruleInterface();
+
+                    	    state._fsp--;
+
+
+                    	    	        if (current==null) {
+                    	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
+                    	    	        }
+                    	           		add(
+                    	           			current, 
+                    	           			"interfaces",
+                    	            		lv_interfaces_25_0, 
+                    	            		"Interface");
+                    	    	        afterParserOrEnumRuleCall();
+                    	    	    
+
+                    	    }
+
+
+                    	    }
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop7;
+                        }
+                    } while (true);
+
+                    otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository537); 
+
+                        	newLeafNode(otherlv_26, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4());
+                        
+
+                    }
+                    break;
+
+            }
+
+            otherlv_27=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository551); 
+
+                	newLeafNode(otherlv_27, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7());
+                
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleRepository"
+
+
+    // $ANTLR start "entryRuleImport"
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:327:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ;
+    public final EObject entryRuleImport() throws RecognitionException {
+        EObject current = null;
+
+        EObject iv_ruleImport = null;
+
+
+        try {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:328:2: (iv_ruleImport= ruleImport EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:329:2: iv_ruleImport= ruleImport EOF
+            {
+             newCompositeNode(grammarAccess.getImportRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleImport_in_entryRuleImport587);
+            iv_ruleImport=ruleImport();
+
+            state._fsp--;
+
+             current =iv_ruleImport; 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImport597); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleImport"
+
+
+    // $ANTLR start "ruleImport"
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:336:1: ruleImport returns [EObject current=null] : (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard ) ) ) ;
+    public final EObject ruleImport() throws RecognitionException {
+        EObject current = null;
+
+        Token otherlv_0=null;
+        AntlrDatatypeRuleToken lv_importedNamespace_1_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:339:28: ( (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard ) ) ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:340:1: (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard ) ) )
+            {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:340:1: (otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard ) ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:340:3: otherlv_0= 'import' ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard ) )
+            {
+            otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleImport634); 
+
+                	newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+                
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:344:1: ( (lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:345:1: (lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard )
+            {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:345:1: (lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:346:3: lv_importedNamespace_1_0= ruleQualifiedNameWithWildCard
+            {
+             
+            	        newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedNameWithWildCard_in_ruleImport655);
+            lv_importedNamespace_1_0=ruleQualifiedNameWithWildCard();
+
+            state._fsp--;
+
+
+            	        if (current==null) {
+            	            current = createModelElementForParent(grammarAccess.getImportRule());
+            	        }
+                   		set(
+                   			current, 
+                   			"importedNamespace",
+                    		lv_importedNamespace_1_0, 
+                    		"QualifiedNameWithWildCard");
+            	        afterParserOrEnumRuleCall();
+            	    
+
+            }
+
+
+            }
+
+
+            }
+
+
+            }
+
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleImport"
+
 
-        EObject lv_interfaces_4_0 = null;
+    // $ANTLR start "entryRuleQualifiedNameWithWildCard"
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:370:1: entryRuleQualifiedNameWithWildCard returns [String current=null] : iv_ruleQualifiedNameWithWildCard= ruleQualifiedNameWithWildCard EOF ;
+    public final String entryRuleQualifiedNameWithWildCard() throws RecognitionException {
+        String current = null;
 
-        EObject lv_components_5_0 = null;
+        AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildCard = null;
 
 
-         enterRule(); 
-            
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:80:28: ( (otherlv_0= 'Repository' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' ( ( (lv_datatypes_3_0= ruleDataType ) ) | ( (lv_interfaces_4_0= ruleInterface ) ) | ( (lv_components_5_0= ruleRepositoryComponent ) ) )* otherlv_6= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:81:1: (otherlv_0= 'Repository' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' ( ( (lv_datatypes_3_0= ruleDataType ) ) | ( (lv_interfaces_4_0= ruleInterface ) ) | ( (lv_components_5_0= ruleRepositoryComponent ) ) )* otherlv_6= '}' )
-            {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:81:1: (otherlv_0= 'Repository' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' ( ( (lv_datatypes_3_0= ruleDataType ) ) | ( (lv_interfaces_4_0= ruleInterface ) ) | ( (lv_components_5_0= ruleRepositoryComponent ) ) )* otherlv_6= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:81:3: otherlv_0= 'Repository' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' ( ( (lv_datatypes_3_0= ruleDataType ) ) | ( (lv_interfaces_4_0= ruleInterface ) ) | ( (lv_components_5_0= ruleRepositoryComponent ) ) )* otherlv_6= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:371:2: (iv_ruleQualifiedNameWithWildCard= ruleQualifiedNameWithWildCard EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:372:2: iv_ruleQualifiedNameWithWildCard= ruleQualifiedNameWithWildCard EOF
             {
-            otherlv_0=(Token)match(input,11,FollowSets000.FOLLOW_11_in_ruleRepository122); 
+             newCompositeNode(grammarAccess.getQualifiedNameWithWildCardRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedNameWithWildCard_in_entryRuleQualifiedNameWithWildCard692);
+            iv_ruleQualifiedNameWithWildCard=ruleQualifiedNameWithWildCard();
 
-                	newLeafNode(otherlv_0, grammarAccess.getRepositoryAccess().getRepositoryKeyword_0());
-                
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:85:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:86:1: (lv_name_1_0= ruleEString )
+            state._fsp--;
+
+             current =iv_ruleQualifiedNameWithWildCard.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedNameWithWildCard703); 
+
+            }
+
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleQualifiedNameWithWildCard"
+
+
+    // $ANTLR start "ruleQualifiedNameWithWildCard"
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:379:1: ruleQualifiedNameWithWildCard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) ;
+    public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildCard() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+        Token kw=null;
+        AntlrDatatypeRuleToken this_QualifiedName_0 = null;
+
+
+         enterRule(); 
+            
+        try {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:382:28: ( (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:383:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:86:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:87:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:383:1: (this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )? )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:384:5: this_QualifiedName_0= ruleQualifiedName (kw= '.' kw= '*' )?
             {
              
-            	        newCompositeNode(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_1_0()); 
-            	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepository143);
-            lv_name_1_0=ruleEString();
+                    newCompositeNode(grammarAccess.getQualifiedNameWithWildCardAccess().getQualifiedNameParserRuleCall_0()); 
+                
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_ruleQualifiedNameWithWildCard750);
+            this_QualifiedName_0=ruleQualifiedName();
 
             state._fsp--;
 
 
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"EString");
-            	        afterParserOrEnumRuleCall();
-            	    
+            		current.merge(this_QualifiedName_0);
+                
+             
+                    afterParserOrEnumRuleCall();
+                
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:394:1: (kw= '.' kw= '*' )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
 
+            if ( (LA9_0==21) ) {
+                alt9=1;
             }
+            switch (alt9) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:395:2: kw= '.' kw= '*'
+                    {
+                    kw=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleQualifiedNameWithWildCard769); 
 
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getQualifiedNameWithWildCardAccess().getFullStopKeyword_1_0()); 
+                        
+                    kw=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleQualifiedNameWithWildCard782); 
 
-            }
-
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository155); 
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getQualifiedNameWithWildCardAccess().getAsteriskKeyword_1_1()); 
+                        
 
-                	newLeafNode(otherlv_2, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:107:1: ( ( (lv_datatypes_3_0= ruleDataType ) ) | ( (lv_interfaces_4_0= ruleInterface ) ) | ( (lv_components_5_0= ruleRepositoryComponent ) ) )*
-            loop1:
-            do {
-                int alt1=4;
-                switch ( input.LA(1) ) {
-                case 24:
-                case 26:
-                case 29:
-                    {
-                    alt1=1;
-                    }
-                    break;
-                case 14:
-                    {
-                    alt1=2;
-                    }
-                    break;
-                case 20:
-                case 37:
-                case 38:
-                case 40:
-                    {
-                    alt1=3;
                     }
                     break;
 
-                }
+            }
 
-                switch (alt1) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:107:2: ( (lv_datatypes_3_0= ruleDataType ) )
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:107:2: ( (lv_datatypes_3_0= ruleDataType ) )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:108:1: (lv_datatypes_3_0= ruleDataType )
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:108:1: (lv_datatypes_3_0= ruleDataType )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:109:3: lv_datatypes_3_0= ruleDataType
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_3_0_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleDataType_in_ruleRepository177);
-            	    lv_datatypes_3_0=ruleDataType();
 
-            	    state._fsp--;
+            }
 
 
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"datatypes",
-            	            		lv_datatypes_3_0, 
-            	            		"DataType");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            }
 
-            	    }
+             leaveRule(); 
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "ruleQualifiedNameWithWildCard"
 
 
-            	    }
+    // $ANTLR start "entryRuleQualifiedName"
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:414:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
+    public final String entryRuleQualifiedName() throws RecognitionException {
+        String current = null;
 
+        AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
 
-            	    }
-            	    break;
-            	case 2 :
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:126:6: ( (lv_interfaces_4_0= ruleInterface ) )
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:126:6: ( (lv_interfaces_4_0= ruleInterface ) )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:127:1: (lv_interfaces_4_0= ruleInterface )
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:127:1: (lv_interfaces_4_0= ruleInterface )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:128:3: lv_interfaces_4_0= ruleInterface
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_3_1_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleInterface_in_ruleRepository204);
-            	    lv_interfaces_4_0=ruleInterface();
 
-            	    state._fsp--;
+        try {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:415:2: (iv_ruleQualifiedName= ruleQualifiedName EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:416:2: iv_ruleQualifiedName= ruleQualifiedName EOF
+            {
+             newCompositeNode(grammarAccess.getQualifiedNameRule()); 
+            pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName825);
+            iv_ruleQualifiedName=ruleQualifiedName();
+
+            state._fsp--;
 
+             current =iv_ruleQualifiedName.getText(); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedName836); 
 
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"interfaces",
-            	            		lv_interfaces_4_0, 
-            	            		"Interface");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            }
 
-            	    }
+        }
+         
+            catch (RecognitionException re) { 
+                recover(input,re); 
+                appendSkippedTokens();
+            } 
+        finally {
+        }
+        return current;
+    }
+    // $ANTLR end "entryRuleQualifiedName"
 
 
-            	    }
+    // $ANTLR start "ruleQualifiedName"
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:423:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+    public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
+        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
+        Token this_ID_0=null;
+        Token kw=null;
+        Token this_ID_2=null;
 
-            	    }
-            	    break;
-            	case 3 :
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:145:6: ( (lv_components_5_0= ruleRepositoryComponent ) )
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:145:6: ( (lv_components_5_0= ruleRepositoryComponent ) )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:146:1: (lv_components_5_0= ruleRepositoryComponent )
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:146:1: (lv_components_5_0= ruleRepositoryComponent )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:147:3: lv_components_5_0= ruleRepositoryComponent
-            	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_3_2_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_ruleRepository231);
-            	    lv_components_5_0=ruleRepositoryComponent();
+         enterRule(); 
+            
+        try {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:426:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:427:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:427:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:427:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+            {
+            this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleQualifiedName876); 
 
-            	    state._fsp--;
+            		current.merge(this_ID_0);
+                
+             
+                newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
+                
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:434:1: (kw= '.' this_ID_2= RULE_ID )*
+            loop10:
+            do {
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
+                if ( (LA10_0==21) ) {
+                    int LA10_2 = input.LA(2);
 
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getRepositoryRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"components",
-            	            		lv_components_5_0, 
-            	            		"RepositoryComponent");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+                    if ( (LA10_2==RULE_ID) ) {
+                        alt10=1;
+                    }
 
-            	    }
 
+                }
 
-            	    }
 
+                switch (alt10) {
+            	case 1 :
+            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:435:2: kw= '.' this_ID_2= RULE_ID
+            	    {
+            	    kw=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleQualifiedName895); 
+
+            	            current.merge(kw);
+            	            newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
+            	        
+            	    this_ID_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleQualifiedName910); 
+
+            	    		current.merge(this_ID_2);
+            	        
+            	     
+            	        newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
+            	        
 
             	    }
             	    break;
 
             	default :
-            	    break loop1;
+            	    break loop10;
                 }
             } while (true);
 
-            otherlv_6=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepository245); 
-
-                	newLeafNode(otherlv_6, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_4());
-                
 
             }
 
@@ -395,11 +1105,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
         }
         return current;
     }
-    // $ANTLR end "ruleRepository"
+    // $ANTLR end "ruleQualifiedName"
 
 
     // $ANTLR start "entryRuleDataType"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:175:1: entryRuleDataType returns [EObject current=null] : iv_ruleDataType= ruleDataType EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:455:1: entryRuleDataType returns [EObject current=null] : iv_ruleDataType= ruleDataType EOF ;
     public final EObject entryRuleDataType() throws RecognitionException {
         EObject current = null;
 
@@ -407,17 +1117,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:176:2: (iv_ruleDataType= ruleDataType EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:177:2: iv_ruleDataType= ruleDataType EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:456:2: (iv_ruleDataType= ruleDataType EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:457:2: iv_ruleDataType= ruleDataType EOF
             {
              newCompositeNode(grammarAccess.getDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleDataType_in_entryRuleDataType281);
+            pushFollow(FollowSets000.FOLLOW_ruleDataType_in_entryRuleDataType957);
             iv_ruleDataType=ruleDataType();
 
             state._fsp--;
 
              current =iv_ruleDataType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataType291); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataType967); 
 
             }
 
@@ -435,7 +1145,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleDataType"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:184:1: ruleDataType returns [EObject current=null] : (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:464:1: ruleDataType returns [EObject current=null] : (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) ;
     public final EObject ruleDataType() throws RecognitionException {
         EObject current = null;
 
@@ -449,42 +1159,42 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:187:28: ( (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:188:1: (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:467:28: ( (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:468:1: (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:188:1: (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType )
-            int alt2=3;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:468:1: (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType )
+            int alt11=3;
             switch ( input.LA(1) ) {
-            case 24:
+            case 31:
                 {
-                alt2=1;
+                alt11=1;
                 }
                 break;
-            case 26:
+            case 33:
                 {
-                alt2=2;
+                alt11=2;
                 }
                 break;
-            case 29:
+            case 36:
                 {
-                alt2=3;
+                alt11=3;
                 }
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("", 2, 0, input);
+                    new NoViableAltException("", 11, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt2) {
+            switch (alt11) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:189:5: this_CollectionDataType_0= ruleCollectionDataType
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:469:5: this_CollectionDataType_0= ruleCollectionDataType
                     {
                      
                             newCompositeNode(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_ruleDataType338);
+                    pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_ruleDataType1014);
                     this_CollectionDataType_0=ruleCollectionDataType();
 
                     state._fsp--;
@@ -497,12 +1207,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:199:5: this_CompositeDataType_1= ruleCompositeDataType
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:479:5: this_CompositeDataType_1= ruleCompositeDataType
                     {
                      
                             newCompositeNode(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_ruleDataType365);
+                    pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_ruleDataType1041);
                     this_CompositeDataType_1=ruleCompositeDataType();
 
                     state._fsp--;
@@ -515,12 +1225,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 3 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:209:5: this_PrimitiveDataType_2= rulePrimitiveDataType
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:489:5: this_PrimitiveDataType_2= rulePrimitiveDataType
                     {
                      
                             newCompositeNode(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_ruleDataType392);
+                    pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_ruleDataType1068);
                     this_PrimitiveDataType_2=rulePrimitiveDataType();
 
                     state._fsp--;
@@ -553,7 +1263,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleRepositoryComponent"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:225:1: entryRuleRepositoryComponent returns [EObject current=null] : iv_ruleRepositoryComponent= ruleRepositoryComponent EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:505:1: entryRuleRepositoryComponent returns [EObject current=null] : iv_ruleRepositoryComponent= ruleRepositoryComponent EOF ;
     public final EObject entryRuleRepositoryComponent() throws RecognitionException {
         EObject current = null;
 
@@ -561,17 +1271,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:226:2: (iv_ruleRepositoryComponent= ruleRepositoryComponent EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:227:2: iv_ruleRepositoryComponent= ruleRepositoryComponent EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:506:2: (iv_ruleRepositoryComponent= ruleRepositoryComponent EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:507:2: iv_ruleRepositoryComponent= ruleRepositoryComponent EOF
             {
              newCompositeNode(grammarAccess.getRepositoryComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent427);
+            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent1103);
             iv_ruleRepositoryComponent=ruleRepositoryComponent();
 
             state._fsp--;
 
              current =iv_ruleRepositoryComponent; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent437); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent1113); 
 
             }
 
@@ -589,7 +1299,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleRepositoryComponent"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:234:1: ruleRepositoryComponent returns [EObject current=null] : (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:514:1: ruleRepositoryComponent returns [EObject current=null] : (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) ;
     public final EObject ruleRepositoryComponent() throws RecognitionException {
         EObject current = null;
 
@@ -605,47 +1315,47 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:237:28: ( (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:238:1: (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:517:28: ( (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:518:1: (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:238:1: (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem )
-            int alt3=4;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:518:1: (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem )
+            int alt12=4;
             switch ( input.LA(1) ) {
-            case 20:
+            case 27:
                 {
-                alt3=1;
+                alt12=1;
                 }
                 break;
-            case 37:
+            case 44:
                 {
-                alt3=2;
+                alt12=2;
                 }
                 break;
-            case 38:
+            case 45:
                 {
-                alt3=3;
+                alt12=3;
                 }
                 break;
-            case 40:
+            case 47:
                 {
-                alt3=4;
+                alt12=4;
                 }
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
+                    new NoViableAltException("", 12, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt3) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:239:5: this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:519:5: this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl
                     {
                      
                             newCompositeNode(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_ruleRepositoryComponent484);
+                    pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_ruleRepositoryComponent1160);
                     this_RepositoryComponent_Impl_0=ruleRepositoryComponent_Impl();
 
                     state._fsp--;
@@ -658,12 +1368,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:249:5: this_BasicComponent_1= ruleBasicComponent
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:529:5: this_BasicComponent_1= ruleBasicComponent
                     {
                      
                             newCompositeNode(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_ruleRepositoryComponent511);
+                    pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_ruleRepositoryComponent1187);
                     this_BasicComponent_1=ruleBasicComponent();
 
                     state._fsp--;
@@ -676,12 +1386,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 3 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:259:5: this_CompositeComponent_2= ruleCompositeComponent
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:539:5: this_CompositeComponent_2= ruleCompositeComponent
                     {
                      
                             newCompositeNode(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_ruleRepositoryComponent538);
+                    pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_ruleRepositoryComponent1214);
                     this_CompositeComponent_2=ruleCompositeComponent();
 
                     state._fsp--;
@@ -694,12 +1404,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 4 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:269:5: this_SubSystem_3= ruleSubSystem
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:549:5: this_SubSystem_3= ruleSubSystem
                     {
                      
                             newCompositeNode(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); 
                         
-                    pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_ruleRepositoryComponent565);
+                    pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_ruleRepositoryComponent1241);
                     this_SubSystem_3=ruleSubSystem();
 
                     state._fsp--;
@@ -732,7 +1442,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleEString"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:285:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:565:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
     public final String entryRuleEString() throws RecognitionException {
         String current = null;
 
@@ -740,17 +1450,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:286:2: (iv_ruleEString= ruleEString EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:287:2: iv_ruleEString= ruleEString EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:566:2: (iv_ruleEString= ruleEString EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:567:2: iv_ruleEString= ruleEString EOF
             {
              newCompositeNode(grammarAccess.getEStringRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString601);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString1277);
             iv_ruleEString=ruleEString();
 
             state._fsp--;
 
              current =iv_ruleEString.getText(); 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString612); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString1288); 
 
             }
 
@@ -768,7 +1478,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleEString"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:294:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:574:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
     public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -778,30 +1488,30 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:297:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:298:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:577:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:578:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:298:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
-            int alt4=2;
-            int LA4_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:578:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
 
-            if ( (LA4_0==RULE_STRING) ) {
-                alt4=1;
+            if ( (LA13_0==RULE_STRING) ) {
+                alt13=1;
             }
-            else if ( (LA4_0==RULE_ID) ) {
-                alt4=2;
+            else if ( (LA13_0==RULE_ID) ) {
+                alt13=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 4, 0, input);
+                    new NoViableAltException("", 13, 0, input);
 
                 throw nvae;
             }
-            switch (alt4) {
+            switch (alt13) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:298:6: this_STRING_0= RULE_STRING
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:578:6: this_STRING_0= RULE_STRING
                     {
-                    this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString652); 
+                    this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString1328); 
 
                     		current.merge(this_STRING_0);
                         
@@ -812,9 +1522,9 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:306:10: this_ID_1= RULE_ID
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:586:10: this_ID_1= RULE_ID
                     {
-                    this_ID_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString678); 
+                    this_ID_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString1354); 
 
                     		current.merge(this_ID_1);
                         
@@ -845,7 +1555,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleInterface"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:321:1: entryRuleInterface returns [EObject current=null] : iv_ruleInterface= ruleInterface EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:601:1: entryRuleInterface returns [EObject current=null] : iv_ruleInterface= ruleInterface EOF ;
     public final EObject entryRuleInterface() throws RecognitionException {
         EObject current = null;
 
@@ -853,17 +1563,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:322:2: (iv_ruleInterface= ruleInterface EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:323:2: iv_ruleInterface= ruleInterface EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:602:2: (iv_ruleInterface= ruleInterface EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:603:2: iv_ruleInterface= ruleInterface EOF
             {
              newCompositeNode(grammarAccess.getInterfaceRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInterface_in_entryRuleInterface723);
+            pushFollow(FollowSets000.FOLLOW_ruleInterface_in_entryRuleInterface1399);
             iv_ruleInterface=ruleInterface();
 
             state._fsp--;
 
              current =iv_ruleInterface; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInterface733); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInterface1409); 
 
             }
 
@@ -881,7 +1591,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleInterface"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:330:1: ruleInterface returns [EObject current=null] : (otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'signatures' otherlv_10= '{' ( (lv_signatures_11_0= ruleSignature ) ) (otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) ) )* otherlv_14= '}' )? otherlv_15= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:610:1: ruleInterface returns [EObject current=null] : (otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? ( ( (lv_signatures_9_0= ruleSignature ) ) (otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) ) )* )? otherlv_12= '}' ) ;
     public final EObject ruleInterface() throws RecognitionException {
         EObject current = null;
 
@@ -891,41 +1601,38 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
         Token otherlv_4=null;
         Token otherlv_6=null;
         Token otherlv_8=null;
-        Token otherlv_9=null;
         Token otherlv_10=null;
         Token otherlv_12=null;
-        Token otherlv_14=null;
-        Token otherlv_15=null;
         AntlrDatatypeRuleToken lv_name_1_0 = null;
 
-        EObject lv_signatures_11_0 = null;
+        EObject lv_signatures_9_0 = null;
 
-        EObject lv_signatures_13_0 = null;
+        EObject lv_signatures_11_0 = null;
 
 
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:333:28: ( (otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'signatures' otherlv_10= '{' ( (lv_signatures_11_0= ruleSignature ) ) (otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) ) )* otherlv_14= '}' )? otherlv_15= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:334:1: (otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'signatures' otherlv_10= '{' ( (lv_signatures_11_0= ruleSignature ) ) (otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) ) )* otherlv_14= '}' )? otherlv_15= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:613:28: ( (otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? ( ( (lv_signatures_9_0= ruleSignature ) ) (otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) ) )* )? otherlv_12= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:614:1: (otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? ( ( (lv_signatures_9_0= ruleSignature ) ) (otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) ) )* )? otherlv_12= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:334:1: (otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'signatures' otherlv_10= '{' ( (lv_signatures_11_0= ruleSignature ) ) (otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) ) )* otherlv_14= '}' )? otherlv_15= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:334:3: otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'signatures' otherlv_10= '{' ( (lv_signatures_11_0= ruleSignature ) ) (otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) ) )* otherlv_14= '}' )? otherlv_15= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:614:1: (otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? ( ( (lv_signatures_9_0= ruleSignature ) ) (otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) ) )* )? otherlv_12= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:614:3: otherlv_0= 'Interface' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? ( ( (lv_signatures_9_0= ruleSignature ) ) (otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) ) )* )? otherlv_12= '}'
             {
-            otherlv_0=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleInterface770); 
+            otherlv_0=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleInterface1446); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getInterfaceAccess().getInterfaceKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:338:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:339:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:618:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:619:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:339:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:340:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:619:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:620:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface791);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1467);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -947,34 +1654,34 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInterface803); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInterface1479); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:360:1: (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )?
-            int alt6=2;
-            int LA6_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:640:1: (otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )?
+            int alt15=2;
+            int LA15_0 = input.LA(1);
 
-            if ( (LA6_0==15) ) {
-                alt6=1;
+            if ( (LA15_0==24) ) {
+                alt15=1;
             }
-            switch (alt6) {
+            switch (alt15) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:360:3: otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:640:3: otherlv_3= 'parentInterfaces' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')'
                     {
-                    otherlv_3=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInterface816); 
+                    otherlv_3=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleInterface1492); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_3_0());
                         
-                    otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInterface828); 
+                    otherlv_4=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleInterface1504); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_3_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:368:1: ( ( ruleEString ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:369:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:648:1: ( ( ruleEString ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:649:1: ( ruleEString )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:369:1: ( ruleEString )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:370:3: ruleEString
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:649:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:650:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -984,7 +1691,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                      
                     	        newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_3_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface851);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1527);
                     ruleEString();
 
                     state._fsp--;
@@ -998,30 +1705,30 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:383:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
-                    loop5:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:663:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
+                    loop14:
                     do {
-                        int alt5=2;
-                        int LA5_0 = input.LA(1);
+                        int alt14=2;
+                        int LA14_0 = input.LA(1);
 
-                        if ( (LA5_0==17) ) {
-                            alt5=1;
+                        if ( (LA14_0==14) ) {
+                            alt14=1;
                         }
 
 
-                        switch (alt5) {
+                        switch (alt14) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:383:4: otherlv_6= ',' ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:663:4: otherlv_6= ',' ( ( ruleEString ) )
                     	    {
-                    	    otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleInterface864); 
+                    	    otherlv_6=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleInterface1540); 
 
                     	        	newLeafNode(otherlv_6, grammarAccess.getInterfaceAccess().getCommaKeyword_3_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:387:1: ( ( ruleEString ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:388:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:667:1: ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:668:1: ( ruleEString )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:388:1: ( ruleEString )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:389:3: ruleEString
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:668:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:669:3: ruleEString
                     	    {
 
                     	    			if (current==null) {
@@ -1031,7 +1738,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	     
                     	    	        newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_3_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface887);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1563);
                     	    ruleEString();
 
                     	    state._fsp--;
@@ -1050,11 +1757,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop5;
+                    	    break loop14;
                         }
                     } while (true);
 
-                    otherlv_8=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleInterface901); 
+                    otherlv_8=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleInterface1577); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_3_4());
                         
@@ -1064,36 +1771,28 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:406:3: (otherlv_9= 'signatures' otherlv_10= '{' ( (lv_signatures_11_0= ruleSignature ) ) (otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) ) )* otherlv_14= '}' )?
-            int alt8=2;
-            int LA8_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:686:3: ( ( (lv_signatures_9_0= ruleSignature ) ) (otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) ) )* )?
+            int alt17=2;
+            int LA17_0 = input.LA(1);
 
-            if ( (LA8_0==19) ) {
-                alt8=1;
+            if ( ((LA17_0>=RULE_ID && LA17_0<=RULE_STRING)||LA17_0==41) ) {
+                alt17=1;
             }
-            switch (alt8) {
+            switch (alt17) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:406:5: otherlv_9= 'signatures' otherlv_10= '{' ( (lv_signatures_11_0= ruleSignature ) ) (otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) ) )* otherlv_14= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:686:4: ( (lv_signatures_9_0= ruleSignature ) ) (otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) ) )*
                     {
-                    otherlv_9=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleInterface916); 
-
-                        	newLeafNode(otherlv_9, grammarAccess.getInterfaceAccess().getSignaturesKeyword_4_0());
-                        
-                    otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInterface928); 
-
-                        	newLeafNode(otherlv_10, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_4_1());
-                        
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:414:1: ( (lv_signatures_11_0= ruleSignature ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:415:1: (lv_signatures_11_0= ruleSignature )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:686:4: ( (lv_signatures_9_0= ruleSignature ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:687:1: (lv_signatures_9_0= ruleSignature )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:415:1: (lv_signatures_11_0= ruleSignature )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:416:3: lv_signatures_11_0= ruleSignature
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:687:1: (lv_signatures_9_0= ruleSignature )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:688:3: lv_signatures_9_0= ruleSignature
                     {
                      
-                    	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_2_0()); 
+                    	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_0_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleSignature_in_ruleInterface949);
-                    lv_signatures_11_0=ruleSignature();
+                    pushFollow(FollowSets000.FOLLOW_ruleSignature_in_ruleInterface1601);
+                    lv_signatures_9_0=ruleSignature();
 
                     state._fsp--;
 
@@ -1104,7 +1803,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                            		add(
                            			current, 
                            			"signatures",
-                            		lv_signatures_11_0, 
+                            		lv_signatures_9_0, 
                             		"Signature");
                     	        afterParserOrEnumRuleCall();
                     	    
@@ -1114,36 +1813,36 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:432:2: (otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) ) )*
-                    loop7:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:704:2: (otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) ) )*
+                    loop16:
                     do {
-                        int alt7=2;
-                        int LA7_0 = input.LA(1);
+                        int alt16=2;
+                        int LA16_0 = input.LA(1);
 
-                        if ( (LA7_0==17) ) {
-                            alt7=1;
+                        if ( (LA16_0==14) ) {
+                            alt16=1;
                         }
 
 
-                        switch (alt7) {
+                        switch (alt16) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:432:4: otherlv_12= ',' ( (lv_signatures_13_0= ruleSignature ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:704:4: otherlv_10= ',' ( (lv_signatures_11_0= ruleSignature ) )
                     	    {
-                    	    otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleInterface962); 
+                    	    otherlv_10=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleInterface1614); 
 
-                    	        	newLeafNode(otherlv_12, grammarAccess.getInterfaceAccess().getCommaKeyword_4_3_0());
+                    	        	newLeafNode(otherlv_10, grammarAccess.getInterfaceAccess().getCommaKeyword_4_1_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:436:1: ( (lv_signatures_13_0= ruleSignature ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:437:1: (lv_signatures_13_0= ruleSignature )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:708:1: ( (lv_signatures_11_0= ruleSignature ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:709:1: (lv_signatures_11_0= ruleSignature )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:437:1: (lv_signatures_13_0= ruleSignature )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:438:3: lv_signatures_13_0= ruleSignature
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:709:1: (lv_signatures_11_0= ruleSignature )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:710:3: lv_signatures_11_0= ruleSignature
                     	    {
                     	     
-                    	    	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_3_1_0()); 
+                    	    	        newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_4_1_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleSignature_in_ruleInterface983);
-                    	    lv_signatures_13_0=ruleSignature();
+                    	    pushFollow(FollowSets000.FOLLOW_ruleSignature_in_ruleInterface1635);
+                    	    lv_signatures_11_0=ruleSignature();
 
                     	    state._fsp--;
 
@@ -1154,7 +1853,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	           		add(
                     	           			current, 
                     	           			"signatures",
-                    	            		lv_signatures_13_0, 
+                    	            		lv_signatures_11_0, 
                     	            		"Signature");
                     	    	        afterParserOrEnumRuleCall();
                     	    	    
@@ -1169,23 +1868,19 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop7;
+                    	    break loop16;
                         }
                     } while (true);
 
-                    otherlv_14=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleInterface997); 
-
-                        	newLeafNode(otherlv_14, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_4_4());
-                        
 
                     }
                     break;
 
             }
 
-            otherlv_15=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleInterface1011); 
+            otherlv_12=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInterface1651); 
 
-                	newLeafNode(otherlv_15, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5());
+                	newLeafNode(otherlv_12, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_5());
                 
 
             }
@@ -1208,7 +1903,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleRepositoryComponent_Impl"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:470:1: entryRuleRepositoryComponent_Impl returns [EObject current=null] : iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:738:1: entryRuleRepositoryComponent_Impl returns [EObject current=null] : iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF ;
     public final EObject entryRuleRepositoryComponent_Impl() throws RecognitionException {
         EObject current = null;
 
@@ -1216,17 +1911,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:471:2: (iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:472:2: iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:739:2: (iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:740:2: iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF
             {
              newCompositeNode(grammarAccess.getRepositoryComponent_ImplRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl1047);
+            pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl1687);
             iv_ruleRepositoryComponent_Impl=ruleRepositoryComponent_Impl();
 
             state._fsp--;
 
              current =iv_ruleRepositoryComponent_Impl; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl1057); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl1697); 
 
             }
 
@@ -1244,7 +1939,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleRepositoryComponent_Impl"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:479:1: ruleRepositoryComponent_Impl returns [EObject current=null] : (otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:747:1: ruleRepositoryComponent_Impl returns [EObject current=null] : (otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}' ) ;
     public final EObject ruleRepositoryComponent_Impl() throws RecognitionException {
         EObject current = null;
 
@@ -1277,26 +1972,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:482:28: ( (otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:483:1: (otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:750:28: ( (otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:751:1: (otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:483:1: (otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:483:3: otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:751:1: (otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:751:3: otherlv_0= 'RepositoryComponent' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )? (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )? otherlv_21= '}'
             {
-            otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleRepositoryComponent_Impl1094); 
+            otherlv_0=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleRepositoryComponent_Impl1734); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:487:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:488:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:755:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:756:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:488:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:489:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:756:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:757:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1115);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1755);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -1318,34 +2013,34 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl1127); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl1767); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:509:1: (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )?
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:777:1: (otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )?
+            int alt19=2;
+            int LA19_0 = input.LA(1);
 
-            if ( (LA10_0==21) ) {
-                alt10=1;
+            if ( (LA19_0==28) ) {
+                alt19=1;
             }
-            switch (alt10) {
+            switch (alt19) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:509:3: otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:777:3: otherlv_3= 'relationship' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')'
                     {
-                    otherlv_3=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleRepositoryComponent_Impl1140); 
+                    otherlv_3=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleRepositoryComponent_Impl1780); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_3_0());
                         
-                    otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl1152); 
+                    otherlv_4=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleRepositoryComponent_Impl1792); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_3_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:517:1: ( ( ruleEString ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:518:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:785:1: ( ( ruleEString ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:786:1: ( ruleEString )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:518:1: ( ruleEString )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:519:3: ruleEString
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:786:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:787:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -1355,7 +2050,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                      
                     	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_3_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1175);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1815);
                     ruleEString();
 
                     state._fsp--;
@@ -1369,30 +2064,30 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:532:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
-                    loop9:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:800:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
+                    loop18:
                     do {
-                        int alt9=2;
-                        int LA9_0 = input.LA(1);
+                        int alt18=2;
+                        int LA18_0 = input.LA(1);
 
-                        if ( (LA9_0==17) ) {
-                            alt9=1;
+                        if ( (LA18_0==14) ) {
+                            alt18=1;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt18) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:532:4: otherlv_6= ',' ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:800:4: otherlv_6= ',' ( ( ruleEString ) )
                     	    {
-                    	    otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleRepositoryComponent_Impl1188); 
+                    	    otherlv_6=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRepositoryComponent_Impl1828); 
 
                     	        	newLeafNode(otherlv_6, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_3_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:536:1: ( ( ruleEString ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:537:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:804:1: ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:805:1: ( ruleEString )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:537:1: ( ruleEString )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:538:3: ruleEString
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:805:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:806:3: ruleEString
                     	    {
 
                     	    			if (current==null) {
@@ -1402,7 +2097,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	     
                     	    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_3_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1211);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1851);
                     	    ruleEString();
 
                     	    state._fsp--;
@@ -1421,11 +2116,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop18;
                         }
                     } while (true);
 
-                    otherlv_8=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleRepositoryComponent_Impl1225); 
+                    otherlv_8=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleRepositoryComponent_Impl1865); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_3_4());
                         
@@ -1435,35 +2130,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:555:3: (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )?
-            int alt12=2;
-            int LA12_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:823:3: (otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}' )?
+            int alt21=2;
+            int LA21_0 = input.LA(1);
 
-            if ( (LA12_0==22) ) {
-                alt12=1;
+            if ( (LA21_0==29) ) {
+                alt21=1;
             }
-            switch (alt12) {
+            switch (alt21) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:555:5: otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:823:5: otherlv_9= 'providedRoles' otherlv_10= '{' ( (lv_providedRoles_11_0= ruleProvidedRole ) ) (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )* otherlv_14= '}'
                     {
-                    otherlv_9=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleRepositoryComponent_Impl1240); 
+                    otherlv_9=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleRepositoryComponent_Impl1880); 
 
                         	newLeafNode(otherlv_9, grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_4_0());
                         
-                    otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl1252); 
+                    otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl1892); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_4_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:563:1: ( (lv_providedRoles_11_0= ruleProvidedRole ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:564:1: (lv_providedRoles_11_0= ruleProvidedRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:831:1: ( (lv_providedRoles_11_0= ruleProvidedRole ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:832:1: (lv_providedRoles_11_0= ruleProvidedRole )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:564:1: (lv_providedRoles_11_0= ruleProvidedRole )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:565:3: lv_providedRoles_11_0= ruleProvidedRole
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:832:1: (lv_providedRoles_11_0= ruleProvidedRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:833:3: lv_providedRoles_11_0= ruleProvidedRole
                     {
                      
                     	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_4_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl1273);
+                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl1913);
                     lv_providedRoles_11_0=ruleProvidedRole();
 
                     state._fsp--;
@@ -1485,35 +2180,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:581:2: (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )*
-                    loop11:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:849:2: (otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) )*
+                    loop20:
                     do {
-                        int alt11=2;
-                        int LA11_0 = input.LA(1);
+                        int alt20=2;
+                        int LA20_0 = input.LA(1);
 
-                        if ( (LA11_0==17) ) {
-                            alt11=1;
+                        if ( (LA20_0==14) ) {
+                            alt20=1;
                         }
 
 
-                        switch (alt11) {
+                        switch (alt20) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:581:4: otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:849:4: otherlv_12= ',' ( (lv_providedRoles_13_0= ruleProvidedRole ) )
                     	    {
-                    	    otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleRepositoryComponent_Impl1286); 
+                    	    otherlv_12=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRepositoryComponent_Impl1926); 
 
                     	        	newLeafNode(otherlv_12, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_4_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:585:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:586:1: (lv_providedRoles_13_0= ruleProvidedRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:853:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:854:1: (lv_providedRoles_13_0= ruleProvidedRole )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:586:1: (lv_providedRoles_13_0= ruleProvidedRole )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:587:3: lv_providedRoles_13_0= ruleProvidedRole
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:854:1: (lv_providedRoles_13_0= ruleProvidedRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:855:3: lv_providedRoles_13_0= ruleProvidedRole
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_4_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl1307);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl1947);
                     	    lv_providedRoles_13_0=ruleProvidedRole();
 
                     	    state._fsp--;
@@ -1540,11 +2235,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop11;
+                    	    break loop20;
                         }
                     } while (true);
 
-                    otherlv_14=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepositoryComponent_Impl1321); 
+                    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl1961); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_4_4());
                         
@@ -1554,35 +2249,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:607:3: (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:875:3: (otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}' )?
+            int alt23=2;
+            int LA23_0 = input.LA(1);
 
-            if ( (LA14_0==23) ) {
-                alt14=1;
+            if ( (LA23_0==30) ) {
+                alt23=1;
             }
-            switch (alt14) {
+            switch (alt23) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:607:5: otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:875:5: otherlv_15= 'requiredRoles' otherlv_16= '{' ( (lv_requiredRoles_17_0= ruleRequiredRole ) ) (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )* otherlv_20= '}'
                     {
-                    otherlv_15=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleRepositoryComponent_Impl1336); 
+                    otherlv_15=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleRepositoryComponent_Impl1976); 
 
                         	newLeafNode(otherlv_15, grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_5_0());
                         
-                    otherlv_16=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl1348); 
+                    otherlv_16=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl1988); 
 
                         	newLeafNode(otherlv_16, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_5_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:615:1: ( (lv_requiredRoles_17_0= ruleRequiredRole ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:616:1: (lv_requiredRoles_17_0= ruleRequiredRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:883:1: ( (lv_requiredRoles_17_0= ruleRequiredRole ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:884:1: (lv_requiredRoles_17_0= ruleRequiredRole )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:616:1: (lv_requiredRoles_17_0= ruleRequiredRole )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:617:3: lv_requiredRoles_17_0= ruleRequiredRole
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:884:1: (lv_requiredRoles_17_0= ruleRequiredRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:885:3: lv_requiredRoles_17_0= ruleRequiredRole
                     {
                      
                     	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_5_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl1369);
+                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2009);
                     lv_requiredRoles_17_0=ruleRequiredRole();
 
                     state._fsp--;
@@ -1604,35 +2299,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:633:2: (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )*
-                    loop13:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:901:2: (otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) ) )*
+                    loop22:
                     do {
-                        int alt13=2;
-                        int LA13_0 = input.LA(1);
+                        int alt22=2;
+                        int LA22_0 = input.LA(1);
 
-                        if ( (LA13_0==17) ) {
-                            alt13=1;
+                        if ( (LA22_0==14) ) {
+                            alt22=1;
                         }
 
 
-                        switch (alt13) {
+                        switch (alt22) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:633:4: otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:901:4: otherlv_18= ',' ( (lv_requiredRoles_19_0= ruleRequiredRole ) )
                     	    {
-                    	    otherlv_18=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleRepositoryComponent_Impl1382); 
+                    	    otherlv_18=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRepositoryComponent_Impl2022); 
 
                     	        	newLeafNode(otherlv_18, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:637:1: ( (lv_requiredRoles_19_0= ruleRequiredRole ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:638:1: (lv_requiredRoles_19_0= ruleRequiredRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:905:1: ( (lv_requiredRoles_19_0= ruleRequiredRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:906:1: (lv_requiredRoles_19_0= ruleRequiredRole )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:638:1: (lv_requiredRoles_19_0= ruleRequiredRole )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:639:3: lv_requiredRoles_19_0= ruleRequiredRole
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:906:1: (lv_requiredRoles_19_0= ruleRequiredRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:907:3: lv_requiredRoles_19_0= ruleRequiredRole
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_5_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl1403);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2043);
                     	    lv_requiredRoles_19_0=ruleRequiredRole();
 
                     	    state._fsp--;
@@ -1659,11 +2354,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop13;
+                    	    break loop22;
                         }
                     } while (true);
 
-                    otherlv_20=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepositoryComponent_Impl1417); 
+                    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2057); 
 
                         	newLeafNode(otherlv_20, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_5_4());
                         
@@ -1673,7 +2368,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_21=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepositoryComponent_Impl1431); 
+            otherlv_21=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2071); 
 
                 	newLeafNode(otherlv_21, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6());
                 
@@ -1698,7 +2393,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleCollectionDataType"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:671:1: entryRuleCollectionDataType returns [EObject current=null] : iv_ruleCollectionDataType= ruleCollectionDataType EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:939:1: entryRuleCollectionDataType returns [EObject current=null] : iv_ruleCollectionDataType= ruleCollectionDataType EOF ;
     public final EObject entryRuleCollectionDataType() throws RecognitionException {
         EObject current = null;
 
@@ -1706,17 +2401,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:672:2: (iv_ruleCollectionDataType= ruleCollectionDataType EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:673:2: iv_ruleCollectionDataType= ruleCollectionDataType EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:940:2: (iv_ruleCollectionDataType= ruleCollectionDataType EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:941:2: iv_ruleCollectionDataType= ruleCollectionDataType EOF
             {
              newCompositeNode(grammarAccess.getCollectionDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType1467);
+            pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType2107);
             iv_ruleCollectionDataType=ruleCollectionDataType();
 
             state._fsp--;
 
              current =iv_ruleCollectionDataType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionDataType1477); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionDataType2117); 
 
             }
 
@@ -1734,7 +2429,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleCollectionDataType"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:680:1: ruleCollectionDataType returns [EObject current=null] : (otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:948:1: ruleCollectionDataType returns [EObject current=null] : (otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}' ) ;
     public final EObject ruleCollectionDataType() throws RecognitionException {
         EObject current = null;
 
@@ -1748,26 +2443,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:683:28: ( (otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:684:1: (otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:951:28: ( (otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:952:1: (otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:684:1: (otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:684:3: otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:952:1: (otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:952:3: otherlv_0= 'CollectionDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'innerType' ( ( ruleEString ) ) otherlv_5= '}'
             {
-            otherlv_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleCollectionDataType1514); 
+            otherlv_0=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleCollectionDataType2154); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:688:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:689:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:956:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:957:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:689:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:690:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:957:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:958:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType1535);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType2175);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -1789,19 +2484,19 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCollectionDataType1547); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCollectionDataType2187); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleCollectionDataType1559); 
+            otherlv_3=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleCollectionDataType2199); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_3());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:714:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:715:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:982:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:983:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:715:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:716:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:983:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:984:3: ruleEString
             {
 
             			if (current==null) {
@@ -1811,7 +2506,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_4_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType1582);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType2222);
             ruleEString();
 
             state._fsp--;
@@ -1825,7 +2520,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_5=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCollectionDataType1594); 
+            otherlv_5=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCollectionDataType2234); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_5());
                 
@@ -1850,7 +2545,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleCompositeDataType"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:741:1: entryRuleCompositeDataType returns [EObject current=null] : iv_ruleCompositeDataType= ruleCompositeDataType EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1009:1: entryRuleCompositeDataType returns [EObject current=null] : iv_ruleCompositeDataType= ruleCompositeDataType EOF ;
     public final EObject entryRuleCompositeDataType() throws RecognitionException {
         EObject current = null;
 
@@ -1858,17 +2553,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:742:2: (iv_ruleCompositeDataType= ruleCompositeDataType EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:743:2: iv_ruleCompositeDataType= ruleCompositeDataType EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1010:2: (iv_ruleCompositeDataType= ruleCompositeDataType EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1011:2: iv_ruleCompositeDataType= ruleCompositeDataType EOF
             {
              newCompositeNode(grammarAccess.getCompositeDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType1630);
+            pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType2270);
             iv_ruleCompositeDataType=ruleCompositeDataType();
 
             state._fsp--;
 
              current =iv_ruleCompositeDataType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeDataType1640); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeDataType2280); 
 
             }
 
@@ -1886,7 +2581,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleCompositeDataType"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:750:1: ruleCompositeDataType returns [EObject current=null] : (otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1018:1: ruleCompositeDataType returns [EObject current=null] : (otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}' ) ;
     public final EObject ruleCompositeDataType() throws RecognitionException {
         EObject current = null;
 
@@ -1911,26 +2606,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:753:28: ( (otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:754:1: (otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1021:28: ( (otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1022:1: (otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:754:1: (otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:754:3: otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1022:1: (otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1022:3: otherlv_0= 'CompositeDataType' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )? otherlv_15= '}'
             {
-            otherlv_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleCompositeDataType1677); 
+            otherlv_0=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleCompositeDataType2317); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:758:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:759:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1026:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1027:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:759:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:760:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1027:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1028:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType1698);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType2338);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -1952,34 +2647,34 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeDataType1710); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeDataType2350); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:780:1: (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )?
-            int alt16=2;
-            int LA16_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1048:1: (otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )?
+            int alt25=2;
+            int LA25_0 = input.LA(1);
 
-            if ( (LA16_0==27) ) {
-                alt16=1;
+            if ( (LA25_0==34) ) {
+                alt25=1;
             }
-            switch (alt16) {
+            switch (alt25) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:780:3: otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1048:3: otherlv_3= 'parentTypes' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')'
                     {
-                    otherlv_3=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleCompositeDataType1723); 
+                    otherlv_3=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleCompositeDataType2363); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_3_0());
                         
-                    otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeDataType1735); 
+                    otherlv_4=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleCompositeDataType2375); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_3_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:788:1: ( ( ruleEString ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:789:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1056:1: ( ( ruleEString ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1057:1: ( ruleEString )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:789:1: ( ruleEString )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:790:3: ruleEString
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1057:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1058:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -1989,7 +2684,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                      
                     	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_3_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType1758);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType2398);
                     ruleEString();
 
                     state._fsp--;
@@ -2003,30 +2698,30 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:803:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
-                    loop15:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1071:2: (otherlv_6= ',' ( ( ruleEString ) ) )*
+                    loop24:
                     do {
-                        int alt15=2;
-                        int LA15_0 = input.LA(1);
+                        int alt24=2;
+                        int LA24_0 = input.LA(1);
 
-                        if ( (LA15_0==17) ) {
-                            alt15=1;
+                        if ( (LA24_0==14) ) {
+                            alt24=1;
                         }
 
 
-                        switch (alt15) {
+                        switch (alt24) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:803:4: otherlv_6= ',' ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1071:4: otherlv_6= ',' ( ( ruleEString ) )
                     	    {
-                    	    otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleCompositeDataType1771); 
+                    	    otherlv_6=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleCompositeDataType2411); 
 
                     	        	newLeafNode(otherlv_6, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_3_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:807:1: ( ( ruleEString ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:808:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1075:1: ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1076:1: ( ruleEString )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:808:1: ( ruleEString )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:809:3: ruleEString
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1076:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1077:3: ruleEString
                     	    {
 
                     	    			if (current==null) {
@@ -2036,7 +2731,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	     
                     	    	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_3_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType1794);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType2434);
                     	    ruleEString();
 
                     	    state._fsp--;
@@ -2055,11 +2750,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop15;
+                    	    break loop24;
                         }
                     } while (true);
 
-                    otherlv_8=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleCompositeDataType1808); 
+                    otherlv_8=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleCompositeDataType2448); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_3_4());
                         
@@ -2069,35 +2764,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:826:3: (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )?
-            int alt18=2;
-            int LA18_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1094:3: (otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}' )?
+            int alt27=2;
+            int LA27_0 = input.LA(1);
 
-            if ( (LA18_0==28) ) {
-                alt18=1;
+            if ( (LA27_0==35) ) {
+                alt27=1;
             }
-            switch (alt18) {
+            switch (alt27) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:826:5: otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1094:5: otherlv_9= 'innerDeclarations' otherlv_10= '{' ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) ) (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )* otherlv_14= '}'
                     {
-                    otherlv_9=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleCompositeDataType1823); 
+                    otherlv_9=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleCompositeDataType2463); 
 
                         	newLeafNode(otherlv_9, grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_4_0());
                         
-                    otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeDataType1835); 
+                    otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeDataType2475); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_4_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:834:1: ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:835:1: (lv_innerDeclarations_11_0= ruleInnerDeclaration )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1102:1: ( (lv_innerDeclarations_11_0= ruleInnerDeclaration ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1103:1: (lv_innerDeclarations_11_0= ruleInnerDeclaration )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:835:1: (lv_innerDeclarations_11_0= ruleInnerDeclaration )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:836:3: lv_innerDeclarations_11_0= ruleInnerDeclaration
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1103:1: (lv_innerDeclarations_11_0= ruleInnerDeclaration )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1104:3: lv_innerDeclarations_11_0= ruleInnerDeclaration
                     {
                      
                     	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_4_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType1856);
+                    pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType2496);
                     lv_innerDeclarations_11_0=ruleInnerDeclaration();
 
                     state._fsp--;
@@ -2119,35 +2814,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:852:2: (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )*
-                    loop17:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1120:2: (otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) )*
+                    loop26:
                     do {
-                        int alt17=2;
-                        int LA17_0 = input.LA(1);
+                        int alt26=2;
+                        int LA26_0 = input.LA(1);
 
-                        if ( (LA17_0==17) ) {
-                            alt17=1;
+                        if ( (LA26_0==14) ) {
+                            alt26=1;
                         }
 
 
-                        switch (alt17) {
+                        switch (alt26) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:852:4: otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1120:4: otherlv_12= ',' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) )
                     	    {
-                    	    otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleCompositeDataType1869); 
+                    	    otherlv_12=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleCompositeDataType2509); 
 
                     	        	newLeafNode(otherlv_12, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_4_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:856:1: ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:857:1: (lv_innerDeclarations_13_0= ruleInnerDeclaration )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1124:1: ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1125:1: (lv_innerDeclarations_13_0= ruleInnerDeclaration )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:857:1: (lv_innerDeclarations_13_0= ruleInnerDeclaration )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:858:3: lv_innerDeclarations_13_0= ruleInnerDeclaration
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1125:1: (lv_innerDeclarations_13_0= ruleInnerDeclaration )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1126:3: lv_innerDeclarations_13_0= ruleInnerDeclaration
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_4_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType1890);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType2530);
                     	    lv_innerDeclarations_13_0=ruleInnerDeclaration();
 
                     	    state._fsp--;
@@ -2174,11 +2869,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop17;
+                    	    break loop26;
                         }
                     } while (true);
 
-                    otherlv_14=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCompositeDataType1904); 
+                    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeDataType2544); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_4_4());
                         
@@ -2188,7 +2883,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_15=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCompositeDataType1918); 
+            otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeDataType2558); 
 
                 	newLeafNode(otherlv_15, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_5());
                 
@@ -2213,7 +2908,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRulePrimitiveDataType"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:890:1: entryRulePrimitiveDataType returns [EObject current=null] : iv_rulePrimitiveDataType= rulePrimitiveDataType EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1158:1: entryRulePrimitiveDataType returns [EObject current=null] : iv_rulePrimitiveDataType= rulePrimitiveDataType EOF ;
     public final EObject entryRulePrimitiveDataType() throws RecognitionException {
         EObject current = null;
 
@@ -2221,17 +2916,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:891:2: (iv_rulePrimitiveDataType= rulePrimitiveDataType EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:892:2: iv_rulePrimitiveDataType= rulePrimitiveDataType EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1159:2: (iv_rulePrimitiveDataType= rulePrimitiveDataType EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1160:2: iv_rulePrimitiveDataType= rulePrimitiveDataType EOF
             {
              newCompositeNode(grammarAccess.getPrimitiveDataTypeRule()); 
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType1954);
+            pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType2594);
             iv_rulePrimitiveDataType=rulePrimitiveDataType();
 
             state._fsp--;
 
              current =iv_rulePrimitiveDataType; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveDataType1964); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveDataType2604); 
 
             }
 
@@ -2249,7 +2944,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "rulePrimitiveDataType"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:899:1: rulePrimitiveDataType returns [EObject current=null] : (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1167:1: rulePrimitiveDataType returns [EObject current=null] : (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}' ) ;
     public final EObject rulePrimitiveDataType() throws RecognitionException {
         EObject current = null;
 
@@ -2266,34 +2961,34 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:902:28: ( (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:903:1: (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1170:28: ( (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1171:1: (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:903:1: (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:903:3: otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1171:1: (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1171:3: otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= 'ref' ( (lv_name_5_0= ruleEString ) ) otherlv_6= '}'
             {
-            otherlv_0=(Token)match(input,29,FollowSets000.FOLLOW_29_in_rulePrimitiveDataType2001); 
+            otherlv_0=(Token)match(input,36,FollowSets000.FOLLOW_36_in_rulePrimitiveDataType2641); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0());
                 
-            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePrimitiveDataType2013); 
+            otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePrimitiveDataType2653); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1());
                 
-            otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_30_in_rulePrimitiveDataType2025); 
+            otherlv_2=(Token)match(input,37,FollowSets000.FOLLOW_37_in_rulePrimitiveDataType2665); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:915:1: ( (lv_type_3_0= rulePrimitiveTypeEnum ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:916:1: (lv_type_3_0= rulePrimitiveTypeEnum )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1183:1: ( (lv_type_3_0= rulePrimitiveTypeEnum ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1184:1: (lv_type_3_0= rulePrimitiveTypeEnum )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:916:1: (lv_type_3_0= rulePrimitiveTypeEnum )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:917:3: lv_type_3_0= rulePrimitiveTypeEnum
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1184:1: (lv_type_3_0= rulePrimitiveTypeEnum )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1185:3: lv_type_3_0= rulePrimitiveTypeEnum
             {
              
             	        newCompositeNode(grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeEnum_in_rulePrimitiveDataType2046);
+            pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeEnum_in_rulePrimitiveDataType2686);
             lv_type_3_0=rulePrimitiveTypeEnum();
 
             state._fsp--;
@@ -2315,20 +3010,20 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_4=(Token)match(input,31,FollowSets000.FOLLOW_31_in_rulePrimitiveDataType2058); 
+            otherlv_4=(Token)match(input,38,FollowSets000.FOLLOW_38_in_rulePrimitiveDataType2698); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getPrimitiveDataTypeAccess().getRefKeyword_4());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:937:1: ( (lv_name_5_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:938:1: (lv_name_5_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1205:1: ( (lv_name_5_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1206:1: (lv_name_5_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:938:1: (lv_name_5_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:939:3: lv_name_5_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1206:1: (lv_name_5_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1207:3: lv_name_5_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getPrimitiveDataTypeAccess().getNameEStringParserRuleCall_5_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePrimitiveDataType2079);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePrimitiveDataType2719);
             lv_name_5_0=ruleEString();
 
             state._fsp--;
@@ -2350,7 +3045,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_6=(Token)match(input,13,FollowSets000.FOLLOW_13_in_rulePrimitiveDataType2091); 
+            otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_rulePrimitiveDataType2731); 
 
                 	newLeafNode(otherlv_6, grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_6());
                 
@@ -2375,7 +3070,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleInnerDeclaration"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:967:1: entryRuleInnerDeclaration returns [EObject current=null] : iv_ruleInnerDeclaration= ruleInnerDeclaration EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1235:1: entryRuleInnerDeclaration returns [EObject current=null] : iv_ruleInnerDeclaration= ruleInnerDeclaration EOF ;
     public final EObject entryRuleInnerDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -2383,17 +3078,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:968:2: (iv_ruleInnerDeclaration= ruleInnerDeclaration EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:969:2: iv_ruleInnerDeclaration= ruleInnerDeclaration EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1236:2: (iv_ruleInnerDeclaration= ruleInnerDeclaration EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1237:2: iv_ruleInnerDeclaration= ruleInnerDeclaration EOF
             {
              newCompositeNode(grammarAccess.getInnerDeclarationRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration2127);
+            pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration2767);
             iv_ruleInnerDeclaration=ruleInnerDeclaration();
 
             state._fsp--;
 
              current =iv_ruleInnerDeclaration; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInnerDeclaration2137); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInnerDeclaration2777); 
 
             }
 
@@ -2411,7 +3106,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleInnerDeclaration"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:976:1: ruleInnerDeclaration returns [EObject current=null] : (otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1244:1: ruleInnerDeclaration returns [EObject current=null] : (otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}' ) ;
     public final EObject ruleInnerDeclaration() throws RecognitionException {
         EObject current = null;
 
@@ -2425,26 +3120,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:979:28: ( (otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:980:1: (otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1247:28: ( (otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1248:1: (otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:980:1: (otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:980:3: otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1248:1: (otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1248:3: otherlv_0= 'InnerDeclaration' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'dataType' ( ( ruleEString ) ) otherlv_5= '}'
             {
-            otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleInnerDeclaration2174); 
+            otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleInnerDeclaration2814); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:984:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:985:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1252:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1253:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:985:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:986:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1253:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1254:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration2195);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration2835);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -2466,19 +3161,19 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInnerDeclaration2207); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInnerDeclaration2847); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleInnerDeclaration2219); 
+            otherlv_3=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleInnerDeclaration2859); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_3());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1010:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1011:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1278:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1279:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1011:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1012:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1279:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1280:3: ruleEString
             {
 
             			if (current==null) {
@@ -2488,7 +3183,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_4_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration2242);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration2882);
             ruleEString();
 
             state._fsp--;
@@ -2502,7 +3197,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_5=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleInnerDeclaration2254); 
+            otherlv_5=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInnerDeclaration2894); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_5());
                 
@@ -2527,7 +3222,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleSignature"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1037:1: entryRuleSignature returns [EObject current=null] : iv_ruleSignature= ruleSignature EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1305:1: entryRuleSignature returns [EObject current=null] : iv_ruleSignature= ruleSignature EOF ;
     public final EObject entryRuleSignature() throws RecognitionException {
         EObject current = null;
 
@@ -2535,17 +3230,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1038:2: (iv_ruleSignature= ruleSignature EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1039:2: iv_ruleSignature= ruleSignature EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1306:2: (iv_ruleSignature= ruleSignature EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1307:2: iv_ruleSignature= ruleSignature EOF
             {
              newCompositeNode(grammarAccess.getSignatureRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_entryRuleSignature2290);
+            pushFollow(FollowSets000.FOLLOW_ruleSignature_in_entryRuleSignature2930);
             iv_ruleSignature=ruleSignature();
 
             state._fsp--;
 
              current =iv_ruleSignature; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSignature2300); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSignature2940); 
 
             }
 
@@ -2563,7 +3258,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleSignature"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1046:1: ruleSignature returns [EObject current=null] : ( ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1314:1: ruleSignature returns [EObject current=null] : ( ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' ) ;
     public final EObject ruleSignature() throws RecognitionException {
         EObject current = null;
 
@@ -2581,37 +3276,37 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1049:28: ( ( ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1050:1: ( ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1317:28: ( ( ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1318:1: ( ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1050:1: ( ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1050:2: ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1318:1: ( ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1318:2: ( ( ( ruleEString ) ) | otherlv_1= 'void' ) ( (lv_name_2_0= ruleEString ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')'
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1050:2: ( ( ( ruleEString ) ) | otherlv_1= 'void' )
-            int alt19=2;
-            int LA19_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1318:2: ( ( ( ruleEString ) ) | otherlv_1= 'void' )
+            int alt28=2;
+            int LA28_0 = input.LA(1);
 
-            if ( ((LA19_0>=RULE_STRING && LA19_0<=RULE_ID)) ) {
-                alt19=1;
+            if ( ((LA28_0>=RULE_ID && LA28_0<=RULE_STRING)) ) {
+                alt28=1;
             }
-            else if ( (LA19_0==34) ) {
-                alt19=2;
+            else if ( (LA28_0==41) ) {
+                alt28=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 19, 0, input);
+                    new NoViableAltException("", 28, 0, input);
 
                 throw nvae;
             }
-            switch (alt19) {
+            switch (alt28) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1050:3: ( ( ruleEString ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1318:3: ( ( ruleEString ) )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1050:3: ( ( ruleEString ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1051:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1318:3: ( ( ruleEString ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1319:1: ( ruleEString )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1051:1: ( ruleEString )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1052:3: ruleEString
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1319:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1320:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -2621,7 +3316,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                      
                     	        newCompositeNode(grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_0_0_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature2349);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature2989);
                     ruleEString();
 
                     state._fsp--;
@@ -2639,9 +3334,9 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1066:7: otherlv_1= 'void'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1334:7: otherlv_1= 'void'
                     {
-                    otherlv_1=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleSignature2367); 
+                    otherlv_1=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleSignature3007); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getSignatureAccess().getVoidKeyword_0_1());
                         
@@ -2651,16 +3346,16 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1070:2: ( (lv_name_2_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1071:1: (lv_name_2_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1338:2: ( (lv_name_2_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1339:1: (lv_name_2_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1071:1: (lv_name_2_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1072:3: lv_name_2_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1339:1: (lv_name_2_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1340:3: lv_name_2_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature2389);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature3029);
             lv_name_2_0=ruleEString();
 
             state._fsp--;
@@ -2682,31 +3377,31 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSignature2401); 
+            otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleSignature3041); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getSignatureAccess().getLeftParenthesisKeyword_2());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1092:1: ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )?
-            int alt21=2;
-            int LA21_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1360:1: ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )?
+            int alt30=2;
+            int LA30_0 = input.LA(1);
 
-            if ( ((LA21_0>=RULE_STRING && LA21_0<=RULE_ID)) ) {
-                alt21=1;
+            if ( ((LA30_0>=RULE_ID && LA30_0<=RULE_STRING)) ) {
+                alt30=1;
             }
-            switch (alt21) {
+            switch (alt30) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1092:2: ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )*
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1360:2: ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )*
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1092:2: ( (lv_parameters_4_0= ruleParameter ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1093:1: (lv_parameters_4_0= ruleParameter )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1360:2: ( (lv_parameters_4_0= ruleParameter ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1361:1: (lv_parameters_4_0= ruleParameter )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1093:1: (lv_parameters_4_0= ruleParameter )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1094:3: lv_parameters_4_0= ruleParameter
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1361:1: (lv_parameters_4_0= ruleParameter )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1362:3: lv_parameters_4_0= ruleParameter
                     {
                      
                     	        newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_3_0_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleSignature2423);
+                    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleSignature3063);
                     lv_parameters_4_0=ruleParameter();
 
                     state._fsp--;
@@ -2728,35 +3423,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1110:2: (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )*
-                    loop20:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1378:2: (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )*
+                    loop29:
                     do {
-                        int alt20=2;
-                        int LA20_0 = input.LA(1);
+                        int alt29=2;
+                        int LA29_0 = input.LA(1);
 
-                        if ( (LA20_0==17) ) {
-                            alt20=1;
+                        if ( (LA29_0==14) ) {
+                            alt29=1;
                         }
 
 
-                        switch (alt20) {
+                        switch (alt29) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1110:4: otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1378:4: otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) )
                     	    {
-                    	    otherlv_5=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleSignature2436); 
+                    	    otherlv_5=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleSignature3076); 
 
                     	        	newLeafNode(otherlv_5, grammarAccess.getSignatureAccess().getCommaKeyword_3_1_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1114:1: ( (lv_parameters_6_0= ruleParameter ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1115:1: (lv_parameters_6_0= ruleParameter )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1382:1: ( (lv_parameters_6_0= ruleParameter ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1383:1: (lv_parameters_6_0= ruleParameter )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1115:1: (lv_parameters_6_0= ruleParameter )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1116:3: lv_parameters_6_0= ruleParameter
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1383:1: (lv_parameters_6_0= ruleParameter )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1384:3: lv_parameters_6_0= ruleParameter
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_3_1_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleSignature2457);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleSignature3097);
                     	    lv_parameters_6_0=ruleParameter();
 
                     	    state._fsp--;
@@ -2783,7 +3478,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop20;
+                    	    break loop29;
                         }
                     } while (true);
 
@@ -2793,7 +3488,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_7=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleSignature2473); 
+            otherlv_7=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleSignature3113); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getSignatureAccess().getRightParenthesisKeyword_4());
                 
@@ -2818,7 +3513,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleParameter"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1144:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1412:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ;
     public final EObject entryRuleParameter() throws RecognitionException {
         EObject current = null;
 
@@ -2826,17 +3521,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1145:2: (iv_ruleParameter= ruleParameter EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1146:2: iv_ruleParameter= ruleParameter EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1413:2: (iv_ruleParameter= ruleParameter EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1414:2: iv_ruleParameter= ruleParameter EOF
             {
              newCompositeNode(grammarAccess.getParameterRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter2509);
+            pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter3149);
             iv_ruleParameter=ruleParameter();
 
             state._fsp--;
 
              current =iv_ruleParameter; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter2519); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter3159); 
 
             }
 
@@ -2854,7 +3549,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleParameter"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1153:1: ruleParameter returns [EObject current=null] : ( ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1421:1: ruleParameter returns [EObject current=null] : ( ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) ) ;
     public final EObject ruleParameter() throws RecognitionException {
         EObject current = null;
 
@@ -2864,17 +3559,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1156:28: ( ( ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1157:1: ( ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1424:28: ( ( ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1425:1: ( ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1157:1: ( ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1157:2: ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1425:1: ( ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1425:2: ( ( ruleEString ) ) ( (lv_name_1_0= ruleEString ) )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1157:2: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1158:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1425:2: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1426:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1158:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1159:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1426:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1427:3: ruleEString
             {
 
             			if (current==null) {
@@ -2884,7 +3579,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_0_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter2567);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter3207);
             ruleEString();
 
             state._fsp--;
@@ -2898,16 +3593,16 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1172:2: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1173:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1440:2: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1441:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1173:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1174:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1441:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1442:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter2588);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter3228);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -2950,7 +3645,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleProvidedRole"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1198:1: entryRuleProvidedRole returns [EObject current=null] : iv_ruleProvidedRole= ruleProvidedRole EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1466:1: entryRuleProvidedRole returns [EObject current=null] : iv_ruleProvidedRole= ruleProvidedRole EOF ;
     public final EObject entryRuleProvidedRole() throws RecognitionException {
         EObject current = null;
 
@@ -2958,17 +3653,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1199:2: (iv_ruleProvidedRole= ruleProvidedRole EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1200:2: iv_ruleProvidedRole= ruleProvidedRole EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1467:2: (iv_ruleProvidedRole= ruleProvidedRole EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1468:2: iv_ruleProvidedRole= ruleProvidedRole EOF
             {
              newCompositeNode(grammarAccess.getProvidedRoleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole2624);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole3264);
             iv_ruleProvidedRole=ruleProvidedRole();
 
             state._fsp--;
 
              current =iv_ruleProvidedRole; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedRole2634); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedRole3274); 
 
             }
 
@@ -2986,113 +3681,78 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleProvidedRole"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1207:1: ruleProvidedRole returns [EObject current=null] : ( () otherlv_1= 'ProvidedRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )* ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1475:1: ruleProvidedRole returns [EObject current=null] : (otherlv_0= 'ProvidedRole' ( ( ruleEString ) ) (otherlv_2= ',' )? ) ;
     public final EObject ruleProvidedRole() throws RecognitionException {
         EObject current = null;
 
-        Token otherlv_1=null;
-        Token otherlv_3=null;
-
-         enterRule(); 
-            
-        try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1210:28: ( ( () otherlv_1= 'ProvidedRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )* ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1211:1: ( () otherlv_1= 'ProvidedRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )* )
-            {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1211:1: ( () otherlv_1= 'ProvidedRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )* )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1211:2: () otherlv_1= 'ProvidedRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )*
-            {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1211:2: ()
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1212:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getProvidedRoleAccess().getProvidedRoleAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleProvidedRole2680); 
-
-                	newLeafNode(otherlv_1, grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_1());
-                
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1221:1: ( ( ( ruleEString ) ) (otherlv_3= ',' )? )*
-            loop23:
-            do {
-                int alt23=2;
-                int LA23_0 = input.LA(1);
-
-                if ( ((LA23_0>=RULE_STRING && LA23_0<=RULE_ID)) ) {
-                    alt23=1;
-                }
-
-
-                switch (alt23) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1221:2: ( ( ruleEString ) ) (otherlv_3= ',' )?
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1221:2: ( ( ruleEString ) )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1222:1: ( ruleEString )
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1222:1: ( ruleEString )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1223:3: ruleEString
-            	    {
-
-            	    			if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getProvidedRoleRule());
-            	    	        }
-            	            
-            	     
-            	    	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedRole2704);
-            	    ruleEString();
+        Token otherlv_0=null;
+        Token otherlv_2=null;
 
-            	    state._fsp--;
+         enterRule(); 
+            
+        try {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1478:28: ( (otherlv_0= 'ProvidedRole' ( ( ruleEString ) ) (otherlv_2= ',' )? ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1479:1: (otherlv_0= 'ProvidedRole' ( ( ruleEString ) ) (otherlv_2= ',' )? )
+            {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1479:1: (otherlv_0= 'ProvidedRole' ( ( ruleEString ) ) (otherlv_2= ',' )? )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1479:3: otherlv_0= 'ProvidedRole' ( ( ruleEString ) ) (otherlv_2= ',' )?
+            {
+            otherlv_0=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleProvidedRole3311); 
 
-            	     
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+                	newLeafNode(otherlv_0, grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0());
+                
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1483:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1484:1: ( ruleEString )
+            {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1484:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1485:3: ruleEString
+            {
 
-            	    }
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getProvidedRoleRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedRole3334);
+            ruleEString();
 
+            state._fsp--;
 
-            	    }
+             
+            	        afterParserOrEnumRuleCall();
+            	    
 
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1236:2: (otherlv_3= ',' )?
-            	    int alt22=2;
-            	    int LA22_0 = input.LA(1);
+            }
 
-            	    if ( (LA22_0==17) ) {
-            	        int LA22_1 = input.LA(2);
 
-            	        if ( (LA22_1==EOF||(LA22_1>=RULE_STRING && LA22_1<=RULE_ID)||(LA22_1>=12 && LA22_1<=13)||LA22_1==17||LA22_1==36) ) {
-            	            alt22=1;
-            	        }
-            	    }
-            	    switch (alt22) {
-            	        case 1 :
-            	            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1236:4: otherlv_3= ','
-            	            {
-            	            otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleProvidedRole2717); 
+            }
 
-            	                	newLeafNode(otherlv_3, grammarAccess.getProvidedRoleAccess().getCommaKeyword_2_1());
-            	                
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1498:2: (otherlv_2= ',' )?
+            int alt31=2;
+            int LA31_0 = input.LA(1);
 
-            	            }
-            	            break;
+            if ( (LA31_0==14) ) {
+                int LA31_1 = input.LA(2);
 
-            	    }
+                if ( (LA31_1==EOF||LA31_1==12||(LA31_1>=14 && LA31_1<=15)||LA31_1==43) ) {
+                    alt31=1;
+                }
+            }
+            switch (alt31) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1498:4: otherlv_2= ','
+                    {
+                    otherlv_2=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleProvidedRole3347); 
 
+                        	newLeafNode(otherlv_2, grammarAccess.getProvidedRoleAccess().getCommaKeyword_2());
+                        
 
-            	    }
-            	    break;
+                    }
+                    break;
 
-            	default :
-            	    break loop23;
-                }
-            } while (true);
+            }
 
 
             }
@@ -3115,7 +3775,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleRequiredRole"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1248:1: entryRuleRequiredRole returns [EObject current=null] : iv_ruleRequiredRole= ruleRequiredRole EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1510:1: entryRuleRequiredRole returns [EObject current=null] : iv_ruleRequiredRole= ruleRequiredRole EOF ;
     public final EObject entryRuleRequiredRole() throws RecognitionException {
         EObject current = null;
 
@@ -3123,17 +3783,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1249:2: (iv_ruleRequiredRole= ruleRequiredRole EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1250:2: iv_ruleRequiredRole= ruleRequiredRole EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1511:2: (iv_ruleRequiredRole= ruleRequiredRole EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1512:2: iv_ruleRequiredRole= ruleRequiredRole EOF
             {
              newCompositeNode(grammarAccess.getRequiredRoleRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole2757);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole3385);
             iv_ruleRequiredRole=ruleRequiredRole();
 
             state._fsp--;
 
              current =iv_ruleRequiredRole; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredRole2767); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredRole3395); 
 
             }
 
@@ -3151,113 +3811,78 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleRequiredRole"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1257:1: ruleRequiredRole returns [EObject current=null] : ( () otherlv_1= 'RequiredRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )* ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1519:1: ruleRequiredRole returns [EObject current=null] : (otherlv_0= 'RequiredRole' ( ( ruleEString ) ) (otherlv_2= ',' )? ) ;
     public final EObject ruleRequiredRole() throws RecognitionException {
         EObject current = null;
 
-        Token otherlv_1=null;
-        Token otherlv_3=null;
+        Token otherlv_0=null;
+        Token otherlv_2=null;
 
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1260:28: ( ( () otherlv_1= 'RequiredRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )* ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1261:1: ( () otherlv_1= 'RequiredRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )* )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1522:28: ( (otherlv_0= 'RequiredRole' ( ( ruleEString ) ) (otherlv_2= ',' )? ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1523:1: (otherlv_0= 'RequiredRole' ( ( ruleEString ) ) (otherlv_2= ',' )? )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1261:1: ( () otherlv_1= 'RequiredRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )* )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1261:2: () otherlv_1= 'RequiredRole' ( ( ( ruleEString ) ) (otherlv_3= ',' )? )*
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1523:1: (otherlv_0= 'RequiredRole' ( ( ruleEString ) ) (otherlv_2= ',' )? )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1523:3: otherlv_0= 'RequiredRole' ( ( ruleEString ) ) (otherlv_2= ',' )?
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1261:2: ()
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1262:5: 
-            {
-
-                    current = forceCreateModelElement(
-                        grammarAccess.getRequiredRoleAccess().getRequiredRoleAction_0(),
-                        current);
-                
-
-            }
-
-            otherlv_1=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleRequiredRole2813); 
+            otherlv_0=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleRequiredRole3432); 
 
-                	newLeafNode(otherlv_1, grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_1());
+                	newLeafNode(otherlv_0, grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1271:1: ( ( ( ruleEString ) ) (otherlv_3= ',' )? )*
-            loop25:
-            do {
-                int alt25=2;
-                int LA25_0 = input.LA(1);
-
-                if ( ((LA25_0>=RULE_STRING && LA25_0<=RULE_ID)) ) {
-                    alt25=1;
-                }
-
-
-                switch (alt25) {
-            	case 1 :
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1271:2: ( ( ruleEString ) ) (otherlv_3= ',' )?
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1271:2: ( ( ruleEString ) )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1272:1: ( ruleEString )
-            	    {
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1272:1: ( ruleEString )
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1273:3: ruleEString
-            	    {
-
-            	    			if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getRequiredRoleRule());
-            	    	        }
-            	            
-            	     
-            	    	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_2_0_0()); 
-            	    	    
-            	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredRole2837);
-            	    ruleEString();
-
-            	    state._fsp--;
-
-            	     
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1527:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1528:1: ( ruleEString )
+            {
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1528:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1529:3: ruleEString
+            {
 
-            	    }
+            			if (current==null) {
+            	            current = createModelElement(grammarAccess.getRequiredRoleRule());
+            	        }
+                    
+             
+            	        newCompositeNode(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_1_0()); 
+            	    
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredRole3455);
+            ruleEString();
 
+            state._fsp--;
 
-            	    }
+             
+            	        afterParserOrEnumRuleCall();
+            	    
 
-            	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1286:2: (otherlv_3= ',' )?
-            	    int alt24=2;
-            	    int LA24_0 = input.LA(1);
+            }
 
-            	    if ( (LA24_0==17) ) {
-            	        int LA24_1 = input.LA(2);
 
-            	        if ( (LA24_1==EOF||(LA24_1>=RULE_STRING && LA24_1<=RULE_ID)||(LA24_1>=12 && LA24_1<=13)||LA24_1==17) ) {
-            	            alt24=1;
-            	        }
-            	    }
-            	    switch (alt24) {
-            	        case 1 :
-            	            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1286:4: otherlv_3= ','
-            	            {
-            	            otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleRequiredRole2850); 
+            }
 
-            	                	newLeafNode(otherlv_3, grammarAccess.getRequiredRoleAccess().getCommaKeyword_2_1());
-            	                
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1542:2: (otherlv_2= ',' )?
+            int alt32=2;
+            int LA32_0 = input.LA(1);
 
-            	            }
-            	            break;
+            if ( (LA32_0==14) ) {
+                int LA32_1 = input.LA(2);
 
-            	    }
+                if ( (LA32_1==EOF||LA32_1==12||(LA32_1>=14 && LA32_1<=15)) ) {
+                    alt32=1;
+                }
+            }
+            switch (alt32) {
+                case 1 :
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1542:4: otherlv_2= ','
+                    {
+                    otherlv_2=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRequiredRole3468); 
 
+                        	newLeafNode(otherlv_2, grammarAccess.getRequiredRoleAccess().getCommaKeyword_2());
+                        
 
-            	    }
-            	    break;
+                    }
+                    break;
 
-            	default :
-            	    break loop25;
-                }
-            } while (true);
+            }
 
 
             }
@@ -3280,7 +3905,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleBasicComponent"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1298:1: entryRuleBasicComponent returns [EObject current=null] : iv_ruleBasicComponent= ruleBasicComponent EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1554:1: entryRuleBasicComponent returns [EObject current=null] : iv_ruleBasicComponent= ruleBasicComponent EOF ;
     public final EObject entryRuleBasicComponent() throws RecognitionException {
         EObject current = null;
 
@@ -3288,17 +3913,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1299:2: (iv_ruleBasicComponent= ruleBasicComponent EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1300:2: iv_ruleBasicComponent= ruleBasicComponent EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1555:2: (iv_ruleBasicComponent= ruleBasicComponent EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1556:2: iv_ruleBasicComponent= ruleBasicComponent EOF
             {
              newCompositeNode(grammarAccess.getBasicComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent2890);
+            pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent3506);
             iv_ruleBasicComponent=ruleBasicComponent();
 
             state._fsp--;
 
              current =iv_ruleBasicComponent; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBasicComponent2900); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBasicComponent3516); 
 
             }
 
@@ -3316,7 +3941,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleBasicComponent"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1307:1: ruleBasicComponent returns [EObject current=null] : (otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1563:1: ruleBasicComponent returns [EObject current=null] : (otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}' ) ;
     public final EObject ruleBasicComponent() throws RecognitionException {
         EObject current = null;
 
@@ -3343,26 +3968,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1310:28: ( (otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1311:1: (otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1566:28: ( (otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1567:1: (otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1311:1: (otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1311:3: otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1567:1: (otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1567:3: otherlv_0= 'BasicComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? otherlv_15= '}'
             {
-            otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleBasicComponent2937); 
+            otherlv_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleBasicComponent3553); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1315:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1316:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1571:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1572:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1316:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1317:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1572:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1573:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent2958);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent3574);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -3384,27 +4009,27 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1333:2: ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )?
-            int alt27=2;
-            int LA27_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1589:2: ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )?
+            int alt34=2;
+            int LA34_0 = input.LA(1);
 
-            if ( (LA27_0==35) ) {
-                alt27=1;
+            if ( (LA34_0==42) ) {
+                alt34=1;
             }
-            switch (alt27) {
+            switch (alt34) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1333:3: ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )*
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1589:3: ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )*
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1333:3: ( (lv_providedRoles_2_0= ruleProvidedRole ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1334:1: (lv_providedRoles_2_0= ruleProvidedRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1589:3: ( (lv_providedRoles_2_0= ruleProvidedRole ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1590:1: (lv_providedRoles_2_0= ruleProvidedRole )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1334:1: (lv_providedRoles_2_0= ruleProvidedRole )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1335:3: lv_providedRoles_2_0= ruleProvidedRole
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1590:1: (lv_providedRoles_2_0= ruleProvidedRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1591:3: lv_providedRoles_2_0= ruleProvidedRole
                     {
                      
                     	        newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_2_0_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleBasicComponent2980);
+                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleBasicComponent3596);
                     lv_providedRoles_2_0=ruleProvidedRole();
 
                     state._fsp--;
@@ -3426,35 +4051,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1351:2: (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )*
-                    loop26:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1607:2: (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )*
+                    loop33:
                     do {
-                        int alt26=2;
-                        int LA26_0 = input.LA(1);
+                        int alt33=2;
+                        int LA33_0 = input.LA(1);
 
-                        if ( (LA26_0==17) ) {
-                            alt26=1;
+                        if ( (LA33_0==14) ) {
+                            alt33=1;
                         }
 
 
-                        switch (alt26) {
+                        switch (alt33) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1351:4: otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1607:4: otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleBasicComponent2993); 
+                    	    otherlv_3=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleBasicComponent3609); 
 
                     	        	newLeafNode(otherlv_3, grammarAccess.getBasicComponentAccess().getCommaKeyword_2_1_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1355:1: ( (lv_providedRoles_4_0= ruleProvidedRole ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1356:1: (lv_providedRoles_4_0= ruleProvidedRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1611:1: ( (lv_providedRoles_4_0= ruleProvidedRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1612:1: (lv_providedRoles_4_0= ruleProvidedRole )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1356:1: (lv_providedRoles_4_0= ruleProvidedRole )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1357:3: lv_providedRoles_4_0= ruleProvidedRole
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1612:1: (lv_providedRoles_4_0= ruleProvidedRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1613:3: lv_providedRoles_4_0= ruleProvidedRole
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_2_1_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleBasicComponent3014);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleBasicComponent3630);
                     	    lv_providedRoles_4_0=ruleProvidedRole();
 
                     	    state._fsp--;
@@ -3481,7 +4106,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop26;
+                    	    break loop33;
                         }
                     } while (true);
 
@@ -3491,27 +4116,27 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1373:6: ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )?
-            int alt29=2;
-            int LA29_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1629:6: ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )?
+            int alt36=2;
+            int LA36_0 = input.LA(1);
 
-            if ( (LA29_0==36) ) {
-                alt29=1;
+            if ( (LA36_0==43) ) {
+                alt36=1;
             }
-            switch (alt29) {
+            switch (alt36) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1373:7: ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )*
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1629:7: ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )*
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1373:7: ( (lv_requiredRoles_5_0= ruleRequiredRole ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1374:1: (lv_requiredRoles_5_0= ruleRequiredRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1629:7: ( (lv_requiredRoles_5_0= ruleRequiredRole ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1630:1: (lv_requiredRoles_5_0= ruleRequiredRole )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1374:1: (lv_requiredRoles_5_0= ruleRequiredRole )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1375:3: lv_requiredRoles_5_0= ruleRequiredRole
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1630:1: (lv_requiredRoles_5_0= ruleRequiredRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1631:3: lv_requiredRoles_5_0= ruleRequiredRole
                     {
                      
                     	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_3_0_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleBasicComponent3040);
+                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleBasicComponent3656);
                     lv_requiredRoles_5_0=ruleRequiredRole();
 
                     state._fsp--;
@@ -3533,35 +4158,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1391:2: (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )*
-                    loop28:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1647:2: (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )*
+                    loop35:
                     do {
-                        int alt28=2;
-                        int LA28_0 = input.LA(1);
+                        int alt35=2;
+                        int LA35_0 = input.LA(1);
 
-                        if ( (LA28_0==17) ) {
-                            alt28=1;
+                        if ( (LA35_0==14) ) {
+                            alt35=1;
                         }
 
 
-                        switch (alt28) {
+                        switch (alt35) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1391:4: otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1647:4: otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) )
                     	    {
-                    	    otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleBasicComponent3053); 
+                    	    otherlv_6=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleBasicComponent3669); 
 
                     	        	newLeafNode(otherlv_6, grammarAccess.getBasicComponentAccess().getCommaKeyword_3_1_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1395:1: ( (lv_requiredRoles_7_0= ruleRequiredRole ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1396:1: (lv_requiredRoles_7_0= ruleRequiredRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1651:1: ( (lv_requiredRoles_7_0= ruleRequiredRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1652:1: (lv_requiredRoles_7_0= ruleRequiredRole )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1396:1: (lv_requiredRoles_7_0= ruleRequiredRole )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1397:3: lv_requiredRoles_7_0= ruleRequiredRole
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1652:1: (lv_requiredRoles_7_0= ruleRequiredRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1653:3: lv_requiredRoles_7_0= ruleRequiredRole
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_3_1_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleBasicComponent3074);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleBasicComponent3690);
                     	    lv_requiredRoles_7_0=ruleRequiredRole();
 
                     	    state._fsp--;
@@ -3588,7 +4213,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop28;
+                    	    break loop35;
                         }
                     } while (true);
 
@@ -3598,34 +4223,34 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent3090); 
+            otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent3706); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_4());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1417:1: (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )?
-            int alt31=2;
-            int LA31_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1673:1: (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )?
+            int alt38=2;
+            int LA38_0 = input.LA(1);
 
-            if ( (LA31_0==21) ) {
-                alt31=1;
+            if ( (LA38_0==28) ) {
+                alt38=1;
             }
-            switch (alt31) {
+            switch (alt38) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1417:3: otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1673:3: otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')'
                     {
-                    otherlv_9=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleBasicComponent3103); 
+                    otherlv_9=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleBasicComponent3719); 
 
                         	newLeafNode(otherlv_9, grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0());
                         
-                    otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent3115); 
+                    otherlv_10=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleBasicComponent3731); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1425:1: ( ( ruleEString ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1426:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1681:1: ( ( ruleEString ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1682:1: ( ruleEString )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1426:1: ( ruleEString )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1427:3: ruleEString
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1682:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1683:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -3635,7 +4260,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                      
                     	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent3138);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent3754);
                     ruleEString();
 
                     state._fsp--;
@@ -3649,30 +4274,30 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1440:2: (otherlv_12= ',' ( ( ruleEString ) ) )*
-                    loop30:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1696:2: (otherlv_12= ',' ( ( ruleEString ) ) )*
+                    loop37:
                     do {
-                        int alt30=2;
-                        int LA30_0 = input.LA(1);
+                        int alt37=2;
+                        int LA37_0 = input.LA(1);
 
-                        if ( (LA30_0==17) ) {
-                            alt30=1;
+                        if ( (LA37_0==14) ) {
+                            alt37=1;
                         }
 
 
-                        switch (alt30) {
+                        switch (alt37) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1440:4: otherlv_12= ',' ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1696:4: otherlv_12= ',' ( ( ruleEString ) )
                     	    {
-                    	    otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleBasicComponent3151); 
+                    	    otherlv_12=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleBasicComponent3767); 
 
                     	        	newLeafNode(otherlv_12, grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1444:1: ( ( ruleEString ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1445:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1700:1: ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1701:1: ( ruleEString )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1445:1: ( ruleEString )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1446:3: ruleEString
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1701:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1702:3: ruleEString
                     	    {
 
                     	    			if (current==null) {
@@ -3682,7 +4307,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	     
                     	    	        newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent3174);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent3790);
                     	    ruleEString();
 
                     	    state._fsp--;
@@ -3701,11 +4326,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop30;
+                    	    break loop37;
                         }
                     } while (true);
 
-                    otherlv_14=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleBasicComponent3188); 
+                    otherlv_14=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleBasicComponent3804); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4());
                         
@@ -3715,7 +4340,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_15=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleBasicComponent3202); 
+            otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent3818); 
 
                 	newLeafNode(otherlv_15, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6());
                 
@@ -3740,7 +4365,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleCompositeComponent"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1475:1: entryRuleCompositeComponent returns [EObject current=null] : iv_ruleCompositeComponent= ruleCompositeComponent EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1731:1: entryRuleCompositeComponent returns [EObject current=null] : iv_ruleCompositeComponent= ruleCompositeComponent EOF ;
     public final EObject entryRuleCompositeComponent() throws RecognitionException {
         EObject current = null;
 
@@ -3748,17 +4373,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1476:2: (iv_ruleCompositeComponent= ruleCompositeComponent EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1477:2: iv_ruleCompositeComponent= ruleCompositeComponent EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1732:2: (iv_ruleCompositeComponent= ruleCompositeComponent EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1733:2: iv_ruleCompositeComponent= ruleCompositeComponent EOF
             {
              newCompositeNode(grammarAccess.getCompositeComponentRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent3238);
+            pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent3854);
             iv_ruleCompositeComponent=ruleCompositeComponent();
 
             state._fsp--;
 
              current =iv_ruleCompositeComponent; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeComponent3248); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeComponent3864); 
 
             }
 
@@ -3776,7 +4401,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleCompositeComponent"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1484:1: ruleCompositeComponent returns [EObject current=null] : (otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1740:1: ruleCompositeComponent returns [EObject current=null] : (otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}' ) ;
     public final EObject ruleCompositeComponent() throws RecognitionException {
         EObject current = null;
 
@@ -3806,26 +4431,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1487:28: ( (otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1488:1: (otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1743:28: ( (otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1744:1: (otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1488:1: (otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1488:3: otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1744:1: (otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1744:3: otherlv_0= 'CompositeComponent' ( (lv_name_1_0= ruleEString ) ) ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )? ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )? otherlv_8= '{' (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )? (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )? otherlv_17= '}'
             {
-            otherlv_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleCompositeComponent3285); 
+            otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleCompositeComponent3901); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1492:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1493:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1748:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1749:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1493:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1494:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1749:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1750:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent3306);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent3922);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -3847,27 +4472,27 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1510:2: ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )?
-            int alt33=2;
-            int LA33_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1766:2: ( ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )* )?
+            int alt40=2;
+            int LA40_0 = input.LA(1);
 
-            if ( (LA33_0==35) ) {
-                alt33=1;
+            if ( (LA40_0==42) ) {
+                alt40=1;
             }
-            switch (alt33) {
+            switch (alt40) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1510:3: ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )*
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1766:3: ( (lv_providedRoles_2_0= ruleProvidedRole ) ) (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )*
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1510:3: ( (lv_providedRoles_2_0= ruleProvidedRole ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1511:1: (lv_providedRoles_2_0= ruleProvidedRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1766:3: ( (lv_providedRoles_2_0= ruleProvidedRole ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1767:1: (lv_providedRoles_2_0= ruleProvidedRole )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1511:1: (lv_providedRoles_2_0= ruleProvidedRole )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1512:3: lv_providedRoles_2_0= ruleProvidedRole
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1767:1: (lv_providedRoles_2_0= ruleProvidedRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1768:3: lv_providedRoles_2_0= ruleProvidedRole
                     {
                      
                     	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_2_0_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleCompositeComponent3328);
+                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleCompositeComponent3944);
                     lv_providedRoles_2_0=ruleProvidedRole();
 
                     state._fsp--;
@@ -3889,35 +4514,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1528:2: (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )*
-                    loop32:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1784:2: (otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) )*
+                    loop39:
                     do {
-                        int alt32=2;
-                        int LA32_0 = input.LA(1);
+                        int alt39=2;
+                        int LA39_0 = input.LA(1);
 
-                        if ( (LA32_0==17) ) {
-                            alt32=1;
+                        if ( (LA39_0==14) ) {
+                            alt39=1;
                         }
 
 
-                        switch (alt32) {
+                        switch (alt39) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1528:4: otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1784:4: otherlv_3= ',' ( (lv_providedRoles_4_0= ruleProvidedRole ) )
                     	    {
-                    	    otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleCompositeComponent3341); 
+                    	    otherlv_3=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleCompositeComponent3957); 
 
                     	        	newLeafNode(otherlv_3, grammarAccess.getCompositeComponentAccess().getCommaKeyword_2_1_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1532:1: ( (lv_providedRoles_4_0= ruleProvidedRole ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1533:1: (lv_providedRoles_4_0= ruleProvidedRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1788:1: ( (lv_providedRoles_4_0= ruleProvidedRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1789:1: (lv_providedRoles_4_0= ruleProvidedRole )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1533:1: (lv_providedRoles_4_0= ruleProvidedRole )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1534:3: lv_providedRoles_4_0= ruleProvidedRole
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1789:1: (lv_providedRoles_4_0= ruleProvidedRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1790:3: lv_providedRoles_4_0= ruleProvidedRole
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_2_1_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleCompositeComponent3362);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleCompositeComponent3978);
                     	    lv_providedRoles_4_0=ruleProvidedRole();
 
                     	    state._fsp--;
@@ -3944,7 +4569,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop32;
+                    	    break loop39;
                         }
                     } while (true);
 
@@ -3954,27 +4579,27 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1550:6: ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )?
-            int alt35=2;
-            int LA35_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1806:6: ( ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )* )?
+            int alt42=2;
+            int LA42_0 = input.LA(1);
 
-            if ( (LA35_0==36) ) {
-                alt35=1;
+            if ( (LA42_0==43) ) {
+                alt42=1;
             }
-            switch (alt35) {
+            switch (alt42) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1550:7: ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )*
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1806:7: ( (lv_requiredRoles_5_0= ruleRequiredRole ) ) (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )*
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1550:7: ( (lv_requiredRoles_5_0= ruleRequiredRole ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1551:1: (lv_requiredRoles_5_0= ruleRequiredRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1806:7: ( (lv_requiredRoles_5_0= ruleRequiredRole ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1807:1: (lv_requiredRoles_5_0= ruleRequiredRole )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1551:1: (lv_requiredRoles_5_0= ruleRequiredRole )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1552:3: lv_requiredRoles_5_0= ruleRequiredRole
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1807:1: (lv_requiredRoles_5_0= ruleRequiredRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1808:3: lv_requiredRoles_5_0= ruleRequiredRole
                     {
                      
                     	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_3_0_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleCompositeComponent3388);
+                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleCompositeComponent4004);
                     lv_requiredRoles_5_0=ruleRequiredRole();
 
                     state._fsp--;
@@ -3996,35 +4621,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1568:2: (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )*
-                    loop34:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1824:2: (otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) ) )*
+                    loop41:
                     do {
-                        int alt34=2;
-                        int LA34_0 = input.LA(1);
+                        int alt41=2;
+                        int LA41_0 = input.LA(1);
 
-                        if ( (LA34_0==17) ) {
-                            alt34=1;
+                        if ( (LA41_0==14) ) {
+                            alt41=1;
                         }
 
 
-                        switch (alt34) {
+                        switch (alt41) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1568:4: otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1824:4: otherlv_6= ',' ( (lv_requiredRoles_7_0= ruleRequiredRole ) )
                     	    {
-                    	    otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleCompositeComponent3401); 
+                    	    otherlv_6=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleCompositeComponent4017); 
 
                     	        	newLeafNode(otherlv_6, grammarAccess.getCompositeComponentAccess().getCommaKeyword_3_1_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1572:1: ( (lv_requiredRoles_7_0= ruleRequiredRole ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1573:1: (lv_requiredRoles_7_0= ruleRequiredRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1828:1: ( (lv_requiredRoles_7_0= ruleRequiredRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1829:1: (lv_requiredRoles_7_0= ruleRequiredRole )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1573:1: (lv_requiredRoles_7_0= ruleRequiredRole )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1574:3: lv_requiredRoles_7_0= ruleRequiredRole
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1829:1: (lv_requiredRoles_7_0= ruleRequiredRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1830:3: lv_requiredRoles_7_0= ruleRequiredRole
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_3_1_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleCompositeComponent3422);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleCompositeComponent4038);
                     	    lv_requiredRoles_7_0=ruleRequiredRole();
 
                     	    state._fsp--;
@@ -4051,7 +4676,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop34;
+                    	    break loop41;
                         }
                     } while (true);
 
@@ -4061,34 +4686,34 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent3438); 
+            otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent4054); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_4());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1594:1: (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )?
-            int alt37=2;
-            int LA37_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1850:1: (otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')' )?
+            int alt44=2;
+            int LA44_0 = input.LA(1);
 
-            if ( (LA37_0==21) ) {
-                alt37=1;
+            if ( (LA44_0==28) ) {
+                alt44=1;
             }
-            switch (alt37) {
+            switch (alt44) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1594:3: otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1850:3: otherlv_9= 'relationship' otherlv_10= '(' ( ( ruleEString ) ) (otherlv_12= ',' ( ( ruleEString ) ) )* otherlv_14= ')'
                     {
-                    otherlv_9=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleCompositeComponent3451); 
+                    otherlv_9=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleCompositeComponent4067); 
 
                         	newLeafNode(otherlv_9, grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0());
                         
-                    otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent3463); 
+                    otherlv_10=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleCompositeComponent4079); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1602:1: ( ( ruleEString ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1603:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1858:1: ( ( ruleEString ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1859:1: ( ruleEString )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1603:1: ( ruleEString )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1604:3: ruleEString
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1859:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1860:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -4098,7 +4723,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                      
                     	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent3486);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent4102);
                     ruleEString();
 
                     state._fsp--;
@@ -4112,30 +4737,30 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1617:2: (otherlv_12= ',' ( ( ruleEString ) ) )*
-                    loop36:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1873:2: (otherlv_12= ',' ( ( ruleEString ) ) )*
+                    loop43:
                     do {
-                        int alt36=2;
-                        int LA36_0 = input.LA(1);
+                        int alt43=2;
+                        int LA43_0 = input.LA(1);
 
-                        if ( (LA36_0==17) ) {
-                            alt36=1;
+                        if ( (LA43_0==14) ) {
+                            alt43=1;
                         }
 
 
-                        switch (alt36) {
+                        switch (alt43) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1617:4: otherlv_12= ',' ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1873:4: otherlv_12= ',' ( ( ruleEString ) )
                     	    {
-                    	    otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleCompositeComponent3499); 
+                    	    otherlv_12=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleCompositeComponent4115); 
 
                     	        	newLeafNode(otherlv_12, grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1621:1: ( ( ruleEString ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1622:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1877:1: ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1878:1: ( ruleEString )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1622:1: ( ruleEString )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1623:3: ruleEString
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1878:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1879:3: ruleEString
                     	    {
 
                     	    			if (current==null) {
@@ -4145,7 +4770,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	     
                     	    	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent3522);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent4138);
                     	    ruleEString();
 
                     	    state._fsp--;
@@ -4164,11 +4789,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop36;
+                    	    break loop43;
                         }
                     } while (true);
 
-                    otherlv_14=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleCompositeComponent3536); 
+                    otherlv_14=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleCompositeComponent4152); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4());
                         
@@ -4178,31 +4803,31 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1640:3: (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )?
-            int alt38=2;
-            int LA38_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1896:3: (otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) ) )?
+            int alt45=2;
+            int LA45_0 = input.LA(1);
 
-            if ( (LA38_0==39) ) {
-                alt38=1;
+            if ( (LA45_0==46) ) {
+                alt45=1;
             }
-            switch (alt38) {
+            switch (alt45) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1640:5: otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1896:5: otherlv_15= 'assembly' ( (lv_assembly_16_0= ruleComposedStructureAssembly ) )
                     {
-                    otherlv_15=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleCompositeComponent3551); 
+                    otherlv_15=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleCompositeComponent4167); 
 
                         	newLeafNode(otherlv_15, grammarAccess.getCompositeComponentAccess().getAssemblyKeyword_6_0());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1644:1: ( (lv_assembly_16_0= ruleComposedStructureAssembly ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1645:1: (lv_assembly_16_0= ruleComposedStructureAssembly )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1900:1: ( (lv_assembly_16_0= ruleComposedStructureAssembly ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1901:1: (lv_assembly_16_0= ruleComposedStructureAssembly )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1645:1: (lv_assembly_16_0= ruleComposedStructureAssembly )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1646:3: lv_assembly_16_0= ruleComposedStructureAssembly
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1901:1: (lv_assembly_16_0= ruleComposedStructureAssembly )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1902:3: lv_assembly_16_0= ruleComposedStructureAssembly
                     {
                      
                     	        newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyComposedStructureAssemblyParserRuleCall_6_1_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_ruleCompositeComponent3572);
+                    pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_ruleCompositeComponent4188);
                     lv_assembly_16_0=ruleComposedStructureAssembly();
 
                     state._fsp--;
@@ -4230,7 +4855,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_17=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCompositeComponent3586); 
+            otherlv_17=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent4202); 
 
                 	newLeafNode(otherlv_17, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7());
                 
@@ -4255,7 +4880,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleSubSystem"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1674:1: entryRuleSubSystem returns [EObject current=null] : iv_ruleSubSystem= ruleSubSystem EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1930:1: entryRuleSubSystem returns [EObject current=null] : iv_ruleSubSystem= ruleSubSystem EOF ;
     public final EObject entryRuleSubSystem() throws RecognitionException {
         EObject current = null;
 
@@ -4263,17 +4888,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1675:2: (iv_ruleSubSystem= ruleSubSystem EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1676:2: iv_ruleSubSystem= ruleSubSystem EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1931:2: (iv_ruleSubSystem= ruleSubSystem EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1932:2: iv_ruleSubSystem= ruleSubSystem EOF
             {
              newCompositeNode(grammarAccess.getSubSystemRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_entryRuleSubSystem3622);
+            pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_entryRuleSubSystem4238);
             iv_ruleSubSystem=ruleSubSystem();
 
             state._fsp--;
 
              current =iv_ruleSubSystem; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSubSystem3632); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSubSystem4248); 
 
             }
 
@@ -4291,7 +4916,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleSubSystem"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1683:1: ruleSubSystem returns [EObject current=null] : (otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1939:1: ruleSubSystem returns [EObject current=null] : (otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}' ) ;
     public final EObject ruleSubSystem() throws RecognitionException {
         EObject current = null;
 
@@ -4327,26 +4952,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1686:28: ( (otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1687:1: (otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1942:28: ( (otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1943:1: (otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1687:1: (otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1687:3: otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1943:1: (otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1943:3: otherlv_0= 'SubSystem' ( (lv_name_1_0= ruleEString ) ) (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )? (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )? otherlv_14= '{' (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )? (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )? otherlv_23= '}'
             {
-            otherlv_0=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleSubSystem3669); 
+            otherlv_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleSubSystem4285); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSubSystemAccess().getSubSystemKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1691:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1692:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1947:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1948:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1692:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1693:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1948:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1949:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem3690);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem4306);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -4368,35 +4993,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1709:2: (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )?
-            int alt40=2;
-            int LA40_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1965:2: (otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}' )?
+            int alt47=2;
+            int LA47_0 = input.LA(1);
 
-            if ( (LA40_0==22) ) {
-                alt40=1;
+            if ( (LA47_0==29) ) {
+                alt47=1;
             }
-            switch (alt40) {
+            switch (alt47) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1709:4: otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1965:4: otherlv_2= 'providedRoles' otherlv_3= '{' ( (lv_providedRoles_4_0= ruleProvidedRole ) ) (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )* otherlv_7= '}'
                     {
-                    otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleSubSystem3703); 
+                    otherlv_2=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleSubSystem4319); 
 
                         	newLeafNode(otherlv_2, grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_2_0());
                         
-                    otherlv_3=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem3715); 
+                    otherlv_3=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem4331); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1717:1: ( (lv_providedRoles_4_0= ruleProvidedRole ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1718:1: (lv_providedRoles_4_0= ruleProvidedRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1973:1: ( (lv_providedRoles_4_0= ruleProvidedRole ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1974:1: (lv_providedRoles_4_0= ruleProvidedRole )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1718:1: (lv_providedRoles_4_0= ruleProvidedRole )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1719:3: lv_providedRoles_4_0= ruleProvidedRole
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1974:1: (lv_providedRoles_4_0= ruleProvidedRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1975:3: lv_providedRoles_4_0= ruleProvidedRole
                     {
                      
                     	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_2_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleSubSystem3736);
+                    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleSubSystem4352);
                     lv_providedRoles_4_0=ruleProvidedRole();
 
                     state._fsp--;
@@ -4418,35 +5043,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1735:2: (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )*
-                    loop39:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1991:2: (otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) ) )*
+                    loop46:
                     do {
-                        int alt39=2;
-                        int LA39_0 = input.LA(1);
+                        int alt46=2;
+                        int LA46_0 = input.LA(1);
 
-                        if ( (LA39_0==17) ) {
-                            alt39=1;
+                        if ( (LA46_0==14) ) {
+                            alt46=1;
                         }
 
 
-                        switch (alt39) {
+                        switch (alt46) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1735:4: otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1991:4: otherlv_5= ',' ( (lv_providedRoles_6_0= ruleProvidedRole ) )
                     	    {
-                    	    otherlv_5=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleSubSystem3749); 
+                    	    otherlv_5=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleSubSystem4365); 
 
                     	        	newLeafNode(otherlv_5, grammarAccess.getSubSystemAccess().getCommaKeyword_2_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1739:1: ( (lv_providedRoles_6_0= ruleProvidedRole ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1740:1: (lv_providedRoles_6_0= ruleProvidedRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1995:1: ( (lv_providedRoles_6_0= ruleProvidedRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1996:1: (lv_providedRoles_6_0= ruleProvidedRole )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1740:1: (lv_providedRoles_6_0= ruleProvidedRole )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1741:3: lv_providedRoles_6_0= ruleProvidedRole
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1996:1: (lv_providedRoles_6_0= ruleProvidedRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1997:3: lv_providedRoles_6_0= ruleProvidedRole
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_2_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleSubSystem3770);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleSubSystem4386);
                     	    lv_providedRoles_6_0=ruleProvidedRole();
 
                     	    state._fsp--;
@@ -4473,11 +5098,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop39;
+                    	    break loop46;
                         }
                     } while (true);
 
-                    otherlv_7=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSubSystem3784); 
+                    otherlv_7=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem4400); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_2_4());
                         
@@ -4487,35 +5112,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1761:3: (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )?
-            int alt42=2;
-            int LA42_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2017:3: (otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}' )?
+            int alt49=2;
+            int LA49_0 = input.LA(1);
 
-            if ( (LA42_0==23) ) {
-                alt42=1;
+            if ( (LA49_0==30) ) {
+                alt49=1;
             }
-            switch (alt42) {
+            switch (alt49) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1761:5: otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2017:5: otherlv_8= 'requiredRoles' otherlv_9= '{' ( (lv_requiredRoles_10_0= ruleRequiredRole ) ) (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )* otherlv_13= '}'
                     {
-                    otherlv_8=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleSubSystem3799); 
+                    otherlv_8=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleSubSystem4415); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_3_0());
                         
-                    otherlv_9=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem3811); 
+                    otherlv_9=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem4427); 
 
                         	newLeafNode(otherlv_9, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_3_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1769:1: ( (lv_requiredRoles_10_0= ruleRequiredRole ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1770:1: (lv_requiredRoles_10_0= ruleRequiredRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2025:1: ( (lv_requiredRoles_10_0= ruleRequiredRole ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2026:1: (lv_requiredRoles_10_0= ruleRequiredRole )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1770:1: (lv_requiredRoles_10_0= ruleRequiredRole )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1771:3: lv_requiredRoles_10_0= ruleRequiredRole
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2026:1: (lv_requiredRoles_10_0= ruleRequiredRole )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2027:3: lv_requiredRoles_10_0= ruleRequiredRole
                     {
                      
                     	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_3_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleSubSystem3832);
+                    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleSubSystem4448);
                     lv_requiredRoles_10_0=ruleRequiredRole();
 
                     state._fsp--;
@@ -4537,35 +5162,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1787:2: (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )*
-                    loop41:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2043:2: (otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) ) )*
+                    loop48:
                     do {
-                        int alt41=2;
-                        int LA41_0 = input.LA(1);
+                        int alt48=2;
+                        int LA48_0 = input.LA(1);
 
-                        if ( (LA41_0==17) ) {
-                            alt41=1;
+                        if ( (LA48_0==14) ) {
+                            alt48=1;
                         }
 
 
-                        switch (alt41) {
+                        switch (alt48) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1787:4: otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2043:4: otherlv_11= ',' ( (lv_requiredRoles_12_0= ruleRequiredRole ) )
                     	    {
-                    	    otherlv_11=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleSubSystem3845); 
+                    	    otherlv_11=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleSubSystem4461); 
 
                     	        	newLeafNode(otherlv_11, grammarAccess.getSubSystemAccess().getCommaKeyword_3_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1791:1: ( (lv_requiredRoles_12_0= ruleRequiredRole ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1792:1: (lv_requiredRoles_12_0= ruleRequiredRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2047:1: ( (lv_requiredRoles_12_0= ruleRequiredRole ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2048:1: (lv_requiredRoles_12_0= ruleRequiredRole )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1792:1: (lv_requiredRoles_12_0= ruleRequiredRole )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1793:3: lv_requiredRoles_12_0= ruleRequiredRole
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2048:1: (lv_requiredRoles_12_0= ruleRequiredRole )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2049:3: lv_requiredRoles_12_0= ruleRequiredRole
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_3_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleSubSystem3866);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleSubSystem4482);
                     	    lv_requiredRoles_12_0=ruleRequiredRole();
 
                     	    state._fsp--;
@@ -4592,11 +5217,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop41;
+                    	    break loop48;
                         }
                     } while (true);
 
-                    otherlv_13=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSubSystem3880); 
+                    otherlv_13=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem4496); 
 
                         	newLeafNode(otherlv_13, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_3_4());
                         
@@ -4606,34 +5231,34 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_14=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem3894); 
+            otherlv_14=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem4510); 
 
                 	newLeafNode(otherlv_14, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_4());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1817:1: (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )?
-            int alt44=2;
-            int LA44_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2073:1: (otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')' )?
+            int alt51=2;
+            int LA51_0 = input.LA(1);
 
-            if ( (LA44_0==21) ) {
-                alt44=1;
+            if ( (LA51_0==28) ) {
+                alt51=1;
             }
-            switch (alt44) {
+            switch (alt51) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1817:3: otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2073:3: otherlv_15= 'relationship' otherlv_16= '(' ( ( ruleEString ) ) (otherlv_18= ',' ( ( ruleEString ) ) )* otherlv_20= ')'
                     {
-                    otherlv_15=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleSubSystem3907); 
+                    otherlv_15=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleSubSystem4523); 
 
                         	newLeafNode(otherlv_15, grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0());
                         
-                    otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem3919); 
+                    otherlv_16=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleSubSystem4535); 
 
                         	newLeafNode(otherlv_16, grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1825:1: ( ( ruleEString ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1826:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2081:1: ( ( ruleEString ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2082:1: ( ruleEString )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1826:1: ( ruleEString )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1827:3: ruleEString
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2082:1: ( ruleEString )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2083:3: ruleEString
                     {
 
                     			if (current==null) {
@@ -4643,7 +5268,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                      
                     	        newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem3942);
+                    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem4558);
                     ruleEString();
 
                     state._fsp--;
@@ -4657,30 +5282,30 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1840:2: (otherlv_18= ',' ( ( ruleEString ) ) )*
-                    loop43:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2096:2: (otherlv_18= ',' ( ( ruleEString ) ) )*
+                    loop50:
                     do {
-                        int alt43=2;
-                        int LA43_0 = input.LA(1);
+                        int alt50=2;
+                        int LA50_0 = input.LA(1);
 
-                        if ( (LA43_0==17) ) {
-                            alt43=1;
+                        if ( (LA50_0==14) ) {
+                            alt50=1;
                         }
 
 
-                        switch (alt43) {
+                        switch (alt50) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1840:4: otherlv_18= ',' ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2096:4: otherlv_18= ',' ( ( ruleEString ) )
                     	    {
-                    	    otherlv_18=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleSubSystem3955); 
+                    	    otherlv_18=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleSubSystem4571); 
 
                     	        	newLeafNode(otherlv_18, grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1844:1: ( ( ruleEString ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1845:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2100:1: ( ( ruleEString ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2101:1: ( ruleEString )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1845:1: ( ruleEString )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1846:3: ruleEString
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2101:1: ( ruleEString )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2102:3: ruleEString
                     	    {
 
                     	    			if (current==null) {
@@ -4690,7 +5315,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	     
                     	    	        newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem3978);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem4594);
                     	    ruleEString();
 
                     	    state._fsp--;
@@ -4709,11 +5334,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop43;
+                    	    break loop50;
                         }
                     } while (true);
 
-                    otherlv_20=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleSubSystem3992); 
+                    otherlv_20=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleSubSystem4608); 
 
                         	newLeafNode(otherlv_20, grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4());
                         
@@ -4723,31 +5348,31 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1863:3: (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )?
-            int alt45=2;
-            int LA45_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2119:3: (otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) ) )?
+            int alt52=2;
+            int LA52_0 = input.LA(1);
 
-            if ( (LA45_0==39) ) {
-                alt45=1;
+            if ( (LA52_0==46) ) {
+                alt52=1;
             }
-            switch (alt45) {
+            switch (alt52) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1863:5: otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2119:5: otherlv_21= 'assembly' ( (lv_assembly_22_0= ruleComposedStructureAssembly ) )
                     {
-                    otherlv_21=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleSubSystem4007); 
+                    otherlv_21=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleSubSystem4623); 
 
                         	newLeafNode(otherlv_21, grammarAccess.getSubSystemAccess().getAssemblyKeyword_6_0());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1867:1: ( (lv_assembly_22_0= ruleComposedStructureAssembly ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1868:1: (lv_assembly_22_0= ruleComposedStructureAssembly )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2123:1: ( (lv_assembly_22_0= ruleComposedStructureAssembly ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2124:1: (lv_assembly_22_0= ruleComposedStructureAssembly )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1868:1: (lv_assembly_22_0= ruleComposedStructureAssembly )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1869:3: lv_assembly_22_0= ruleComposedStructureAssembly
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2124:1: (lv_assembly_22_0= ruleComposedStructureAssembly )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2125:3: lv_assembly_22_0= ruleComposedStructureAssembly
                     {
                      
                     	        newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyComposedStructureAssemblyParserRuleCall_6_1_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_ruleSubSystem4028);
+                    pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_ruleSubSystem4644);
                     lv_assembly_22_0=ruleComposedStructureAssembly();
 
                     state._fsp--;
@@ -4775,7 +5400,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_23=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSubSystem4042); 
+            otherlv_23=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem4658); 
 
                 	newLeafNode(otherlv_23, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7());
                 
@@ -4800,7 +5425,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleComposedStructureAssembly"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1897:1: entryRuleComposedStructureAssembly returns [EObject current=null] : iv_ruleComposedStructureAssembly= ruleComposedStructureAssembly EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2153:1: entryRuleComposedStructureAssembly returns [EObject current=null] : iv_ruleComposedStructureAssembly= ruleComposedStructureAssembly EOF ;
     public final EObject entryRuleComposedStructureAssembly() throws RecognitionException {
         EObject current = null;
 
@@ -4808,17 +5433,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1898:2: (iv_ruleComposedStructureAssembly= ruleComposedStructureAssembly EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1899:2: iv_ruleComposedStructureAssembly= ruleComposedStructureAssembly EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2154:2: (iv_ruleComposedStructureAssembly= ruleComposedStructureAssembly EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2155:2: iv_ruleComposedStructureAssembly= ruleComposedStructureAssembly EOF
             {
              newCompositeNode(grammarAccess.getComposedStructureAssemblyRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_entryRuleComposedStructureAssembly4078);
+            pushFollow(FollowSets000.FOLLOW_ruleComposedStructureAssembly_in_entryRuleComposedStructureAssembly4694);
             iv_ruleComposedStructureAssembly=ruleComposedStructureAssembly();
 
             state._fsp--;
 
              current =iv_ruleComposedStructureAssembly; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComposedStructureAssembly4088); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComposedStructureAssembly4704); 
 
             }
 
@@ -4836,7 +5461,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleComposedStructureAssembly"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1906:1: ruleComposedStructureAssembly returns [EObject current=null] : ( () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2162:1: ruleComposedStructureAssembly returns [EObject current=null] : ( () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}' ) ;
     public final EObject ruleComposedStructureAssembly() throws RecognitionException {
         EObject current = null;
 
@@ -4879,14 +5504,14 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1909:28: ( ( () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1910:1: ( () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2165:28: ( ( () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2166:1: ( () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1910:1: ( () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1910:2: () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2166:1: ( () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2166:2: () otherlv_1= 'ComposedStructureAssembly' otherlv_2= '{' (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )? (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )? (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )? (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )? otherlv_27= '}'
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1910:2: ()
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1911:5: 
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2166:2: ()
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2167:5: 
             {
 
                     current = forceCreateModelElement(
@@ -4896,43 +5521,43 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_1=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleComposedStructureAssembly4134); 
+            otherlv_1=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleComposedStructureAssembly4750); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getComposedStructureAssemblyAccess().getComposedStructureAssemblyKeyword_1());
                 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4146); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4762); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_2());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1924:1: (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )?
-            int alt47=2;
-            int LA47_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2180:1: (otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}' )?
+            int alt54=2;
+            int LA54_0 = input.LA(1);
 
-            if ( (LA47_0==42) ) {
-                alt47=1;
+            if ( (LA54_0==49) ) {
+                alt54=1;
             }
-            switch (alt47) {
+            switch (alt54) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1924:3: otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2180:3: otherlv_3= 'assemblyContexts' otherlv_4= '{' ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) ) (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )* otherlv_8= '}'
                     {
-                    otherlv_3=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleComposedStructureAssembly4159); 
+                    otherlv_3=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleComposedStructureAssembly4775); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsKeyword_3_0());
                         
-                    otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4171); 
+                    otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4787); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_3_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1932:1: ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1933:1: (lv_assemblyContexts_5_0= ruleAssemblyContext )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2188:1: ( (lv_assemblyContexts_5_0= ruleAssemblyContext ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2189:1: (lv_assemblyContexts_5_0= ruleAssemblyContext )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1933:1: (lv_assemblyContexts_5_0= ruleAssemblyContext )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1934:3: lv_assemblyContexts_5_0= ruleAssemblyContext
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2189:1: (lv_assemblyContexts_5_0= ruleAssemblyContext )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2190:3: lv_assemblyContexts_5_0= ruleAssemblyContext
                     {
                      
                     	        newCompositeNode(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsAssemblyContextParserRuleCall_3_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleComposedStructureAssembly4192);
+                    pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleComposedStructureAssembly4808);
                     lv_assemblyContexts_5_0=ruleAssemblyContext();
 
                     state._fsp--;
@@ -4954,35 +5579,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1950:2: (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )*
-                    loop46:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2206:2: (otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) ) )*
+                    loop53:
                     do {
-                        int alt46=2;
-                        int LA46_0 = input.LA(1);
+                        int alt53=2;
+                        int LA53_0 = input.LA(1);
 
-                        if ( (LA46_0==17) ) {
-                            alt46=1;
+                        if ( (LA53_0==14) ) {
+                            alt53=1;
                         }
 
 
-                        switch (alt46) {
+                        switch (alt53) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1950:4: otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2206:4: otherlv_6= ',' ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) )
                     	    {
-                    	    otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleComposedStructureAssembly4205); 
+                    	    otherlv_6=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleComposedStructureAssembly4821); 
 
                     	        	newLeafNode(otherlv_6, grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_3_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1954:1: ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1955:1: (lv_assemblyContexts_7_0= ruleAssemblyContext )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2210:1: ( (lv_assemblyContexts_7_0= ruleAssemblyContext ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2211:1: (lv_assemblyContexts_7_0= ruleAssemblyContext )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1955:1: (lv_assemblyContexts_7_0= ruleAssemblyContext )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1956:3: lv_assemblyContexts_7_0= ruleAssemblyContext
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2211:1: (lv_assemblyContexts_7_0= ruleAssemblyContext )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2212:3: lv_assemblyContexts_7_0= ruleAssemblyContext
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyContextsAssemblyContextParserRuleCall_3_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleComposedStructureAssembly4226);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleComposedStructureAssembly4842);
                     	    lv_assemblyContexts_7_0=ruleAssemblyContext();
 
                     	    state._fsp--;
@@ -5009,11 +5634,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop46;
+                    	    break loop53;
                         }
                     } while (true);
 
-                    otherlv_8=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleComposedStructureAssembly4240); 
+                    otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComposedStructureAssembly4856); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_3_4());
                         
@@ -5023,35 +5648,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1976:3: (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )?
-            int alt49=2;
-            int LA49_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2232:3: (otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}' )?
+            int alt56=2;
+            int LA56_0 = input.LA(1);
 
-            if ( (LA49_0==43) ) {
-                alt49=1;
+            if ( (LA56_0==50) ) {
+                alt56=1;
             }
-            switch (alt49) {
+            switch (alt56) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1976:5: otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2232:5: otherlv_9= 'assemblyConnectors' otherlv_10= '{' ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) ) (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )* otherlv_14= '}'
                     {
-                    otherlv_9=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleComposedStructureAssembly4255); 
+                    otherlv_9=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleComposedStructureAssembly4871); 
 
                         	newLeafNode(otherlv_9, grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsKeyword_4_0());
                         
-                    otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4267); 
+                    otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4883); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_4_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1984:1: ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1985:1: (lv_assemblyConnectors_11_0= ruleAssemblyConnector )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2240:1: ( (lv_assemblyConnectors_11_0= ruleAssemblyConnector ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2241:1: (lv_assemblyConnectors_11_0= ruleAssemblyConnector )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1985:1: (lv_assemblyConnectors_11_0= ruleAssemblyConnector )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:1986:3: lv_assemblyConnectors_11_0= ruleAssemblyConnector
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2241:1: (lv_assemblyConnectors_11_0= ruleAssemblyConnector )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2242:3: lv_assemblyConnectors_11_0= ruleAssemblyConnector
                     {
                      
                     	        newCompositeNode(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_4_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleComposedStructureAssembly4288);
+                    pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleComposedStructureAssembly4904);
                     lv_assemblyConnectors_11_0=ruleAssemblyConnector();
 
                     state._fsp--;
@@ -5073,35 +5698,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2002:2: (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )*
-                    loop48:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2258:2: (otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) ) )*
+                    loop55:
                     do {
-                        int alt48=2;
-                        int LA48_0 = input.LA(1);
+                        int alt55=2;
+                        int LA55_0 = input.LA(1);
 
-                        if ( (LA48_0==17) ) {
-                            alt48=1;
+                        if ( (LA55_0==14) ) {
+                            alt55=1;
                         }
 
 
-                        switch (alt48) {
+                        switch (alt55) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2002:4: otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2258:4: otherlv_12= ',' ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) )
                     	    {
-                    	    otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleComposedStructureAssembly4301); 
+                    	    otherlv_12=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleComposedStructureAssembly4917); 
 
                     	        	newLeafNode(otherlv_12, grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_4_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2006:1: ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2007:1: (lv_assemblyConnectors_13_0= ruleAssemblyConnector )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2262:1: ( (lv_assemblyConnectors_13_0= ruleAssemblyConnector ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2263:1: (lv_assemblyConnectors_13_0= ruleAssemblyConnector )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2007:1: (lv_assemblyConnectors_13_0= ruleAssemblyConnector )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2008:3: lv_assemblyConnectors_13_0= ruleAssemblyConnector
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2263:1: (lv_assemblyConnectors_13_0= ruleAssemblyConnector )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2264:3: lv_assemblyConnectors_13_0= ruleAssemblyConnector
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getComposedStructureAssemblyAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_4_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleComposedStructureAssembly4322);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleComposedStructureAssembly4938);
                     	    lv_assemblyConnectors_13_0=ruleAssemblyConnector();
 
                     	    state._fsp--;
@@ -5128,11 +5753,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop48;
+                    	    break loop55;
                         }
                     } while (true);
 
-                    otherlv_14=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleComposedStructureAssembly4336); 
+                    otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComposedStructureAssembly4952); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_4_4());
                         
@@ -5142,35 +5767,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2028:3: (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )?
-            int alt51=2;
-            int LA51_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2284:3: (otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}' )?
+            int alt58=2;
+            int LA58_0 = input.LA(1);
 
-            if ( (LA51_0==44) ) {
-                alt51=1;
+            if ( (LA58_0==51) ) {
+                alt58=1;
             }
-            switch (alt51) {
+            switch (alt58) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2028:5: otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2284:5: otherlv_15= 'providedDelegationConnectors' otherlv_16= '{' ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) ) (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )* otherlv_20= '}'
                     {
-                    otherlv_15=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleComposedStructureAssembly4351); 
+                    otherlv_15=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleComposedStructureAssembly4967); 
 
                         	newLeafNode(otherlv_15, grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsKeyword_5_0());
                         
-                    otherlv_16=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4363); 
+                    otherlv_16=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4979); 
 
                         	newLeafNode(otherlv_16, grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_5_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2036:1: ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2037:1: (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2292:1: ( (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2293:1: (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2037:1: (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2038:3: lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2293:1: (lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2294:3: lv_providedDelegationConnectors_17_0= ruleProvidedDelegationConnector
                     {
                      
                     	        newCompositeNode(grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_5_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleComposedStructureAssembly4384);
+                    pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleComposedStructureAssembly5000);
                     lv_providedDelegationConnectors_17_0=ruleProvidedDelegationConnector();
 
                     state._fsp--;
@@ -5192,35 +5817,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2054:2: (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )*
-                    loop50:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2310:2: (otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) ) )*
+                    loop57:
                     do {
-                        int alt50=2;
-                        int LA50_0 = input.LA(1);
+                        int alt57=2;
+                        int LA57_0 = input.LA(1);
 
-                        if ( (LA50_0==17) ) {
-                            alt50=1;
+                        if ( (LA57_0==14) ) {
+                            alt57=1;
                         }
 
 
-                        switch (alt50) {
+                        switch (alt57) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2054:4: otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2310:4: otherlv_18= ',' ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) )
                     	    {
-                    	    otherlv_18=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleComposedStructureAssembly4397); 
+                    	    otherlv_18=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleComposedStructureAssembly5013); 
 
                     	        	newLeafNode(otherlv_18, grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_5_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2058:1: ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2059:1: (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2314:1: ( (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2315:1: (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2059:1: (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2060:3: lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2315:1: (lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2316:3: lv_providedDelegationConnectors_19_0= ruleProvidedDelegationConnector
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getComposedStructureAssemblyAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_5_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleComposedStructureAssembly4418);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleComposedStructureAssembly5034);
                     	    lv_providedDelegationConnectors_19_0=ruleProvidedDelegationConnector();
 
                     	    state._fsp--;
@@ -5247,11 +5872,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop50;
+                    	    break loop57;
                         }
                     } while (true);
 
-                    otherlv_20=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleComposedStructureAssembly4432); 
+                    otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComposedStructureAssembly5048); 
 
                         	newLeafNode(otherlv_20, grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_5_4());
                         
@@ -5261,35 +5886,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2080:3: (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )?
-            int alt53=2;
-            int LA53_0 = input.LA(1);
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2336:3: (otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}' )?
+            int alt60=2;
+            int LA60_0 = input.LA(1);
 
-            if ( (LA53_0==45) ) {
-                alt53=1;
+            if ( (LA60_0==52) ) {
+                alt60=1;
             }
-            switch (alt53) {
+            switch (alt60) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2080:5: otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2336:5: otherlv_21= 'requiredDelegationConnectors' otherlv_22= '{' ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) ) (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )* otherlv_26= '}'
                     {
-                    otherlv_21=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleComposedStructureAssembly4447); 
+                    otherlv_21=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleComposedStructureAssembly5063); 
 
                         	newLeafNode(otherlv_21, grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsKeyword_6_0());
                         
-                    otherlv_22=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly4459); 
+                    otherlv_22=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComposedStructureAssembly5075); 
 
                         	newLeafNode(otherlv_22, grammarAccess.getComposedStructureAssemblyAccess().getLeftCurlyBracketKeyword_6_1());
                         
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2088:1: ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2089:1: (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2344:1: ( (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector ) )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2345:1: (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2089:1: (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2090:3: lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2345:1: (lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2346:3: lv_requiredDelegationConnectors_23_0= ruleRequiredDelegationConnector
                     {
                      
                     	        newCompositeNode(grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_6_2_0()); 
                     	    
-                    pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleComposedStructureAssembly4480);
+                    pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleComposedStructureAssembly5096);
                     lv_requiredDelegationConnectors_23_0=ruleRequiredDelegationConnector();
 
                     state._fsp--;
@@ -5311,35 +5936,35 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
                     }
 
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2106:2: (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )*
-                    loop52:
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2362:2: (otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) ) )*
+                    loop59:
                     do {
-                        int alt52=2;
-                        int LA52_0 = input.LA(1);
+                        int alt59=2;
+                        int LA59_0 = input.LA(1);
 
-                        if ( (LA52_0==17) ) {
-                            alt52=1;
+                        if ( (LA59_0==14) ) {
+                            alt59=1;
                         }
 
 
-                        switch (alt52) {
+                        switch (alt59) {
                     	case 1 :
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2106:4: otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2362:4: otherlv_24= ',' ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) )
                     	    {
-                    	    otherlv_24=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleComposedStructureAssembly4493); 
+                    	    otherlv_24=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleComposedStructureAssembly5109); 
 
                     	        	newLeafNode(otherlv_24, grammarAccess.getComposedStructureAssemblyAccess().getCommaKeyword_6_3_0());
                     	        
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2110:1: ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2111:1: (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2366:1: ( (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector ) )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2367:1: (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector )
                     	    {
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2111:1: (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector )
-                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2112:3: lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2367:1: (lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector )
+                    	    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2368:3: lv_requiredDelegationConnectors_25_0= ruleRequiredDelegationConnector
                     	    {
                     	     
                     	    	        newCompositeNode(grammarAccess.getComposedStructureAssemblyAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_6_3_1_0()); 
                     	    	    
-                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleComposedStructureAssembly4514);
+                    	    pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleComposedStructureAssembly5130);
                     	    lv_requiredDelegationConnectors_25_0=ruleRequiredDelegationConnector();
 
                     	    state._fsp--;
@@ -5366,11 +5991,11 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     	    break;
 
                     	default :
-                    	    break loop52;
+                    	    break loop59;
                         }
                     } while (true);
 
-                    otherlv_26=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleComposedStructureAssembly4528); 
+                    otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComposedStructureAssembly5144); 
 
                         	newLeafNode(otherlv_26, grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_6_4());
                         
@@ -5380,7 +6005,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_27=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleComposedStructureAssembly4542); 
+            otherlv_27=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComposedStructureAssembly5158); 
 
                 	newLeafNode(otherlv_27, grammarAccess.getComposedStructureAssemblyAccess().getRightCurlyBracketKeyword_7());
                 
@@ -5405,7 +6030,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleAssemblyContext"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2144:1: entryRuleAssemblyContext returns [EObject current=null] : iv_ruleAssemblyContext= ruleAssemblyContext EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2400:1: entryRuleAssemblyContext returns [EObject current=null] : iv_ruleAssemblyContext= ruleAssemblyContext EOF ;
     public final EObject entryRuleAssemblyContext() throws RecognitionException {
         EObject current = null;
 
@@ -5413,17 +6038,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2145:2: (iv_ruleAssemblyContext= ruleAssemblyContext EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2146:2: iv_ruleAssemblyContext= ruleAssemblyContext EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2401:2: (iv_ruleAssemblyContext= ruleAssemblyContext EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2402:2: iv_ruleAssemblyContext= ruleAssemblyContext EOF
             {
              newCompositeNode(grammarAccess.getAssemblyContextRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext4578);
+            pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext5194);
             iv_ruleAssemblyContext=ruleAssemblyContext();
 
             state._fsp--;
 
              current =iv_ruleAssemblyContext; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyContext4588); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyContext5204); 
 
             }
 
@@ -5441,7 +6066,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleAssemblyContext"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2153:1: ruleAssemblyContext returns [EObject current=null] : (otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2409:1: ruleAssemblyContext returns [EObject current=null] : (otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}' ) ;
     public final EObject ruleAssemblyContext() throws RecognitionException {
         EObject current = null;
 
@@ -5455,26 +6080,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2156:28: ( (otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2157:1: (otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2412:28: ( (otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2413:1: (otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2157:1: (otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2157:3: otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2413:1: (otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2413:3: otherlv_0= 'AssemblyContext' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_5= '}'
             {
-            otherlv_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleAssemblyContext4625); 
+            otherlv_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleAssemblyContext5241); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2161:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2162:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2417:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2418:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2162:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2163:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2418:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2419:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext4646);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext5262);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -5496,19 +6121,19 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAssemblyContext4658); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAssemblyContext5274); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleAssemblyContext4670); 
+            otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleAssemblyContext5286); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_3());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2187:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2188:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2443:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2444:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2188:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2189:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2444:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2445:3: ruleEString
             {
 
             			if (current==null) {
@@ -5518,7 +6143,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_4_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext4693);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext5309);
             ruleEString();
 
             state._fsp--;
@@ -5532,7 +6157,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_5=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAssemblyContext4705); 
+            otherlv_5=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAssemblyContext5321); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_5());
                 
@@ -5557,7 +6182,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleAssemblyConnector"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2214:1: entryRuleAssemblyConnector returns [EObject current=null] : iv_ruleAssemblyConnector= ruleAssemblyConnector EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2470:1: entryRuleAssemblyConnector returns [EObject current=null] : iv_ruleAssemblyConnector= ruleAssemblyConnector EOF ;
     public final EObject entryRuleAssemblyConnector() throws RecognitionException {
         EObject current = null;
 
@@ -5565,17 +6190,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2215:2: (iv_ruleAssemblyConnector= ruleAssemblyConnector EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2216:2: iv_ruleAssemblyConnector= ruleAssemblyConnector EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2471:2: (iv_ruleAssemblyConnector= ruleAssemblyConnector EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2472:2: iv_ruleAssemblyConnector= ruleAssemblyConnector EOF
             {
              newCompositeNode(grammarAccess.getAssemblyConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector4741);
+            pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector5357);
             iv_ruleAssemblyConnector=ruleAssemblyConnector();
 
             state._fsp--;
 
              current =iv_ruleAssemblyConnector; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyConnector4751); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyConnector5367); 
 
             }
 
@@ -5593,7 +6218,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleAssemblyConnector"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2223:1: ruleAssemblyConnector returns [EObject current=null] : (otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2479:1: ruleAssemblyConnector returns [EObject current=null] : (otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}' ) ;
     public final EObject ruleAssemblyConnector() throws RecognitionException {
         EObject current = null;
 
@@ -5610,26 +6235,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2226:28: ( (otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2227:1: (otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2482:28: ( (otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2483:1: (otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2227:1: (otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2227:3: otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2483:1: (otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2483:3: otherlv_0= 'AssemblyConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'requiredRole' ( ( ruleEString ) ) otherlv_5= 'providedRole' ( ( ruleEString ) ) otherlv_7= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_9= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_11= '}'
             {
-            otherlv_0=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleAssemblyConnector4788); 
+            otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleAssemblyConnector5404); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2231:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2232:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2487:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2488:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2232:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2233:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2488:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2489:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector4809);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector5425);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -5651,19 +6276,19 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAssemblyConnector4821); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAssemblyConnector5437); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleAssemblyConnector4833); 
+            otherlv_3=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleAssemblyConnector5449); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_3());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2257:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2258:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2513:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2514:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2258:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2259:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2514:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2515:3: ruleEString
             {
 
             			if (current==null) {
@@ -5673,7 +6298,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_4_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector4856);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector5472);
             ruleEString();
 
             state._fsp--;
@@ -5687,15 +6312,15 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_5=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleAssemblyConnector4868); 
+            otherlv_5=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAssemblyConnector5484); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_5());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2276:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2277:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2532:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2533:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2277:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2278:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2533:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2534:3: ruleEString
             {
 
             			if (current==null) {
@@ -5705,7 +6330,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_6_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector4891);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector5507);
             ruleEString();
 
             state._fsp--;
@@ -5719,15 +6344,15 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_7=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleAssemblyConnector4903); 
+            otherlv_7=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAssemblyConnector5519); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_7());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2295:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2296:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2551:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2552:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2296:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2297:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2552:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2553:3: ruleEString
             {
 
             			if (current==null) {
@@ -5737,7 +6362,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_8_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector4926);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector5542);
             ruleEString();
 
             state._fsp--;
@@ -5751,15 +6376,15 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_9=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleAssemblyConnector4938); 
+            otherlv_9=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleAssemblyConnector5554); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_9());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2314:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2315:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2570:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2571:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2315:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2316:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2571:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2572:3: ruleEString
             {
 
             			if (current==null) {
@@ -5769,7 +6394,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_10_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector4961);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector5577);
             ruleEString();
 
             state._fsp--;
@@ -5783,7 +6408,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_11=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAssemblyConnector4973); 
+            otherlv_11=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleAssemblyConnector5589); 
 
                 	newLeafNode(otherlv_11, grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_11());
                 
@@ -5808,7 +6433,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleProvidedDelegationConnector"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2341:1: entryRuleProvidedDelegationConnector returns [EObject current=null] : iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2597:1: entryRuleProvidedDelegationConnector returns [EObject current=null] : iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF ;
     public final EObject entryRuleProvidedDelegationConnector() throws RecognitionException {
         EObject current = null;
 
@@ -5816,17 +6441,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2342:2: (iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2343:2: iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2598:2: (iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2599:2: iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF
             {
              newCompositeNode(grammarAccess.getProvidedDelegationConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector5009);
+            pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector5625);
             iv_ruleProvidedDelegationConnector=ruleProvidedDelegationConnector();
 
             state._fsp--;
 
              current =iv_ruleProvidedDelegationConnector; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedDelegationConnector5019); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedDelegationConnector5635); 
 
             }
 
@@ -5844,7 +6469,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleProvidedDelegationConnector"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2350:1: ruleProvidedDelegationConnector returns [EObject current=null] : (otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2606:1: ruleProvidedDelegationConnector returns [EObject current=null] : (otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}' ) ;
     public final EObject ruleProvidedDelegationConnector() throws RecognitionException {
         EObject current = null;
 
@@ -5860,26 +6485,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2353:28: ( (otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2354:1: (otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2609:28: ( (otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2610:1: (otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2354:1: (otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2354:3: otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2610:1: (otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2610:3: otherlv_0= 'ProvidedDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_7= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_9= '}'
             {
-            otherlv_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleProvidedDelegationConnector5056); 
+            otherlv_0=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleProvidedDelegationConnector5672); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2358:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2359:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2614:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2615:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2359:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2360:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2615:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2616:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5077);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5693);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -5901,19 +6526,19 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProvidedDelegationConnector5089); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProvidedDelegationConnector5705); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleProvidedDelegationConnector5101); 
+            otherlv_3=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleProvidedDelegationConnector5717); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_3());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2384:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2385:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2640:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2641:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2385:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2386:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2641:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2642:3: ruleEString
             {
 
             			if (current==null) {
@@ -5923,7 +6548,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_4_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5124);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5740);
             ruleEString();
 
             state._fsp--;
@@ -5937,15 +6562,15 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_5=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleProvidedDelegationConnector5136); 
+            otherlv_5=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleProvidedDelegationConnector5752); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_5());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2403:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2404:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2659:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2660:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2404:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2405:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2660:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2661:3: ruleEString
             {
 
             			if (current==null) {
@@ -5955,7 +6580,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_6_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5159);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5775);
             ruleEString();
 
             state._fsp--;
@@ -5969,15 +6594,15 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_7=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleProvidedDelegationConnector5171); 
+            otherlv_7=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleProvidedDelegationConnector5787); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_7());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2422:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2423:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2678:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2679:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2423:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2424:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2679:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2680:3: ruleEString
             {
 
             			if (current==null) {
@@ -5987,7 +6612,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_8_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5194);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5810);
             ruleEString();
 
             state._fsp--;
@@ -6001,7 +6626,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_9=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleProvidedDelegationConnector5206); 
+            otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleProvidedDelegationConnector5822); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_9());
                 
@@ -6026,7 +6651,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "entryRuleRequiredDelegationConnector"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2449:1: entryRuleRequiredDelegationConnector returns [EObject current=null] : iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2705:1: entryRuleRequiredDelegationConnector returns [EObject current=null] : iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF ;
     public final EObject entryRuleRequiredDelegationConnector() throws RecognitionException {
         EObject current = null;
 
@@ -6034,17 +6659,17 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2450:2: (iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2451:2: iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2706:2: (iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2707:2: iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF
             {
              newCompositeNode(grammarAccess.getRequiredDelegationConnectorRule()); 
-            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector5242);
+            pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector5858);
             iv_ruleRequiredDelegationConnector=ruleRequiredDelegationConnector();
 
             state._fsp--;
 
              current =iv_ruleRequiredDelegationConnector; 
-            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredDelegationConnector5252); 
+            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredDelegationConnector5868); 
 
             }
 
@@ -6062,7 +6687,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "ruleRequiredDelegationConnector"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2458:1: ruleRequiredDelegationConnector returns [EObject current=null] : (otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}' ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2714:1: ruleRequiredDelegationConnector returns [EObject current=null] : (otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}' ) ;
     public final EObject ruleRequiredDelegationConnector() throws RecognitionException {
         EObject current = null;
 
@@ -6078,26 +6703,26 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
          enterRule(); 
             
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2461:28: ( (otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}' ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2462:1: (otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2717:28: ( (otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2718:1: (otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}' )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2462:1: (otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}' )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2462:3: otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}'
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2718:1: (otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}' )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2718:3: otherlv_0= 'RequiredDelegationConnector' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'assemblyContext' ( ( ruleEString ) ) otherlv_5= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_7= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_9= '}'
             {
-            otherlv_0=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleRequiredDelegationConnector5289); 
+            otherlv_0=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleRequiredDelegationConnector5905); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2466:1: ( (lv_name_1_0= ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2467:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2722:1: ( (lv_name_1_0= ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2723:1: (lv_name_1_0= ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2467:1: (lv_name_1_0= ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2468:3: lv_name_1_0= ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2723:1: (lv_name_1_0= ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2724:3: lv_name_1_0= ruleEString
             {
              
             	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_1_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5310);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5926);
             lv_name_1_0=ruleEString();
 
             state._fsp--;
@@ -6119,19 +6744,19 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRequiredDelegationConnector5322); 
+            otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRequiredDelegationConnector5938); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2());
                 
-            otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleRequiredDelegationConnector5334); 
+            otherlv_3=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleRequiredDelegationConnector5950); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_3());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2492:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2493:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2748:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2749:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2493:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2494:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2749:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2750:3: ruleEString
             {
 
             			if (current==null) {
@@ -6141,7 +6766,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_4_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5357);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5973);
             ruleEString();
 
             state._fsp--;
@@ -6155,15 +6780,15 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_5=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleRequiredDelegationConnector5369); 
+            otherlv_5=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleRequiredDelegationConnector5985); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_5());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2511:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2512:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2767:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2768:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2512:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2513:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2768:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2769:3: ruleEString
             {
 
             			if (current==null) {
@@ -6173,7 +6798,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_6_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5392);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector6008);
             ruleEString();
 
             state._fsp--;
@@ -6187,15 +6812,15 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_7=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleRequiredDelegationConnector5404); 
+            otherlv_7=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleRequiredDelegationConnector6020); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_7());
                 
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2530:1: ( ( ruleEString ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2531:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2786:1: ( ( ruleEString ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2787:1: ( ruleEString )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2531:1: ( ruleEString )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2532:3: ruleEString
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2787:1: ( ruleEString )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2788:3: ruleEString
             {
 
             			if (current==null) {
@@ -6205,7 +6830,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
              
             	        newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_8_0()); 
             	    
-            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5427);
+            pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector6043);
             ruleEString();
 
             state._fsp--;
@@ -6219,7 +6844,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
             }
 
-            otherlv_9=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRequiredDelegationConnector5439); 
+            otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRequiredDelegationConnector6055); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_9());
                 
@@ -6244,7 +6869,7 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
 
     // $ANTLR start "rulePrimitiveTypeEnum"
-    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2557:1: rulePrimitiveTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) ;
+    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2813:1: rulePrimitiveTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) ;
     public final Enumerator rulePrimitiveTypeEnum() throws RecognitionException {
         Enumerator current = null;
 
@@ -6258,62 +6883,62 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
 
          enterRule(); 
         try {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2559:28: ( ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) )
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2560:1: ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2815:28: ( ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) )
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2816:1: ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) )
             {
-            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2560:1: ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) )
-            int alt54=7;
+            // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2816:1: ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) )
+            int alt61=7;
             switch ( input.LA(1) ) {
-            case 60:
+            case 67:
                 {
-                alt54=1;
+                alt61=1;
                 }
                 break;
-            case 61:
+            case 68:
                 {
-                alt54=2;
+                alt61=2;
                 }
                 break;
-            case 62:
+            case 69:
                 {
-                alt54=3;
+                alt61=3;
                 }
                 break;
-            case 63:
+            case 70:
                 {
-                alt54=4;
+                alt61=4;
                 }
                 break;
-            case 64:
+            case 71:
                 {
-                alt54=5;
+                alt61=5;
                 }
                 break;
-            case 65:
+            case 72:
                 {
-                alt54=6;
+                alt61=6;
                 }
                 break;
-            case 66:
+            case 73:
                 {
-                alt54=7;
+                alt61=7;
                 }
                 break;
             default:
                 NoViableAltException nvae =
-                    new NoViableAltException("", 54, 0, input);
+                    new NoViableAltException("", 61, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt54) {
+            switch (alt61) {
                 case 1 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2560:2: (enumLiteral_0= 'INT' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2816:2: (enumLiteral_0= 'INT' )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2560:2: (enumLiteral_0= 'INT' )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2560:4: enumLiteral_0= 'INT'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2816:2: (enumLiteral_0= 'INT' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2816:4: enumLiteral_0= 'INT'
                     {
-                    enumLiteral_0=(Token)match(input,60,FollowSets000.FOLLOW_60_in_rulePrimitiveTypeEnum5489); 
+                    enumLiteral_0=(Token)match(input,67,FollowSets000.FOLLOW_67_in_rulePrimitiveTypeEnum6105); 
 
                             current = grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0()); 
@@ -6325,12 +6950,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 2 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2566:6: (enumLiteral_1= 'STRING' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2822:6: (enumLiteral_1= 'STRING' )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2566:6: (enumLiteral_1= 'STRING' )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2566:8: enumLiteral_1= 'STRING'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2822:6: (enumLiteral_1= 'STRING' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2822:8: enumLiteral_1= 'STRING'
                     {
-                    enumLiteral_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_rulePrimitiveTypeEnum5506); 
+                    enumLiteral_1=(Token)match(input,68,FollowSets000.FOLLOW_68_in_rulePrimitiveTypeEnum6122); 
 
                             current = grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1()); 
@@ -6342,12 +6967,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 3 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2572:6: (enumLiteral_2= 'BOOL' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2828:6: (enumLiteral_2= 'BOOL' )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2572:6: (enumLiteral_2= 'BOOL' )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2572:8: enumLiteral_2= 'BOOL'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2828:6: (enumLiteral_2= 'BOOL' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2828:8: enumLiteral_2= 'BOOL'
                     {
-                    enumLiteral_2=(Token)match(input,62,FollowSets000.FOLLOW_62_in_rulePrimitiveTypeEnum5523); 
+                    enumLiteral_2=(Token)match(input,69,FollowSets000.FOLLOW_69_in_rulePrimitiveTypeEnum6139); 
 
                             current = grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2()); 
@@ -6359,12 +6984,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 4 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2578:6: (enumLiteral_3= 'DOUBLE' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2834:6: (enumLiteral_3= 'DOUBLE' )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2578:6: (enumLiteral_3= 'DOUBLE' )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2578:8: enumLiteral_3= 'DOUBLE'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2834:6: (enumLiteral_3= 'DOUBLE' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2834:8: enumLiteral_3= 'DOUBLE'
                     {
-                    enumLiteral_3=(Token)match(input,63,FollowSets000.FOLLOW_63_in_rulePrimitiveTypeEnum5540); 
+                    enumLiteral_3=(Token)match(input,70,FollowSets000.FOLLOW_70_in_rulePrimitiveTypeEnum6156); 
 
                             current = grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3()); 
@@ -6376,12 +7001,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 5 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2584:6: (enumLiteral_4= 'CHAR' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2840:6: (enumLiteral_4= 'CHAR' )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2584:6: (enumLiteral_4= 'CHAR' )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2584:8: enumLiteral_4= 'CHAR'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2840:6: (enumLiteral_4= 'CHAR' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2840:8: enumLiteral_4= 'CHAR'
                     {
-                    enumLiteral_4=(Token)match(input,64,FollowSets000.FOLLOW_64_in_rulePrimitiveTypeEnum5557); 
+                    enumLiteral_4=(Token)match(input,71,FollowSets000.FOLLOW_71_in_rulePrimitiveTypeEnum6173); 
 
                             current = grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_4, grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4()); 
@@ -6393,12 +7018,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 6 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2590:6: (enumLiteral_5= 'BYTE' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2846:6: (enumLiteral_5= 'BYTE' )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2590:6: (enumLiteral_5= 'BYTE' )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2590:8: enumLiteral_5= 'BYTE'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2846:6: (enumLiteral_5= 'BYTE' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2846:8: enumLiteral_5= 'BYTE'
                     {
-                    enumLiteral_5=(Token)match(input,65,FollowSets000.FOLLOW_65_in_rulePrimitiveTypeEnum5574); 
+                    enumLiteral_5=(Token)match(input,72,FollowSets000.FOLLOW_72_in_rulePrimitiveTypeEnum6190); 
 
                             current = grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_5, grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5()); 
@@ -6410,12 +7035,12 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
                     }
                     break;
                 case 7 :
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2596:6: (enumLiteral_6= 'LONG' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2852:6: (enumLiteral_6= 'LONG' )
                     {
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2596:6: (enumLiteral_6= 'LONG' )
-                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2596:8: enumLiteral_6= 'LONG'
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2852:6: (enumLiteral_6= 'LONG' )
+                    // ../org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDslTest.g:2852:8: enumLiteral_6= 'LONG'
                     {
-                    enumLiteral_6=(Token)match(input,66,FollowSets000.FOLLOW_66_in_rulePrimitiveTypeEnum5591); 
+                    enumLiteral_6=(Token)match(input,73,FollowSets000.FOLLOW_73_in_rulePrimitiveTypeEnum6207); 
 
                             current = grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_6, grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6()); 
@@ -6454,283 +7079,315 @@ public class InternalMyDslTestParser extends AbstractInternalAntlrParser {
     private static class FollowSets000 {
         public static final BitSet FOLLOW_ruleRepository_in_entryRuleRepository75 = new BitSet(new long[]{0x0000000000000000L});
         public static final BitSet FOLLOW_EOF_in_entryRuleRepository85 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_11_in_ruleRepository122 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepository143 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepository155 = new BitSet(new long[]{0x0000016025106000L});
-        public static final BitSet FOLLOW_ruleDataType_in_ruleRepository177 = new BitSet(new long[]{0x0000016025106000L});
-        public static final BitSet FOLLOW_ruleInterface_in_ruleRepository204 = new BitSet(new long[]{0x0000016025106000L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_in_ruleRepository231 = new BitSet(new long[]{0x0000016025106000L});
-        public static final BitSet FOLLOW_13_in_ruleRepository245 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType281 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleDataType291 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionDataType_in_ruleDataType338 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeDataType_in_ruleDataType365 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveDataType_in_ruleDataType392 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent427 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent437 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_ruleRepositoryComponent484 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleBasicComponent_in_ruleRepositoryComponent511 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeComponent_in_ruleRepositoryComponent538 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSubSystem_in_ruleRepositoryComponent565 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString601 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleEString612 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_STRING_in_ruleEString652 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_RULE_ID_in_ruleEString678 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInterface_in_entryRuleInterface723 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInterface733 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_14_in_ruleInterface770 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInterface791 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInterface803 = new BitSet(new long[]{0x000000000008A000L});
-        public static final BitSet FOLLOW_15_in_ruleInterface816 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleInterface828 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInterface851 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_17_in_ruleInterface864 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInterface887 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_18_in_ruleInterface901 = new BitSet(new long[]{0x0000000000082000L});
-        public static final BitSet FOLLOW_19_in_ruleInterface916 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInterface928 = new BitSet(new long[]{0x0000000400000030L});
-        public static final BitSet FOLLOW_ruleSignature_in_ruleInterface949 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleInterface962 = new BitSet(new long[]{0x0000000400000030L});
-        public static final BitSet FOLLOW_ruleSignature_in_ruleInterface983 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleInterface997 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleInterface1011 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl1047 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl1057 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_20_in_ruleRepositoryComponent_Impl1094 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1115 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl1127 = new BitSet(new long[]{0x0000000000E02000L});
-        public static final BitSet FOLLOW_21_in_ruleRepositoryComponent_Impl1140 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl1152 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1175 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_17_in_ruleRepositoryComponent_Impl1188 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1211 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_18_in_ruleRepositoryComponent_Impl1225 = new BitSet(new long[]{0x0000000000C02000L});
-        public static final BitSet FOLLOW_22_in_ruleRepositoryComponent_Impl1240 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl1252 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl1273 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleRepositoryComponent_Impl1286 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl1307 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleRepositoryComponent_Impl1321 = new BitSet(new long[]{0x0000000000802000L});
-        public static final BitSet FOLLOW_23_in_ruleRepositoryComponent_Impl1336 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl1348 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl1369 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleRepositoryComponent_Impl1382 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl1403 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleRepositoryComponent_Impl1417 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleRepositoryComponent_Impl1431 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType1467 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionDataType1477 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_24_in_ruleCollectionDataType1514 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType1535 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCollectionDataType1547 = new BitSet(new long[]{0x0000000002000000L});
-        public static final BitSet FOLLOW_25_in_ruleCollectionDataType1559 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType1582 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleCollectionDataType1594 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType1630 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeDataType1640 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_26_in_ruleCompositeDataType1677 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType1698 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeDataType1710 = new BitSet(new long[]{0x0000000018002000L});
-        public static final BitSet FOLLOW_27_in_ruleCompositeDataType1723 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeDataType1735 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType1758 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_17_in_ruleCompositeDataType1771 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType1794 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_18_in_ruleCompositeDataType1808 = new BitSet(new long[]{0x0000000010002000L});
-        public static final BitSet FOLLOW_28_in_ruleCompositeDataType1823 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeDataType1835 = new BitSet(new long[]{0x0000000100000000L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType1856 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleCompositeDataType1869 = new BitSet(new long[]{0x0000000100000000L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType1890 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleCompositeDataType1904 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleCompositeDataType1918 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType1954 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveDataType1964 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_29_in_rulePrimitiveDataType2001 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_rulePrimitiveDataType2013 = new BitSet(new long[]{0x0000000040000000L});
-        public static final BitSet FOLLOW_30_in_rulePrimitiveDataType2025 = new BitSet(new long[]{0xF000000000000000L,0x0000000000000007L});
-        public static final BitSet FOLLOW_rulePrimitiveTypeEnum_in_rulePrimitiveDataType2046 = new BitSet(new long[]{0x0000000080000000L});
-        public static final BitSet FOLLOW_31_in_rulePrimitiveDataType2058 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_rulePrimitiveDataType2079 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_rulePrimitiveDataType2091 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration2127 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleInnerDeclaration2137 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_32_in_ruleInnerDeclaration2174 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration2195 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleInnerDeclaration2207 = new BitSet(new long[]{0x0000000200000000L});
-        public static final BitSet FOLLOW_33_in_ruleInnerDeclaration2219 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration2242 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleInnerDeclaration2254 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSignature_in_entryRuleSignature2290 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSignature2300 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSignature2349 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_34_in_ruleSignature2367 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSignature2389 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleSignature2401 = new BitSet(new long[]{0x0000000000040030L});
-        public static final BitSet FOLLOW_ruleParameter_in_ruleSignature2423 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_17_in_ruleSignature2436 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleParameter_in_ruleSignature2457 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_18_in_ruleSignature2473 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter2509 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleParameter2519 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleParameter2567 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleParameter2588 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole2624 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedRole2634 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_35_in_ruleProvidedRole2680 = new BitSet(new long[]{0x0000000000000032L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedRole2704 = new BitSet(new long[]{0x0000000000020032L});
-        public static final BitSet FOLLOW_17_in_ruleProvidedRole2717 = new BitSet(new long[]{0x0000000000000032L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole2757 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredRole2767 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_36_in_ruleRequiredRole2813 = new BitSet(new long[]{0x0000000000000032L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredRole2837 = new BitSet(new long[]{0x0000000000020032L});
-        public static final BitSet FOLLOW_17_in_ruleRequiredRole2850 = new BitSet(new long[]{0x0000000000000032L});
-        public static final BitSet FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent2890 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleBasicComponent2900 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_37_in_ruleBasicComponent2937 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent2958 = new BitSet(new long[]{0x0000001800001000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleBasicComponent2980 = new BitSet(new long[]{0x0000001000021000L});
-        public static final BitSet FOLLOW_17_in_ruleBasicComponent2993 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleBasicComponent3014 = new BitSet(new long[]{0x0000001000021000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleBasicComponent3040 = new BitSet(new long[]{0x0000000000021000L});
-        public static final BitSet FOLLOW_17_in_ruleBasicComponent3053 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleBasicComponent3074 = new BitSet(new long[]{0x0000000000021000L});
-        public static final BitSet FOLLOW_12_in_ruleBasicComponent3090 = new BitSet(new long[]{0x0000000000202000L});
-        public static final BitSet FOLLOW_21_in_ruleBasicComponent3103 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleBasicComponent3115 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent3138 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_17_in_ruleBasicComponent3151 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent3174 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_18_in_ruleBasicComponent3188 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleBasicComponent3202 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent3238 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeComponent3248 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_38_in_ruleCompositeComponent3285 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent3306 = new BitSet(new long[]{0x0000001800001000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleCompositeComponent3328 = new BitSet(new long[]{0x0000001000021000L});
-        public static final BitSet FOLLOW_17_in_ruleCompositeComponent3341 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleCompositeComponent3362 = new BitSet(new long[]{0x0000001000021000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleCompositeComponent3388 = new BitSet(new long[]{0x0000000000021000L});
-        public static final BitSet FOLLOW_17_in_ruleCompositeComponent3401 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleCompositeComponent3422 = new BitSet(new long[]{0x0000000000021000L});
-        public static final BitSet FOLLOW_12_in_ruleCompositeComponent3438 = new BitSet(new long[]{0x0000008000202000L});
-        public static final BitSet FOLLOW_21_in_ruleCompositeComponent3451 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleCompositeComponent3463 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent3486 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_17_in_ruleCompositeComponent3499 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent3522 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_18_in_ruleCompositeComponent3536 = new BitSet(new long[]{0x0000008000002000L});
-        public static final BitSet FOLLOW_39_in_ruleCompositeComponent3551 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_ruleCompositeComponent3572 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleCompositeComponent3586 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleSubSystem_in_entryRuleSubSystem3622 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleSubSystem3632 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_40_in_ruleSubSystem3669 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem3690 = new BitSet(new long[]{0x0000000000C01000L});
-        public static final BitSet FOLLOW_22_in_ruleSubSystem3703 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem3715 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleSubSystem3736 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleSubSystem3749 = new BitSet(new long[]{0x0000000800000000L});
-        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleSubSystem3770 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleSubSystem3784 = new BitSet(new long[]{0x0000000000801000L});
-        public static final BitSet FOLLOW_23_in_ruleSubSystem3799 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem3811 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleSubSystem3832 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleSubSystem3845 = new BitSet(new long[]{0x0000001000000000L});
-        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleSubSystem3866 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleSubSystem3880 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleSubSystem3894 = new BitSet(new long[]{0x0000008000202000L});
-        public static final BitSet FOLLOW_21_in_ruleSubSystem3907 = new BitSet(new long[]{0x0000000000010000L});
-        public static final BitSet FOLLOW_16_in_ruleSubSystem3919 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem3942 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_17_in_ruleSubSystem3955 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem3978 = new BitSet(new long[]{0x0000000000060000L});
-        public static final BitSet FOLLOW_18_in_ruleSubSystem3992 = new BitSet(new long[]{0x0000008000002000L});
-        public static final BitSet FOLLOW_39_in_ruleSubSystem4007 = new BitSet(new long[]{0x0000020000000000L});
-        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_ruleSubSystem4028 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleSubSystem4042 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_entryRuleComposedStructureAssembly4078 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleComposedStructureAssembly4088 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_41_in_ruleComposedStructureAssembly4134 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4146 = new BitSet(new long[]{0x00003C0000002000L});
-        public static final BitSet FOLLOW_42_in_ruleComposedStructureAssembly4159 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4171 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleComposedStructureAssembly4192 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleComposedStructureAssembly4205 = new BitSet(new long[]{0x0000400000000000L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleComposedStructureAssembly4226 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleComposedStructureAssembly4240 = new BitSet(new long[]{0x0000380000002000L});
-        public static final BitSet FOLLOW_43_in_ruleComposedStructureAssembly4255 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4267 = new BitSet(new long[]{0x0001000000000000L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleComposedStructureAssembly4288 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleComposedStructureAssembly4301 = new BitSet(new long[]{0x0001000000000000L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleComposedStructureAssembly4322 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleComposedStructureAssembly4336 = new BitSet(new long[]{0x0000300000002000L});
-        public static final BitSet FOLLOW_44_in_ruleComposedStructureAssembly4351 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4363 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleComposedStructureAssembly4384 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleComposedStructureAssembly4397 = new BitSet(new long[]{0x0020000000000000L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleComposedStructureAssembly4418 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleComposedStructureAssembly4432 = new BitSet(new long[]{0x0000200000002000L});
-        public static final BitSet FOLLOW_45_in_ruleComposedStructureAssembly4447 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4459 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleComposedStructureAssembly4480 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_17_in_ruleComposedStructureAssembly4493 = new BitSet(new long[]{0x0200000000000000L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleComposedStructureAssembly4514 = new BitSet(new long[]{0x0000000000022000L});
-        public static final BitSet FOLLOW_13_in_ruleComposedStructureAssembly4528 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleComposedStructureAssembly4542 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext4578 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyContext4588 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_46_in_ruleAssemblyContext4625 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext4646 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAssemblyContext4658 = new BitSet(new long[]{0x0000800000000000L});
-        public static final BitSet FOLLOW_47_in_ruleAssemblyContext4670 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext4693 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleAssemblyContext4705 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector4741 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyConnector4751 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_48_in_ruleAssemblyConnector4788 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector4809 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleAssemblyConnector4821 = new BitSet(new long[]{0x0002000000000000L});
-        public static final BitSet FOLLOW_49_in_ruleAssemblyConnector4833 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector4856 = new BitSet(new long[]{0x0004000000000000L});
-        public static final BitSet FOLLOW_50_in_ruleAssemblyConnector4868 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector4891 = new BitSet(new long[]{0x0008000000000000L});
-        public static final BitSet FOLLOW_51_in_ruleAssemblyConnector4903 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector4926 = new BitSet(new long[]{0x0010000000000000L});
-        public static final BitSet FOLLOW_52_in_ruleAssemblyConnector4938 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector4961 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleAssemblyConnector4973 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector5009 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedDelegationConnector5019 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_53_in_ruleProvidedDelegationConnector5056 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5077 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleProvidedDelegationConnector5089 = new BitSet(new long[]{0x0040000000000000L});
-        public static final BitSet FOLLOW_54_in_ruleProvidedDelegationConnector5101 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5124 = new BitSet(new long[]{0x0080000000000000L});
-        public static final BitSet FOLLOW_55_in_ruleProvidedDelegationConnector5136 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5159 = new BitSet(new long[]{0x0100000000000000L});
-        public static final BitSet FOLLOW_56_in_ruleProvidedDelegationConnector5171 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5194 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleProvidedDelegationConnector5206 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector5242 = new BitSet(new long[]{0x0000000000000000L});
-        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredDelegationConnector5252 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_57_in_ruleRequiredDelegationConnector5289 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5310 = new BitSet(new long[]{0x0000000000001000L});
-        public static final BitSet FOLLOW_12_in_ruleRequiredDelegationConnector5322 = new BitSet(new long[]{0x0040000000000000L});
-        public static final BitSet FOLLOW_54_in_ruleRequiredDelegationConnector5334 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5357 = new BitSet(new long[]{0x0400000000000000L});
-        public static final BitSet FOLLOW_58_in_ruleRequiredDelegationConnector5369 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5392 = new BitSet(new long[]{0x0800000000000000L});
-        public static final BitSet FOLLOW_59_in_ruleRequiredDelegationConnector5404 = new BitSet(new long[]{0x0000000000000030L});
-        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5427 = new BitSet(new long[]{0x0000000000002000L});
-        public static final BitSet FOLLOW_13_in_ruleRequiredDelegationConnector5439 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_60_in_rulePrimitiveTypeEnum5489 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_61_in_rulePrimitiveTypeEnum5506 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_62_in_rulePrimitiveTypeEnum5523 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_63_in_rulePrimitiveTypeEnum5540 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_64_in_rulePrimitiveTypeEnum5557 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_65_in_rulePrimitiveTypeEnum5574 = new BitSet(new long[]{0x0000000000000002L});
-        public static final BitSet FOLLOW_66_in_rulePrimitiveTypeEnum5591 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_11_in_ruleRepository122 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_ruleRepository143 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRepository155 = new BitSet(new long[]{0x00000000000BA000L});
+        public static final BitSet FOLLOW_13_in_ruleRepository168 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRepository180 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_ruleImport_in_ruleRepository201 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleRepository214 = new BitSet(new long[]{0x0000000000100000L});
+        public static final BitSet FOLLOW_ruleImport_in_ruleRepository235 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleRepository249 = new BitSet(new long[]{0x00000000000B8000L});
+        public static final BitSet FOLLOW_16_in_ruleRepository264 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRepository276 = new BitSet(new long[]{0x0000001280000000L});
+        public static final BitSet FOLLOW_ruleDataType_in_ruleRepository297 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleRepository310 = new BitSet(new long[]{0x0000001280000000L});
+        public static final BitSet FOLLOW_ruleDataType_in_ruleRepository331 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleRepository345 = new BitSet(new long[]{0x00000000000A8000L});
+        public static final BitSet FOLLOW_17_in_ruleRepository360 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRepository372 = new BitSet(new long[]{0x0000B00008000000L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_in_ruleRepository393 = new BitSet(new long[]{0x0000000000048000L});
+        public static final BitSet FOLLOW_18_in_ruleRepository406 = new BitSet(new long[]{0x0000B00008000000L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_in_ruleRepository427 = new BitSet(new long[]{0x0000000000048000L});
+        public static final BitSet FOLLOW_15_in_ruleRepository441 = new BitSet(new long[]{0x0000000000088000L});
+        public static final BitSet FOLLOW_19_in_ruleRepository456 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRepository468 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_ruleInterface_in_ruleRepository489 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleRepository502 = new BitSet(new long[]{0x0000000000800000L});
+        public static final BitSet FOLLOW_ruleInterface_in_ruleRepository523 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleRepository537 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleRepository551 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleImport_in_entryRuleImport587 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleImport597 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_20_in_ruleImport634 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_ruleQualifiedNameWithWildCard_in_ruleImport655 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedNameWithWildCard_in_entryRuleQualifiedNameWithWildCard692 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildCard703 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_ruleQualifiedNameWithWildCard750 = new BitSet(new long[]{0x0000000000200002L});
+        public static final BitSet FOLLOW_21_in_ruleQualifiedNameWithWildCard769 = new BitSet(new long[]{0x0000000000400000L});
+        public static final BitSet FOLLOW_22_in_ruleQualifiedNameWithWildCard782 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName825 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName836 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName876 = new BitSet(new long[]{0x0000000000200002L});
+        public static final BitSet FOLLOW_21_in_ruleQualifiedName895 = new BitSet(new long[]{0x0000000000000010L});
+        public static final BitSet FOLLOW_RULE_ID_in_ruleQualifiedName910 = new BitSet(new long[]{0x0000000000200002L});
+        public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType957 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleDataType967 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionDataType_in_ruleDataType1014 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCompositeDataType_in_ruleDataType1041 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveDataType_in_ruleDataType1068 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent1103 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent1113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_ruleRepositoryComponent1160 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBasicComponent_in_ruleRepositoryComponent1187 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCompositeComponent_in_ruleRepositoryComponent1214 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSubSystem_in_ruleRepositoryComponent1241 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString1277 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleEString1288 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_STRING_in_ruleEString1328 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_RULE_ID_in_ruleEString1354 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInterface_in_entryRuleInterface1399 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleInterface1409 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_23_in_ruleInterface1446 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleInterface1467 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleInterface1479 = new BitSet(new long[]{0x0000020001008030L});
+        public static final BitSet FOLLOW_24_in_ruleInterface1492 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_25_in_ruleInterface1504 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleInterface1527 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_14_in_ruleInterface1540 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleInterface1563 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_26_in_ruleInterface1577 = new BitSet(new long[]{0x0000020000008030L});
+        public static final BitSet FOLLOW_ruleSignature_in_ruleInterface1601 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleInterface1614 = new BitSet(new long[]{0x0000020000000030L});
+        public static final BitSet FOLLOW_ruleSignature_in_ruleInterface1635 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleInterface1651 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl1687 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl1697 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_27_in_ruleRepositoryComponent_Impl1734 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1755 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl1767 = new BitSet(new long[]{0x0000000070008000L});
+        public static final BitSet FOLLOW_28_in_ruleRepositoryComponent_Impl1780 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_25_in_ruleRepositoryComponent_Impl1792 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1815 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_14_in_ruleRepositoryComponent_Impl1828 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl1851 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_26_in_ruleRepositoryComponent_Impl1865 = new BitSet(new long[]{0x0000000060008000L});
+        public static final BitSet FOLLOW_29_in_ruleRepositoryComponent_Impl1880 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl1892 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl1913 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleRepositoryComponent_Impl1926 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl1947 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl1961 = new BitSet(new long[]{0x0000000040008000L});
+        public static final BitSet FOLLOW_30_in_ruleRepositoryComponent_Impl1976 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl1988 = new BitSet(new long[]{0x0000080000000000L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2009 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleRepositoryComponent_Impl2022 = new BitSet(new long[]{0x0000080000000000L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2043 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2057 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2071 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType2107 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCollectionDataType2117 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_31_in_ruleCollectionDataType2154 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType2175 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleCollectionDataType2187 = new BitSet(new long[]{0x0000000100000000L});
+        public static final BitSet FOLLOW_32_in_ruleCollectionDataType2199 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType2222 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleCollectionDataType2234 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType2270 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeDataType2280 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_33_in_ruleCompositeDataType2317 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType2338 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleCompositeDataType2350 = new BitSet(new long[]{0x0000000C00008000L});
+        public static final BitSet FOLLOW_34_in_ruleCompositeDataType2363 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_25_in_ruleCompositeDataType2375 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType2398 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_14_in_ruleCompositeDataType2411 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType2434 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_26_in_ruleCompositeDataType2448 = new BitSet(new long[]{0x0000000800008000L});
+        public static final BitSet FOLLOW_35_in_ruleCompositeDataType2463 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleCompositeDataType2475 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType2496 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleCompositeDataType2509 = new BitSet(new long[]{0x0000008000000000L});
+        public static final BitSet FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType2530 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleCompositeDataType2544 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleCompositeDataType2558 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType2594 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveDataType2604 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_36_in_rulePrimitiveDataType2641 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_rulePrimitiveDataType2653 = new BitSet(new long[]{0x0000002000000000L});
+        public static final BitSet FOLLOW_37_in_rulePrimitiveDataType2665 = new BitSet(new long[]{0x0000000000000000L,0x00000000000003F8L});
+        public static final BitSet FOLLOW_rulePrimitiveTypeEnum_in_rulePrimitiveDataType2686 = new BitSet(new long[]{0x0000004000000000L});
+        public static final BitSet FOLLOW_38_in_rulePrimitiveDataType2698 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_rulePrimitiveDataType2719 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_rulePrimitiveDataType2731 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration2767 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleInnerDeclaration2777 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_39_in_ruleInnerDeclaration2814 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration2835 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleInnerDeclaration2847 = new BitSet(new long[]{0x0000010000000000L});
+        public static final BitSet FOLLOW_40_in_ruleInnerDeclaration2859 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration2882 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleInnerDeclaration2894 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSignature_in_entryRuleSignature2930 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSignature2940 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleSignature2989 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_41_in_ruleSignature3007 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleSignature3029 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_25_in_ruleSignature3041 = new BitSet(new long[]{0x0000000004000030L});
+        public static final BitSet FOLLOW_ruleParameter_in_ruleSignature3063 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_14_in_ruleSignature3076 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleParameter_in_ruleSignature3097 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_26_in_ruleSignature3113 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter3149 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleParameter3159 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleParameter3207 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleParameter3228 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole3264 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedRole3274 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_42_in_ruleProvidedRole3311 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedRole3334 = new BitSet(new long[]{0x0000000000004002L});
+        public static final BitSet FOLLOW_14_in_ruleProvidedRole3347 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole3385 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredRole3395 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_43_in_ruleRequiredRole3432 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredRole3455 = new BitSet(new long[]{0x0000000000004002L});
+        public static final BitSet FOLLOW_14_in_ruleRequiredRole3468 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent3506 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleBasicComponent3516 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_44_in_ruleBasicComponent3553 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent3574 = new BitSet(new long[]{0x00000C0000001000L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleBasicComponent3596 = new BitSet(new long[]{0x0000080000005000L});
+        public static final BitSet FOLLOW_14_in_ruleBasicComponent3609 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleBasicComponent3630 = new BitSet(new long[]{0x0000080000005000L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleBasicComponent3656 = new BitSet(new long[]{0x0000000000005000L});
+        public static final BitSet FOLLOW_14_in_ruleBasicComponent3669 = new BitSet(new long[]{0x0000080000000000L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleBasicComponent3690 = new BitSet(new long[]{0x0000000000005000L});
+        public static final BitSet FOLLOW_12_in_ruleBasicComponent3706 = new BitSet(new long[]{0x0000000010008000L});
+        public static final BitSet FOLLOW_28_in_ruleBasicComponent3719 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_25_in_ruleBasicComponent3731 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent3754 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_14_in_ruleBasicComponent3767 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent3790 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_26_in_ruleBasicComponent3804 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleBasicComponent3818 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent3854 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleCompositeComponent3864 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_45_in_ruleCompositeComponent3901 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent3922 = new BitSet(new long[]{0x00000C0000001000L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleCompositeComponent3944 = new BitSet(new long[]{0x0000080000005000L});
+        public static final BitSet FOLLOW_14_in_ruleCompositeComponent3957 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleCompositeComponent3978 = new BitSet(new long[]{0x0000080000005000L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleCompositeComponent4004 = new BitSet(new long[]{0x0000000000005000L});
+        public static final BitSet FOLLOW_14_in_ruleCompositeComponent4017 = new BitSet(new long[]{0x0000080000000000L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleCompositeComponent4038 = new BitSet(new long[]{0x0000000000005000L});
+        public static final BitSet FOLLOW_12_in_ruleCompositeComponent4054 = new BitSet(new long[]{0x0000400010008000L});
+        public static final BitSet FOLLOW_28_in_ruleCompositeComponent4067 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_25_in_ruleCompositeComponent4079 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent4102 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_14_in_ruleCompositeComponent4115 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent4138 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_26_in_ruleCompositeComponent4152 = new BitSet(new long[]{0x0000400000008000L});
+        public static final BitSet FOLLOW_46_in_ruleCompositeComponent4167 = new BitSet(new long[]{0x0001000000000000L});
+        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_ruleCompositeComponent4188 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleCompositeComponent4202 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleSubSystem_in_entryRuleSubSystem4238 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleSubSystem4248 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_47_in_ruleSubSystem4285 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem4306 = new BitSet(new long[]{0x0000000060001000L});
+        public static final BitSet FOLLOW_29_in_ruleSubSystem4319 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleSubSystem4331 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleSubSystem4352 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleSubSystem4365 = new BitSet(new long[]{0x0000040000000000L});
+        public static final BitSet FOLLOW_ruleProvidedRole_in_ruleSubSystem4386 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleSubSystem4400 = new BitSet(new long[]{0x0000000040001000L});
+        public static final BitSet FOLLOW_30_in_ruleSubSystem4415 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleSubSystem4427 = new BitSet(new long[]{0x0000080000000000L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleSubSystem4448 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleSubSystem4461 = new BitSet(new long[]{0x0000080000000000L});
+        public static final BitSet FOLLOW_ruleRequiredRole_in_ruleSubSystem4482 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleSubSystem4496 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleSubSystem4510 = new BitSet(new long[]{0x0000400010008000L});
+        public static final BitSet FOLLOW_28_in_ruleSubSystem4523 = new BitSet(new long[]{0x0000000002000000L});
+        public static final BitSet FOLLOW_25_in_ruleSubSystem4535 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem4558 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_14_in_ruleSubSystem4571 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem4594 = new BitSet(new long[]{0x0000000004004000L});
+        public static final BitSet FOLLOW_26_in_ruleSubSystem4608 = new BitSet(new long[]{0x0000400000008000L});
+        public static final BitSet FOLLOW_46_in_ruleSubSystem4623 = new BitSet(new long[]{0x0001000000000000L});
+        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_ruleSubSystem4644 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleSubSystem4658 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleComposedStructureAssembly_in_entryRuleComposedStructureAssembly4694 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleComposedStructureAssembly4704 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_48_in_ruleComposedStructureAssembly4750 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4762 = new BitSet(new long[]{0x001E000000008000L});
+        public static final BitSet FOLLOW_49_in_ruleComposedStructureAssembly4775 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4787 = new BitSet(new long[]{0x0020000000000000L});
+        public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleComposedStructureAssembly4808 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleComposedStructureAssembly4821 = new BitSet(new long[]{0x0020000000000000L});
+        public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleComposedStructureAssembly4842 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleComposedStructureAssembly4856 = new BitSet(new long[]{0x001C000000008000L});
+        public static final BitSet FOLLOW_50_in_ruleComposedStructureAssembly4871 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4883 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleComposedStructureAssembly4904 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleComposedStructureAssembly4917 = new BitSet(new long[]{0x0080000000000000L});
+        public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleComposedStructureAssembly4938 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleComposedStructureAssembly4952 = new BitSet(new long[]{0x0018000000008000L});
+        public static final BitSet FOLLOW_51_in_ruleComposedStructureAssembly4967 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly4979 = new BitSet(new long[]{0x1000000000000000L});
+        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleComposedStructureAssembly5000 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleComposedStructureAssembly5013 = new BitSet(new long[]{0x1000000000000000L});
+        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleComposedStructureAssembly5034 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleComposedStructureAssembly5048 = new BitSet(new long[]{0x0010000000008000L});
+        public static final BitSet FOLLOW_52_in_ruleComposedStructureAssembly5063 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleComposedStructureAssembly5075 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleComposedStructureAssembly5096 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_14_in_ruleComposedStructureAssembly5109 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleComposedStructureAssembly5130 = new BitSet(new long[]{0x000000000000C000L});
+        public static final BitSet FOLLOW_15_in_ruleComposedStructureAssembly5144 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleComposedStructureAssembly5158 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext5194 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyContext5204 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_53_in_ruleAssemblyContext5241 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext5262 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAssemblyContext5274 = new BitSet(new long[]{0x0040000000000000L});
+        public static final BitSet FOLLOW_54_in_ruleAssemblyContext5286 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext5309 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAssemblyContext5321 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector5357 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyConnector5367 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_55_in_ruleAssemblyConnector5404 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector5425 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleAssemblyConnector5437 = new BitSet(new long[]{0x0100000000000000L});
+        public static final BitSet FOLLOW_56_in_ruleAssemblyConnector5449 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector5472 = new BitSet(new long[]{0x0200000000000000L});
+        public static final BitSet FOLLOW_57_in_ruleAssemblyConnector5484 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector5507 = new BitSet(new long[]{0x0400000000000000L});
+        public static final BitSet FOLLOW_58_in_ruleAssemblyConnector5519 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector5542 = new BitSet(new long[]{0x0800000000000000L});
+        public static final BitSet FOLLOW_59_in_ruleAssemblyConnector5554 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector5577 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleAssemblyConnector5589 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector5625 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleProvidedDelegationConnector5635 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_60_in_ruleProvidedDelegationConnector5672 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5693 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleProvidedDelegationConnector5705 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleProvidedDelegationConnector5717 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5740 = new BitSet(new long[]{0x4000000000000000L});
+        public static final BitSet FOLLOW_62_in_ruleProvidedDelegationConnector5752 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5775 = new BitSet(new long[]{0x8000000000000000L});
+        public static final BitSet FOLLOW_63_in_ruleProvidedDelegationConnector5787 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector5810 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleProvidedDelegationConnector5822 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector5858 = new BitSet(new long[]{0x0000000000000000L});
+        public static final BitSet FOLLOW_EOF_in_entryRuleRequiredDelegationConnector5868 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_64_in_ruleRequiredDelegationConnector5905 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5926 = new BitSet(new long[]{0x0000000000001000L});
+        public static final BitSet FOLLOW_12_in_ruleRequiredDelegationConnector5938 = new BitSet(new long[]{0x2000000000000000L});
+        public static final BitSet FOLLOW_61_in_ruleRequiredDelegationConnector5950 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector5973 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+        public static final BitSet FOLLOW_65_in_ruleRequiredDelegationConnector5985 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector6008 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+        public static final BitSet FOLLOW_66_in_ruleRequiredDelegationConnector6020 = new BitSet(new long[]{0x0000000000000030L});
+        public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector6043 = new BitSet(new long[]{0x0000000000008000L});
+        public static final BitSet FOLLOW_15_in_ruleRequiredDelegationConnector6055 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_67_in_rulePrimitiveTypeEnum6105 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_68_in_rulePrimitiveTypeEnum6122 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_69_in_rulePrimitiveTypeEnum6139 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_70_in_rulePrimitiveTypeEnum6156 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_71_in_rulePrimitiveTypeEnum6173 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_72_in_rulePrimitiveTypeEnum6190 = new BitSet(new long[]{0x0000000000000002L});
+        public static final BitSet FOLLOW_73_in_rulePrimitiveTypeEnum6207 = new BitSet(new long[]{0x0000000000000002L});
     }
 
 
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/services/MyDslTestGrammarAccess.java b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/services/MyDslTestGrammarAccess.java
index 24519842..32cdd1e0 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/services/MyDslTestGrammarAccess.java
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/services/MyDslTestGrammarAccess.java
@@ -24,82 +24,300 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 		private final Group cGroup = (Group)rule.eContents().get(1);
 		private final Keyword cRepositoryKeyword_0 = (Keyword)cGroup.eContents().get(0);
 		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
-		private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+		private final RuleCall cNameQualifiedNameParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
-		private final Assignment cDatatypesAssignment_3_0 = (Assignment)cAlternatives_3.eContents().get(0);
-		private final RuleCall cDatatypesDataTypeParserRuleCall_3_0_0 = (RuleCall)cDatatypesAssignment_3_0.eContents().get(0);
-		private final Assignment cInterfacesAssignment_3_1 = (Assignment)cAlternatives_3.eContents().get(1);
-		private final RuleCall cInterfacesInterfaceParserRuleCall_3_1_0 = (RuleCall)cInterfacesAssignment_3_1.eContents().get(0);
-		private final Assignment cComponentsAssignment_3_2 = (Assignment)cAlternatives_3.eContents().get(2);
-		private final RuleCall cComponentsRepositoryComponentParserRuleCall_3_2_0 = (RuleCall)cComponentsAssignment_3_2.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+		private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+		private final Keyword cImportsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1);
+		private final Assignment cImportsAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2);
+		private final RuleCall cImportsImportParserRuleCall_3_2_0 = (RuleCall)cImportsAssignment_3_2.eContents().get(0);
+		private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3);
+		private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
+		private final Assignment cImportsAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1);
+		private final RuleCall cImportsImportParserRuleCall_3_3_1_0 = (RuleCall)cImportsAssignment_3_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4);
+		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+		private final Keyword cDatatypesKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
+		private final Assignment cDatatypesAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2);
+		private final RuleCall cDatatypesDataTypeParserRuleCall_4_2_0 = (RuleCall)cDatatypesAssignment_4_2.eContents().get(0);
+		private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3);
+		private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0);
+		private final Assignment cDatatypesAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1);
+		private final RuleCall cDatatypesDataTypeParserRuleCall_4_3_1_0 = (RuleCall)cDatatypesAssignment_4_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4);
+		private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+		private final Keyword cComponentsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
+		private final Assignment cComponentsAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
+		private final RuleCall cComponentsRepositoryComponentParserRuleCall_5_2_0 = (RuleCall)cComponentsAssignment_5_2.eContents().get(0);
+		private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3);
+		private final Keyword cSemicolonKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0);
+		private final Assignment cComponentsAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1);
+		private final RuleCall cComponentsRepositoryComponentParserRuleCall_5_3_1_0 = (RuleCall)cComponentsAssignment_5_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
+		private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+		private final Keyword cInterfacesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+		private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
+		private final Assignment cInterfacesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2);
+		private final RuleCall cInterfacesInterfaceParserRuleCall_6_2_0 = (RuleCall)cInterfacesAssignment_6_2.eContents().get(0);
+		private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
+		private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
+		private final Assignment cInterfacesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
+		private final RuleCall cInterfacesInterfaceParserRuleCall_6_3_1_0 = (RuleCall)cInterfacesAssignment_6_3_1.eContents().get(0);
+		private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4);
+		private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
 		
+		/// *Repository returns repository::Repository:
+		//	'Repository'
+		//	name=QualifiedName
+		//	'{' 
+		//(
+		//		( datatypes+=DataType ) | 
+		//		(interfaces+=Interface) |
+		//		(components+=RepositoryComponent )|
+		//		(imports+=Import)
+		//		
+		//)*
+		//    '}';
+		//    
+		//  * /
+		//
 		//Repository returns repository::Repository:
 		//
-		//	"Repository" name=EString "{" (datatypes+=DataType | interfaces+=Interface | components+=RepositoryComponent)*
+		//	"Repository" name=QualifiedName "{" ("imports" "{" imports+=Import ("," imports+=Import)* "}")? ("datatypes" "{"
+		//
+		//	datatypes+=DataType ("," datatypes+=DataType)* "}")? ("components" "{" components+=RepositoryComponent (";"
 		//
-		//	/ *
-		//		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? 
-		//		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? 
-		//		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
-		// * /
+		//	components+=RepositoryComponent)* "}")? ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")?
 		//
 		//	"}";
 		public ParserRule getRule() { return rule; }
 
-		//"Repository" name=EString "{" (datatypes+=DataType | interfaces+=Interface | components+=RepositoryComponent)*
+		//"Repository" name=QualifiedName "{" ("imports" "{" imports+=Import ("," imports+=Import)* "}")? ("datatypes" "{"
 		//
-		/// *
-		//		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? 
-		//		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? 
-		//		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
-		// * /
+		//datatypes+=DataType ("," datatypes+=DataType)* "}")? ("components" "{" components+=RepositoryComponent (";"
 		//
-		//"}"
+		//components+=RepositoryComponent)* "}")? ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? "}"
 		public Group getGroup() { return cGroup; }
 
 		//"Repository"
 		public Keyword getRepositoryKeyword_0() { return cRepositoryKeyword_0; }
 
-		//name=EString
+		//name=QualifiedName
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//EString
-		public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; }
+		//QualifiedName
+		public RuleCall getNameQualifiedNameParserRuleCall_1_0() { return cNameQualifiedNameParserRuleCall_1_0; }
 
 		//"{"
 		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
 
-		//(datatypes+=DataType | interfaces+=Interface | components+=RepositoryComponent)*
-		public Alternatives getAlternatives_3() { return cAlternatives_3; }
+		//("imports" "{" imports+=Import ("," imports+=Import)* "}")?
+		public Group getGroup_3() { return cGroup_3; }
+
+		//"imports"
+		public Keyword getImportsKeyword_3_0() { return cImportsKeyword_3_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; }
+
+		//imports+=Import
+		public Assignment getImportsAssignment_3_2() { return cImportsAssignment_3_2; }
+
+		//Import
+		public RuleCall getImportsImportParserRuleCall_3_2_0() { return cImportsImportParserRuleCall_3_2_0; }
+
+		//("," imports+=Import)*
+		public Group getGroup_3_3() { return cGroup_3_3; }
+
+		//","
+		public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; }
+
+		//imports+=Import
+		public Assignment getImportsAssignment_3_3_1() { return cImportsAssignment_3_3_1; }
+
+		//Import
+		public RuleCall getImportsImportParserRuleCall_3_3_1_0() { return cImportsImportParserRuleCall_3_3_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; }
+
+		//("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")?
+		public Group getGroup_4() { return cGroup_4; }
+
+		//"datatypes"
+		public Keyword getDatatypesKeyword_4_0() { return cDatatypesKeyword_4_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_4_1() { return cLeftCurlyBracketKeyword_4_1; }
 
 		//datatypes+=DataType
-		public Assignment getDatatypesAssignment_3_0() { return cDatatypesAssignment_3_0; }
+		public Assignment getDatatypesAssignment_4_2() { return cDatatypesAssignment_4_2; }
 
 		//DataType
-		public RuleCall getDatatypesDataTypeParserRuleCall_3_0_0() { return cDatatypesDataTypeParserRuleCall_3_0_0; }
+		public RuleCall getDatatypesDataTypeParserRuleCall_4_2_0() { return cDatatypesDataTypeParserRuleCall_4_2_0; }
 
-		//interfaces+=Interface
-		public Assignment getInterfacesAssignment_3_1() { return cInterfacesAssignment_3_1; }
+		//("," datatypes+=DataType)*
+		public Group getGroup_4_3() { return cGroup_4_3; }
 
-		//Interface
-		public RuleCall getInterfacesInterfaceParserRuleCall_3_1_0() { return cInterfacesInterfaceParserRuleCall_3_1_0; }
+		//","
+		public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; }
+
+		//datatypes+=DataType
+		public Assignment getDatatypesAssignment_4_3_1() { return cDatatypesAssignment_4_3_1; }
+
+		//DataType
+		public RuleCall getDatatypesDataTypeParserRuleCall_4_3_1_0() { return cDatatypesDataTypeParserRuleCall_4_3_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; }
+
+		//("components" "{" components+=RepositoryComponent (";" components+=RepositoryComponent)* "}")?
+		public Group getGroup_5() { return cGroup_5; }
+
+		//"components"
+		public Keyword getComponentsKeyword_5_0() { return cComponentsKeyword_5_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
 
 		//components+=RepositoryComponent
-		public Assignment getComponentsAssignment_3_2() { return cComponentsAssignment_3_2; }
+		public Assignment getComponentsAssignment_5_2() { return cComponentsAssignment_5_2; }
 
 		//RepositoryComponent
-		public RuleCall getComponentsRepositoryComponentParserRuleCall_3_2_0() { return cComponentsRepositoryComponentParserRuleCall_3_2_0; }
+		public RuleCall getComponentsRepositoryComponentParserRuleCall_5_2_0() { return cComponentsRepositoryComponentParserRuleCall_5_2_0; }
+
+		//(";" components+=RepositoryComponent)*
+		public Group getGroup_5_3() { return cGroup_5_3; }
+
+		//";"
+		public Keyword getSemicolonKeyword_5_3_0() { return cSemicolonKeyword_5_3_0; }
+
+		//components+=RepositoryComponent
+		public Assignment getComponentsAssignment_5_3_1() { return cComponentsAssignment_5_3_1; }
+
+		//RepositoryComponent
+		public RuleCall getComponentsRepositoryComponentParserRuleCall_5_3_1_0() { return cComponentsRepositoryComponentParserRuleCall_5_3_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
+
+		//("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")?
+		public Group getGroup_6() { return cGroup_6; }
+
+		//"interfaces"
+		public Keyword getInterfacesKeyword_6_0() { return cInterfacesKeyword_6_0; }
+
+		//"{"
+		public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
+
+		//interfaces+=Interface
+		public Assignment getInterfacesAssignment_6_2() { return cInterfacesAssignment_6_2; }
+
+		//Interface
+		public RuleCall getInterfacesInterfaceParserRuleCall_6_2_0() { return cInterfacesInterfaceParserRuleCall_6_2_0; }
+
+		//("," interfaces+=Interface)*
+		public Group getGroup_6_3() { return cGroup_6_3; }
+
+		//","
+		public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; }
+
+		//interfaces+=Interface
+		public Assignment getInterfacesAssignment_6_3_1() { return cInterfacesAssignment_6_3_1; }
+
+		//Interface
+		public RuleCall getInterfacesInterfaceParserRuleCall_6_3_1_0() { return cInterfacesInterfaceParserRuleCall_6_3_1_0; }
+
+		//"}"
+		public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; }
 
-		/// *
-		//		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? 
-		//		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? 
-		//		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
-		// * /
-		//
 		//"}"
-		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
+		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+	}
+
+	public class ImportElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Import");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cImportedNamespaceAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final RuleCall cImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0);
+		
+		//Import returns repository::Import:
+		//
+		//	"import" importedNamespace=QualifiedNameWithWildCard;
+		public ParserRule getRule() { return rule; }
+
+		//"import" importedNamespace=QualifiedNameWithWildCard
+		public Group getGroup() { return cGroup; }
+
+		//"import"
+		public Keyword getImportKeyword_0() { return cImportKeyword_0; }
+
+		//importedNamespace=QualifiedNameWithWildCard
+		public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; }
+
+		//QualifiedNameWithWildCard
+		public RuleCall getImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0() { return cImportedNamespaceQualifiedNameWithWildCardParserRuleCall_1_0; }
+	}
+
+	public class QualifiedNameWithWildCardElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedNameWithWildCard");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final RuleCall cQualifiedNameParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
+		
+		//QualifiedNameWithWildCard:
+		//
+		//	QualifiedName ("." "*")?;
+		public ParserRule getRule() { return rule; }
+
+		//QualifiedName ("." "*")?
+		public Group getGroup() { return cGroup; }
+
+		//QualifiedName
+		public RuleCall getQualifiedNameParserRuleCall_0() { return cQualifiedNameParserRuleCall_0; }
+
+		//("." "*")?
+		public Group getGroup_1() { return cGroup_1; }
+
+		//"."
+		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+		//"*"
+		public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; }
+	}
+
+	public class QualifiedNameElements extends AbstractParserRuleElementFinder {
+		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "QualifiedName");
+		private final Group cGroup = (Group)rule.eContents().get(1);
+		private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+		private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+		private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+		private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
+		
+		//QualifiedName:
+		//
+		//	ID ("." ID)*;
+		public ParserRule getRule() { return rule; }
+
+		//ID ("." ID)*
+		public Group getGroup() { return cGroup; }
+
+		//ID
+		public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
+
+		//("." ID)*
+		public Group getGroup_1() { return cGroup_1; }
+
+		//"."
+		public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+		//ID
+		public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; }
 	}
 
 	public class DataTypeElements extends AbstractParserRuleElementFinder {
@@ -197,31 +415,24 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 		private final RuleCall cParentInterfacesInterfaceEStringParserRuleCall_3_3_1_0_1 = (RuleCall)cParentInterfacesInterfaceCrossReference_3_3_1_0.eContents().get(1);
 		private final Keyword cRightParenthesisKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4);
 		private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
-		private final Keyword cSignaturesKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
-		private final Keyword cLeftCurlyBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1);
-		private final Assignment cSignaturesAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2);
-		private final RuleCall cSignaturesSignatureParserRuleCall_4_2_0 = (RuleCall)cSignaturesAssignment_4_2.eContents().get(0);
-		private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3);
-		private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0);
-		private final Assignment cSignaturesAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1);
-		private final RuleCall cSignaturesSignatureParserRuleCall_4_3_1_0 = (RuleCall)cSignaturesAssignment_4_3_1.eContents().get(0);
-		private final Keyword cRightCurlyBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4);
+		private final Assignment cSignaturesAssignment_4_0 = (Assignment)cGroup_4.eContents().get(0);
+		private final RuleCall cSignaturesSignatureParserRuleCall_4_0_0 = (RuleCall)cSignaturesAssignment_4_0.eContents().get(0);
+		private final Group cGroup_4_1 = (Group)cGroup_4.eContents().get(1);
+		private final Keyword cCommaKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0);
+		private final Assignment cSignaturesAssignment_4_1_1 = (Assignment)cGroup_4_1.eContents().get(1);
+		private final RuleCall cSignaturesSignatureParserRuleCall_4_1_1_0 = (RuleCall)cSignaturesAssignment_4_1_1.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
 		
 		//Interface returns repository::Interface:
 		//
 		//	"Interface" name=EString "{" ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] (","
 		//
-		//	parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature (","
-		//
-		//	signatures+=Signature)* "}")? "}";
+		//	parentInterfaces+=[repository::Interface|EString])* ")")? (signatures+=Signature ("," signatures+=Signature)*)? "}";
 		public ParserRule getRule() { return rule; }
 
 		//"Interface" name=EString "{" ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] (","
 		//
-		//parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature (","
-		//
-		//signatures+=Signature)* "}")? "}"
+		//parentInterfaces+=[repository::Interface|EString])* ")")? (signatures+=Signature ("," signatures+=Signature)*)? "}"
 		public Group getGroup() { return cGroup; }
 
 		//"Interface"
@@ -274,35 +485,26 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 		//")"
 		public Keyword getRightParenthesisKeyword_3_4() { return cRightParenthesisKeyword_3_4; }
 
-		//("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")?
+		//(signatures+=Signature ("," signatures+=Signature)*)?
 		public Group getGroup_4() { return cGroup_4; }
 
-		//"signatures"
-		public Keyword getSignaturesKeyword_4_0() { return cSignaturesKeyword_4_0; }
-
-		//"{"
-		public Keyword getLeftCurlyBracketKeyword_4_1() { return cLeftCurlyBracketKeyword_4_1; }
-
 		//signatures+=Signature
-		public Assignment getSignaturesAssignment_4_2() { return cSignaturesAssignment_4_2; }
+		public Assignment getSignaturesAssignment_4_0() { return cSignaturesAssignment_4_0; }
 
 		//Signature
-		public RuleCall getSignaturesSignatureParserRuleCall_4_2_0() { return cSignaturesSignatureParserRuleCall_4_2_0; }
+		public RuleCall getSignaturesSignatureParserRuleCall_4_0_0() { return cSignaturesSignatureParserRuleCall_4_0_0; }
 
 		//("," signatures+=Signature)*
-		public Group getGroup_4_3() { return cGroup_4_3; }
+		public Group getGroup_4_1() { return cGroup_4_1; }
 
 		//","
-		public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; }
+		public Keyword getCommaKeyword_4_1_0() { return cCommaKeyword_4_1_0; }
 
 		//signatures+=Signature
-		public Assignment getSignaturesAssignment_4_3_1() { return cSignaturesAssignment_4_3_1; }
+		public Assignment getSignaturesAssignment_4_1_1() { return cSignaturesAssignment_4_1_1; }
 
 		//Signature
-		public RuleCall getSignaturesSignatureParserRuleCall_4_3_1_0() { return cSignaturesSignatureParserRuleCall_4_3_1_0; }
-
-		//"}"
-		public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; }
+		public RuleCall getSignaturesSignatureParserRuleCall_4_1_1_0() { return cSignaturesSignatureParserRuleCall_4_1_1_0; }
 
 		//"}"
 		public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
@@ -876,83 +1078,67 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 	public class ProvidedRoleElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProvidedRole");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cProvidedRoleAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cProvidedRoleKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Assignment cInterfaceAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
-		private final CrossReference cInterfaceInterfaceCrossReference_2_0_0 = (CrossReference)cInterfaceAssignment_2_0.eContents().get(0);
-		private final RuleCall cInterfaceInterfaceEStringParserRuleCall_2_0_0_1 = (RuleCall)cInterfaceInterfaceCrossReference_2_0_0.eContents().get(1);
-		private final Keyword cCommaKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
+		private final Keyword cProvidedRoleKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cInterfaceAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final CrossReference cInterfaceInterfaceCrossReference_1_0 = (CrossReference)cInterfaceAssignment_1.eContents().get(0);
+		private final RuleCall cInterfaceInterfaceEStringParserRuleCall_1_0_1 = (RuleCall)cInterfaceInterfaceCrossReference_1_0.eContents().get(1);
+		private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2);
 		
 		//ProvidedRole returns repository::ProvidedRole:
 		//
-		//	{repository::ProvidedRole} "ProvidedRole" (interface=[repository::Interface|EString] ","?)*;
+		//	"ProvidedRole" interface=[repository::Interface|EString] ","?;
 		public ParserRule getRule() { return rule; }
 
-		//{repository::ProvidedRole} "ProvidedRole" (interface=[repository::Interface|EString] ","?)*
+		//"ProvidedRole" interface=[repository::Interface|EString] ","?
 		public Group getGroup() { return cGroup; }
 
-		//{repository::ProvidedRole}
-		public Action getProvidedRoleAction_0() { return cProvidedRoleAction_0; }
-
 		//"ProvidedRole"
-		public Keyword getProvidedRoleKeyword_1() { return cProvidedRoleKeyword_1; }
-
-		//(interface=[repository::Interface|EString] ","?)*
-		public Group getGroup_2() { return cGroup_2; }
+		public Keyword getProvidedRoleKeyword_0() { return cProvidedRoleKeyword_0; }
 
 		//interface=[repository::Interface|EString]
-		public Assignment getInterfaceAssignment_2_0() { return cInterfaceAssignment_2_0; }
+		public Assignment getInterfaceAssignment_1() { return cInterfaceAssignment_1; }
 
 		//[repository::Interface|EString]
-		public CrossReference getInterfaceInterfaceCrossReference_2_0_0() { return cInterfaceInterfaceCrossReference_2_0_0; }
+		public CrossReference getInterfaceInterfaceCrossReference_1_0() { return cInterfaceInterfaceCrossReference_1_0; }
 
 		//EString
-		public RuleCall getInterfaceInterfaceEStringParserRuleCall_2_0_0_1() { return cInterfaceInterfaceEStringParserRuleCall_2_0_0_1; }
+		public RuleCall getInterfaceInterfaceEStringParserRuleCall_1_0_1() { return cInterfaceInterfaceEStringParserRuleCall_1_0_1; }
 
 		//","?
-		public Keyword getCommaKeyword_2_1() { return cCommaKeyword_2_1; }
+		public Keyword getCommaKeyword_2() { return cCommaKeyword_2; }
 	}
 
 	public class RequiredRoleElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RequiredRole");
 		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Action cRequiredRoleAction_0 = (Action)cGroup.eContents().get(0);
-		private final Keyword cRequiredRoleKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
-		private final Assignment cInterfaceAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
-		private final CrossReference cInterfaceInterfaceCrossReference_2_0_0 = (CrossReference)cInterfaceAssignment_2_0.eContents().get(0);
-		private final RuleCall cInterfaceInterfaceEStringParserRuleCall_2_0_0_1 = (RuleCall)cInterfaceInterfaceCrossReference_2_0_0.eContents().get(1);
-		private final Keyword cCommaKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1);
+		private final Keyword cRequiredRoleKeyword_0 = (Keyword)cGroup.eContents().get(0);
+		private final Assignment cInterfaceAssignment_1 = (Assignment)cGroup.eContents().get(1);
+		private final CrossReference cInterfaceInterfaceCrossReference_1_0 = (CrossReference)cInterfaceAssignment_1.eContents().get(0);
+		private final RuleCall cInterfaceInterfaceEStringParserRuleCall_1_0_1 = (RuleCall)cInterfaceInterfaceCrossReference_1_0.eContents().get(1);
+		private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2);
 		
 		//RequiredRole returns repository::RequiredRole:
 		//
-		//	{repository::RequiredRole} "RequiredRole" (interface=[repository::Interface|EString] ","?)*;
+		//	"RequiredRole" interface=[repository::Interface|EString] ","?;
 		public ParserRule getRule() { return rule; }
 
-		//{repository::RequiredRole} "RequiredRole" (interface=[repository::Interface|EString] ","?)*
+		//"RequiredRole" interface=[repository::Interface|EString] ","?
 		public Group getGroup() { return cGroup; }
 
-		//{repository::RequiredRole}
-		public Action getRequiredRoleAction_0() { return cRequiredRoleAction_0; }
-
 		//"RequiredRole"
-		public Keyword getRequiredRoleKeyword_1() { return cRequiredRoleKeyword_1; }
-
-		//(interface=[repository::Interface|EString] ","?)*
-		public Group getGroup_2() { return cGroup_2; }
+		public Keyword getRequiredRoleKeyword_0() { return cRequiredRoleKeyword_0; }
 
 		//interface=[repository::Interface|EString]
-		public Assignment getInterfaceAssignment_2_0() { return cInterfaceAssignment_2_0; }
+		public Assignment getInterfaceAssignment_1() { return cInterfaceAssignment_1; }
 
 		//[repository::Interface|EString]
-		public CrossReference getInterfaceInterfaceCrossReference_2_0_0() { return cInterfaceInterfaceCrossReference_2_0_0; }
+		public CrossReference getInterfaceInterfaceCrossReference_1_0() { return cInterfaceInterfaceCrossReference_1_0; }
 
 		//EString
-		public RuleCall getInterfaceInterfaceEStringParserRuleCall_2_0_0_1() { return cInterfaceInterfaceEStringParserRuleCall_2_0_0_1; }
+		public RuleCall getInterfaceInterfaceEStringParserRuleCall_1_0_1() { return cInterfaceInterfaceEStringParserRuleCall_1_0_1; }
 
 		//","?
-		public Keyword getCommaKeyword_2_1() { return cCommaKeyword_2_1; }
+		public Keyword getCommaKeyword_2() { return cCommaKeyword_2; }
 	}
 
 	public class BasicComponentElements extends AbstractParserRuleElementFinder {
@@ -2090,6 +2276,9 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 	}
 	
 	private RepositoryElements pRepository;
+	private ImportElements pImport;
+	private QualifiedNameWithWildCardElements pQualifiedNameWithWildCard;
+	private QualifiedNameElements pQualifiedName;
 	private DataTypeElements pDataType;
 	private RepositoryComponentElements pRepositoryComponent;
 	private EStringElements pEString;
@@ -2151,15 +2340,28 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 	}
 
 	
+	/// *Repository returns repository::Repository:
+	//	'Repository'
+	//	name=QualifiedName
+	//	'{' 
+	//(
+	//		( datatypes+=DataType ) | 
+	//		(interfaces+=Interface) |
+	//		(components+=RepositoryComponent )|
+	//		(imports+=Import)
+	//		
+	//)*
+	//    '}';
+	//    
+	//  * /
+	//
 	//Repository returns repository::Repository:
 	//
-	//	"Repository" name=EString "{" (datatypes+=DataType | interfaces+=Interface | components+=RepositoryComponent)*
+	//	"Repository" name=QualifiedName "{" ("imports" "{" imports+=Import ("," imports+=Import)* "}")? ("datatypes" "{"
+	//
+	//	datatypes+=DataType ("," datatypes+=DataType)* "}")? ("components" "{" components+=RepositoryComponent (";"
 	//
-	//	/ *
-	//		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? 
-	//		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? 
-	//		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
-	// * /
+	//	components+=RepositoryComponent)* "}")? ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")?
 	//
 	//	"}";
 	public RepositoryElements getRepositoryAccess() {
@@ -2170,6 +2372,39 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 		return getRepositoryAccess().getRule();
 	}
 
+	//Import returns repository::Import:
+	//
+	//	"import" importedNamespace=QualifiedNameWithWildCard;
+	public ImportElements getImportAccess() {
+		return (pImport != null) ? pImport : (pImport = new ImportElements());
+	}
+	
+	public ParserRule getImportRule() {
+		return getImportAccess().getRule();
+	}
+
+	//QualifiedNameWithWildCard:
+	//
+	//	QualifiedName ("." "*")?;
+	public QualifiedNameWithWildCardElements getQualifiedNameWithWildCardAccess() {
+		return (pQualifiedNameWithWildCard != null) ? pQualifiedNameWithWildCard : (pQualifiedNameWithWildCard = new QualifiedNameWithWildCardElements());
+	}
+	
+	public ParserRule getQualifiedNameWithWildCardRule() {
+		return getQualifiedNameWithWildCardAccess().getRule();
+	}
+
+	//QualifiedName:
+	//
+	//	ID ("." ID)*;
+	public QualifiedNameElements getQualifiedNameAccess() {
+		return (pQualifiedName != null) ? pQualifiedName : (pQualifiedName = new QualifiedNameElements());
+	}
+	
+	public ParserRule getQualifiedNameRule() {
+		return getQualifiedNameAccess().getRule();
+	}
+
 	//DataType returns repository::DataType:
 	//
 	//	CollectionDataType | CompositeDataType | PrimitiveDataType;
@@ -2207,9 +2442,7 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 	//
 	//	"Interface" name=EString "{" ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] (","
 	//
-	//	parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature (","
-	//
-	//	signatures+=Signature)* "}")? "}";
+	//	parentInterfaces+=[repository::Interface|EString])* ")")? (signatures+=Signature ("," signatures+=Signature)*)? "}";
 	public InterfaceElements getInterfaceAccess() {
 		return (pInterface != null) ? pInterface : (pInterface = new InterfaceElements());
 	}
@@ -2320,7 +2553,7 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 
 	//ProvidedRole returns repository::ProvidedRole:
 	//
-	//	{repository::ProvidedRole} "ProvidedRole" (interface=[repository::Interface|EString] ","?)*;
+	//	"ProvidedRole" interface=[repository::Interface|EString] ","?;
 	public ProvidedRoleElements getProvidedRoleAccess() {
 		return (pProvidedRole != null) ? pProvidedRole : (pProvidedRole = new ProvidedRoleElements());
 	}
@@ -2331,7 +2564,7 @@ public class MyDslTestGrammarAccess extends AbstractGrammarElementFinder {
 
 	//RequiredRole returns repository::RequiredRole:
 	//
-	//	{repository::RequiredRole} "RequiredRole" (interface=[repository::Interface|EString] ","?)*;
+	//	"RequiredRole" interface=[repository::Interface|EString] ","?;
 	public RequiredRoleElements getRequiredRoleAccess() {
 		return (pRequiredRole != null) ? pRequiredRole : (pRequiredRole = new RequiredRoleElements());
 	}
diff --git a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/validation/AbstractMyDslTestJavaValidator.java b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/validation/AbstractMyDslTestJavaValidator.java
index e88d3ceb..bb17eddb 100644
--- a/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/validation/AbstractMyDslTestJavaValidator.java
+++ b/org.xtext.example.mydslTest/src-gen/org/xtext/example/mydsl/validation/AbstractMyDslTestJavaValidator.java
@@ -5,7 +5,9 @@ import java.util.List;
 
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
+import org.eclipse.xtext.validation.ComposedChecks;
 
+@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class, org.eclipse.xtext.validation.NamesAreUniqueValidator.class})
 public class AbstractMyDslTestJavaValidator extends AbstractDeclarativeValidator {
 
 	@Override
diff --git a/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/GenerateMyDslTest.mwe2 b/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/GenerateMyDslTest.mwe2
index 49b45432..8b27bf65 100644
--- a/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/GenerateMyDslTest.mwe2
+++ b/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/GenerateMyDslTest.mwe2
@@ -62,24 +62,24 @@ Workflow {
 				}
 			}
 
-			// the Ecore2Xtext specific terminal converter
+		// the Ecore2Xtext specific terminal converter
 			fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment {}
 
 			// java-based API for validation 
 			fragment = validation.JavaValidatorFragment {
-			// composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-			// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+			 composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+			 composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
 			}
 
 			// scoping and exporting API
-			fragment = scoping.ImportURIScopingFragment {}
-			fragment = exporting.SimpleNamesFragment {}
+			//fragment = scoping.ImportURIScopingFragment {}
+			//fragment = exporting.SimpleNamesFragment {}
 
 			// scoping and exporting API 
 
-			// fragment = scoping.ImportNamespacesScopingFragment {}
-			// fragment = exporting.QualifiedNamesFragment {}
-
+			 fragment = scoping.ImportNamespacesScopingFragment {}
+			 fragment = exporting.QualifiedNamesFragment {}
+			 fragment = builder.BuilderIntegrationFragment {}
 
 			// formatter API 
 			fragment = ecore2xtext.FormatterFragment {}
diff --git a/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/MyDslTest.xtext b/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/MyDslTest.xtext
index 8496644f..c1508c70 100644
--- a/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/MyDslTest.xtext
+++ b/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/MyDslTest.xtext
@@ -19,24 +19,41 @@ import "platform:/resource/edu.kit.ipd.descartes.mm/model/resourceconfiguration.
 
 import "platform:/resource/edu.kit.ipd.descartes.mm/model/resourcetype.ecore" as resourcetype
 
-Repository returns repository::Repository:
+/*Repository returns repository::Repository:
 	'Repository'
-	name=EString 
+	name=QualifiedName
 	'{' 
 (
 		( datatypes+=DataType ) | 
 		(interfaces+=Interface) |
-		(components+=RepositoryComponent )
+		(components+=RepositoryComponent )|
+		(imports+=Import)
 		
 )*
-
-/*
-		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? 
-		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? 
-		('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )?
-*/
+    '}';
+    
+  */
+    Repository returns repository::Repository:
+	'Repository'
+	name=QualifiedName
+	'{'
+	     ('imports' '{' imports+=Import ( "," imports+=Import)* '}' )?
+		('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )?
+		('components' '{' components+=RepositoryComponent ( ";" components+=RepositoryComponent)* '}' )?
+		('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )?
+		
     '}';
 
+
+Import returns repository::Import:
+'import' importedNamespace=QualifiedNameWithWildCard;
+
+QualifiedNameWithWildCard:
+QualifiedName ('.' '*')?;
+
+QualifiedName:
+ID ('.' ID)*
+;
 DataType returns repository::DataType:
 	CollectionDataType | CompositeDataType | PrimitiveDataType;
 
@@ -51,7 +68,7 @@ Interface returns repository::Interface:
 	name=EString
 	'{'
 		('parentInterfaces' '(' parentInterfaces+=[repository::Interface|EString] ( "," parentInterfaces+=[repository::Interface|EString])* ')' )?
-		('signatures' '{' signatures+=Signature ( "," signatures+=Signature)* '}' )?
+		(signatures+=Signature ( "," signatures+=Signature)*)?
     '}';
 
 RepositoryComponent_Impl returns repository::RepositoryComponent:
@@ -106,18 +123,16 @@ Signature returns repository::Signature:
 Parameter returns repository::Parameter:
     dataType=[repository::DataType|EString]
 		name=EString
-    ;
+    ; 
 
 ProvidedRole returns repository::ProvidedRole:
-	{repository::ProvidedRole}
 	'ProvidedRole' 
-	((interface=[repository::Interface|EString]) (',')?)*	
+	(interface=[repository::Interface|EString]) (',')?
 		;
 
 RequiredRole returns repository::RequiredRole:
-	{repository::RequiredRole}
 	'RequiredRole'
-		((interface=[repository::Interface|EString]) (',')?)*
+		(interface=[repository::Interface|EString]) (',')?
 		;
 
 BasicComponent returns repository::BasicComponent:
diff --git a/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/PrimitiveTypeConverter.java b/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/PrimitiveTypeConverter.java
new file mode 100644
index 00000000..012bf554
--- /dev/null
+++ b/org.xtext.example.mydslTest/src/org/xtext/example/mydsl/PrimitiveTypeConverter.java
@@ -0,0 +1,33 @@
+package org.xtext.example.mydsl;
+
+import org.eclipse.xtext.common.services.DefaultTerminalConverters;
+import org.eclipse.xtext.conversion.IValueConverter;
+import org.eclipse.xtext.conversion.ValueConverter;
+import org.eclipse.xtext.conversion.ValueConverterException;
+import org.eclipse.xtext.nodemodel.INode;
+
+import edu.kit.ipd.descartes.mm.repository.PrimitiveTypeEnum;
+
+public class PrimitiveTypeConverter extends DefaultTerminalConverters {
+	 @ValueConverter(rule = "PrimitiveTypeEnum")
+	    public IValueConverter<PrimitiveTypeEnum> ElementBound() {
+	        return new IValueConverter<PrimitiveTypeEnum>() {
+	        	
+	            public PrimitiveTypeEnum toValue(String string, INode node) {
+	                if (string == null)
+	                    throw new ValueConverterException("Couldn't convert empty string to int", node, null);
+	                try {
+	                    return Enum.valueOf(PrimitiveTypeEnum.class, string);
+	                } catch (NumberFormatException e) {
+	                    throw new ValueConverterException("Couldn't convert '"+string+"' to int", node,e);
+	                }
+	               
+	            }
+
+				@Override
+				 public String toString(PrimitiveTypeEnum value) {
+	                return value.toString();
+	            }
+	        };
+	 }
+}
\ No newline at end of file
-- 
GitLab