/**
 *                                                                            
 *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
 *                                                                            
 *  All rights reserved. This program and the accompanying materials           
 *  are made available under the terms of the Eclipse Public License v1.0       
 *  which accompanies this distribution, and is available at                  
 *  http://www.eclipse.org/legal/epl-v10.html                                 
 *                                                                            
 *  Contributors:                                                      
 * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
 * 
 */
package org.eclipse.osbp.xtext.datamartdsl.ui.contentassist.antlr;

import java.util.Collection;
import java.util.Map;
import java.util.HashMap;

import org.antlr.runtime.RecognitionException;
import org.eclipse.xtext.AbstractElement;
import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;

import com.google.inject.Inject;

import org.eclipse.osbp.xtext.datamartdsl.services.DatamartDSLGrammarAccess;

public class DatamartDSLParser extends AbstractContentAssistParser {
	
	@Inject
	private DatamartDSLGrammarAccess grammarAccess;
	
	private Map<AbstractElement, String> nameMappings;
	
	@Override
	protected org.eclipse.osbp.xtext.datamartdsl.ui.contentassist.antlr.internal.InternalDatamartDSLParser createParser() {
		org.eclipse.osbp.xtext.datamartdsl.ui.contentassist.antlr.internal.InternalDatamartDSLParser result = new org.eclipse.osbp.xtext.datamartdsl.ui.contentassist.antlr.internal.InternalDatamartDSLParser(null);
		result.setGrammarAccess(grammarAccess);
		return result;
	}
	
	@Override
	protected String getRuleName(AbstractElement element) {
		if (nameMappings == null) {
			nameMappings = new HashMap<AbstractElement, String>() {
				private static final long serialVersionUID = 1L;
				{
					put(grammarAccess.getDatamartSourceAccess().getAlternatives(), "rule__DatamartSource__Alternatives");
					put(grammarAccess.getDatamartNavigationAccess().getAlternatives(), "rule__DatamartNavigation__Alternatives");
					put(grammarAccess.getDatamartOperandAccess().getAlternatives(), "rule__DatamartOperand__Alternatives");
					put(grammarAccess.getDatamartValueAccess().getAlternatives(), "rule__DatamartValue__Alternatives");
					put(grammarAccess.getDatamartValueAccess().getAlternatives_2(), "rule__DatamartValue__Alternatives_2");
					put(grammarAccess.getDatamartCubeElementAccess().getAlternatives(), "rule__DatamartCubeElement__Alternatives");
					put(grammarAccess.getDatamartAdditionAccess().getAlternatives_1_0(), "rule__DatamartAddition__Alternatives_1_0");
					put(grammarAccess.getDatamartMultiplicationAccess().getAlternatives_1_0(), "rule__DatamartMultiplication__Alternatives_1_0");
					put(grammarAccess.getDatamartPrimaryAccess().getAlternatives(), "rule__DatamartPrimary__Alternatives");
					put(grammarAccess.getDatamartNumberOrElementAccess().getAlternatives(), "rule__DatamartNumberOrElement__Alternatives");
					put(grammarAccess.getDatamartMemberTupleAccess().getAlternatives_0_0(), "rule__DatamartMemberTuple__Alternatives_0_0");
					put(grammarAccess.getDatamartSetTupleAccess().getAlternatives_0(), "rule__DatamartSetTuple__Alternatives_0");
					put(grammarAccess.getDatamartAggregationAccess().getAlternatives_2(), "rule__DatamartAggregation__Alternatives_2");
					put(grammarAccess.getDatamartSetAggregationAccess().getAlternatives_2(), "rule__DatamartSetAggregation__Alternatives_2");
					put(grammarAccess.getDatamartElementAccess().getAlternatives(), "rule__DatamartElement__Alternatives");
					put(grammarAccess.getDatamartHierarchyAccess().getAlternatives_5_2(), "rule__DatamartHierarchy__Alternatives_5_2");
					put(grammarAccess.getDatamartHierarchyAccess().getOrderRefAlternatives_6_2_1_0(), "rule__DatamartHierarchy__OrderRefAlternatives_6_2_1_0");
					put(grammarAccess.getPropertyFillerTypeAccess().getAlternatives(), "rule__PropertyFillerType__Alternatives");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getAlternatives_1_0(), "rule__PropertyFillerSignedDoubleRange__Alternatives_1_0");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getAlternatives_1_2(), "rule__PropertyFillerSignedDoubleRange__Alternatives_1_2");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getAlternatives_2_0(), "rule__PropertyFillerSignedIntegerRange__Alternatives_2_0");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getAlternatives_2_2(), "rule__PropertyFillerSignedIntegerRange__Alternatives_2_2");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getAlternatives_1_0(), "rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_0");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getAlternatives_1_2(), "rule__PropertyFillerUnsignedDoubleRange__Alternatives_1_2");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getAlternatives_2_0(), "rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_0");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getAlternatives_2_2(), "rule__PropertyFillerUnsignedIntegerRange__Alternatives_2_2");
					put(grammarAccess.getXAnnotationAccess().getAlternatives_3_1(), "rule__XAnnotation__Alternatives_3_1");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives(), "rule__XAnnotationElementValueOrCommaList__Alternatives");
					put(grammarAccess.getXAnnotationElementValueAccess().getAlternatives(), "rule__XAnnotationElementValue__Alternatives");
					put(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives(), "rule__XAnnotationOrExpression__Alternatives");
					put(grammarAccess.getXAssignmentAccess().getAlternatives(), "rule__XAssignment__Alternatives");
					put(grammarAccess.getOpMultiAssignAccess().getAlternatives(), "rule__OpMultiAssign__Alternatives");
					put(grammarAccess.getOpEqualityAccess().getAlternatives(), "rule__OpEquality__Alternatives");
					put(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(), "rule__XRelationalExpression__Alternatives_1");
					put(grammarAccess.getOpCompareAccess().getAlternatives(), "rule__OpCompare__Alternatives");
					put(grammarAccess.getOpOtherAccess().getAlternatives(), "rule__OpOther__Alternatives");
					put(grammarAccess.getOpOtherAccess().getAlternatives_5_1(), "rule__OpOther__Alternatives_5_1");
					put(grammarAccess.getOpOtherAccess().getAlternatives_6_1(), "rule__OpOther__Alternatives_6_1");
					put(grammarAccess.getOpAddAccess().getAlternatives(), "rule__OpAdd__Alternatives");
					put(grammarAccess.getOpMultiAccess().getAlternatives(), "rule__OpMulti__Alternatives");
					put(grammarAccess.getXUnaryOperationAccess().getAlternatives(), "rule__XUnaryOperation__Alternatives");
					put(grammarAccess.getOpUnaryAccess().getAlternatives(), "rule__OpUnary__Alternatives");
					put(grammarAccess.getOpPostfixAccess().getAlternatives(), "rule__OpPostfix__Alternatives");
					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(), "rule__XMemberFeatureCall__Alternatives_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(), "rule__XMemberFeatureCall__Alternatives_1_1_3_1");
					put(grammarAccess.getXPrimaryExpressionAccess().getAlternatives(), "rule__XPrimaryExpression__Alternatives");
					put(grammarAccess.getXLiteralAccess().getAlternatives(), "rule__XLiteral__Alternatives");
					put(grammarAccess.getXCollectionLiteralAccess().getAlternatives(), "rule__XCollectionLiteral__Alternatives");
					put(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2(), "rule__XSwitchExpression__Alternatives_2");
					put(grammarAccess.getXCasePartAccess().getAlternatives_3(), "rule__XCasePart__Alternatives_3");
					put(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives(), "rule__XExpressionOrVarDeclaration__Alternatives");
					put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(), "rule__XVariableDeclaration__Alternatives_1");
					put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(), "rule__XVariableDeclaration__Alternatives_2");
					put(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1(), "rule__XFeatureCall__Alternatives_3_1");
					put(grammarAccess.getFeatureCallIDAccess().getAlternatives(), "rule__FeatureCallID__Alternatives");
					put(grammarAccess.getIdOrSuperAccess().getAlternatives(), "rule__IdOrSuper__Alternatives");
					put(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1(), "rule__XConstructorCall__Alternatives_4_1");
					put(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(), "rule__XBooleanLiteral__Alternatives_1");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(), "rule__XTryCatchFinallyExpression__Alternatives_3");
					put(grammarAccess.getNumberAccess().getAlternatives(), "rule__Number__Alternatives");
					put(grammarAccess.getNumberAccess().getAlternatives_1_0(), "rule__Number__Alternatives_1_0");
					put(grammarAccess.getNumberAccess().getAlternatives_1_1_1(), "rule__Number__Alternatives_1_1_1");
					put(grammarAccess.getJvmTypeReferenceAccess().getAlternatives(), "rule__JvmTypeReference__Alternatives");
					put(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(), "rule__JvmArgumentTypeReference__Alternatives");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(), "rule__JvmWildcardTypeReference__Alternatives_2");
					put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1(), "rule__XImportDeclaration__Alternatives_1");
					put(grammarAccess.getXImportDeclarationAccess().getAlternatives_1_0_3(), "rule__XImportDeclaration__Alternatives_1_0_3");
					put(grammarAccess.getAxisEnumAccess().getAlternatives(), "rule__AxisEnum__Alternatives");
					put(grammarAccess.getFunctionEnumAccess().getAlternatives(), "rule__FunctionEnum__Alternatives");
					put(grammarAccess.getParameterFunctionEnumAccess().getAlternatives(), "rule__ParameterFunctionEnum__Alternatives");
					put(grammarAccess.getSetFunctionEnumAccess().getAlternatives(), "rule__SetFunctionEnum__Alternatives");
					put(grammarAccess.getSetParameterFunctionEnumAccess().getAlternatives(), "rule__SetParameterFunctionEnum__Alternatives");
					put(grammarAccess.getSetAggregationEnumAccess().getAlternatives(), "rule__SetAggregationEnum__Alternatives");
					put(grammarAccess.getAggregationEnumAccess().getAlternatives(), "rule__AggregationEnum__Alternatives");
					put(grammarAccess.getOperatorEnumAccess().getAlternatives(), "rule__OperatorEnum__Alternatives");
					put(grammarAccess.getSqlAggregationEnumAccess().getAlternatives(), "rule__SqlAggregationEnum__Alternatives");
					put(grammarAccess.getValueScaleEnumAccess().getAlternatives(), "rule__ValueScaleEnum__Alternatives");
					put(grammarAccess.getTaskQueryTopicEnumAccess().getAlternatives(), "rule__TaskQueryTopicEnum__Alternatives");
					put(grammarAccess.getTaskQueryColumnEnumAccess().getAlternatives(), "rule__TaskQueryColumnEnum__Alternatives");
					put(grammarAccess.getTaskFilterEnumAccess().getAlternatives(), "rule__TaskFilterEnum__Alternatives");
					put(grammarAccess.getOrderEnumAccess().getAlternatives(), "rule__OrderEnum__Alternatives");
					put(grammarAccess.getDatamartPackageAccess().getGroup(), "rule__DatamartPackage__Group__0");
					put(grammarAccess.getDatamartPackageAccess().getGroup_3(), "rule__DatamartPackage__Group_3__0");
					put(grammarAccess.getDatamartDefinitionAccess().getGroup(), "rule__DatamartDefinition__Group__0");
					put(grammarAccess.getDatamartDefinitionAccess().getGroup_2(), "rule__DatamartDefinition__Group_2__0");
					put(grammarAccess.getDatamartDefinitionAccess().getGroup_3(), "rule__DatamartDefinition__Group_3__0");
					put(grammarAccess.getDatamartRoleAccess().getGroup(), "rule__DatamartRole__Group__0");
					put(grammarAccess.getDatamartTaskAccess().getGroup(), "rule__DatamartTask__Group__0");
					put(grammarAccess.getDatamartTaskAccess().getGroup_2(), "rule__DatamartTask__Group_2__0");
					put(grammarAccess.getDatamartTaskAccess().getGroup_3(), "rule__DatamartTask__Group_3__0");
					put(grammarAccess.getDatamartColumnAccess().getGroup(), "rule__DatamartColumn__Group__0");
					put(grammarAccess.getDatamartTaskFilterAccess().getGroup(), "rule__DatamartTaskFilter__Group__0");
					put(grammarAccess.getDatamartCubeAccess().getGroup(), "rule__DatamartCube__Group__0");
					put(grammarAccess.getDatamartReferenceAccess().getGroup(), "rule__DatamartReference__Group__0");
					put(grammarAccess.getDatamartEntityAccess().getGroup(), "rule__DatamartEntity__Group__0");
					put(grammarAccess.getDatamartEntityAccess().getGroup_4(), "rule__DatamartEntity__Group_4__0");
					put(grammarAccess.getDatamartEntityAccess().getGroup_5(), "rule__DatamartEntity__Group_5__0");
					put(grammarAccess.getDatamartEntityAccess().getGroup_6(), "rule__DatamartEntity__Group_6__0");
					put(grammarAccess.getDatamartEntityAccess().getGroup_7(), "rule__DatamartEntity__Group_7__0");
					put(grammarAccess.getDatamartEntityAccess().getGroup_8(), "rule__DatamartEntity__Group_8__0");
					put(grammarAccess.getDatamartOwnerAccess().getGroup(), "rule__DatamartOwner__Group__0");
					put(grammarAccess.getDatamartMemberAccess().getGroup(), "rule__DatamartMember__Group__0");
					put(grammarAccess.getDatamartPropertyAccess().getGroup(), "rule__DatamartProperty__Group__0");
					put(grammarAccess.getDatamartPropertyAccess().getGroup_2_0(), "rule__DatamartProperty__Group_2_0__0");
					put(grammarAccess.getDatamartPropertyAccess().getGroup_2_1(), "rule__DatamartProperty__Group_2_1__0");
					put(grammarAccess.getDatamartPropertyAccess().getGroup_2_2(), "rule__DatamartProperty__Group_2_2__0");
					put(grammarAccess.getDatamartConditionAccess().getGroup(), "rule__DatamartCondition__Group__0");
					put(grammarAccess.getDatamartOrderAccess().getGroup(), "rule__DatamartOrder__Group__0");
					put(grammarAccess.getDatamartDisjunctionAccess().getGroup(), "rule__DatamartDisjunction__Group__0");
					put(grammarAccess.getDatamartDisjunctionAccess().getGroup_1(), "rule__DatamartDisjunction__Group_1__0");
					put(grammarAccess.getDatamartDisjunctionAccess().getGroup_1_0(), "rule__DatamartDisjunction__Group_1_0__0");
					put(grammarAccess.getDatamartConjunctionAccess().getGroup(), "rule__DatamartConjunction__Group__0");
					put(grammarAccess.getDatamartConjunctionAccess().getGroup_1(), "rule__DatamartConjunction__Group_1__0");
					put(grammarAccess.getDatamartConjunctionAccess().getGroup_1_0(), "rule__DatamartConjunction__Group_1_0__0");
					put(grammarAccess.getDatamartConditionalExpressionAccess().getGroup(), "rule__DatamartConditionalExpression__Group__0");
					put(grammarAccess.getDatamartConditionalExpressionAccess().getGroup_1(), "rule__DatamartConditionalExpression__Group_1__0");
					put(grammarAccess.getDatamartConditionalExpressionAccess().getGroup_1_0(), "rule__DatamartConditionalExpression__Group_1_0__0");
					put(grammarAccess.getDatamartOperandAccess().getGroup_1(), "rule__DatamartOperand__Group_1__0");
					put(grammarAccess.getDatamartValueAccess().getGroup_2_0(), "rule__DatamartValue__Group_2_0__0");
					put(grammarAccess.getDatamartDefineDerivedMeasureAccess().getGroup(), "rule__DatamartDefineDerivedMeasure__Group__0");
					put(grammarAccess.getDatamartAdditionAccess().getGroup(), "rule__DatamartAddition__Group__0");
					put(grammarAccess.getDatamartAdditionAccess().getGroup_1(), "rule__DatamartAddition__Group_1__0");
					put(grammarAccess.getDatamartAdditionAccess().getGroup_1_0_0(), "rule__DatamartAddition__Group_1_0_0__0");
					put(grammarAccess.getDatamartAdditionAccess().getGroup_1_0_1(), "rule__DatamartAddition__Group_1_0_1__0");
					put(grammarAccess.getDatamartMultiplicationAccess().getGroup(), "rule__DatamartMultiplication__Group__0");
					put(grammarAccess.getDatamartMultiplicationAccess().getGroup_1(), "rule__DatamartMultiplication__Group_1__0");
					put(grammarAccess.getDatamartMultiplicationAccess().getGroup_1_0_0(), "rule__DatamartMultiplication__Group_1_0_0__0");
					put(grammarAccess.getDatamartMultiplicationAccess().getGroup_1_0_1(), "rule__DatamartMultiplication__Group_1_0_1__0");
					put(grammarAccess.getDatamartPrimaryAccess().getGroup_1(), "rule__DatamartPrimary__Group_1__0");
					put(grammarAccess.getDatamartMemberTupleAccess().getGroup(), "rule__DatamartMemberTuple__Group__0");
					put(grammarAccess.getDatamartMemberTupleAccess().getGroup_0(), "rule__DatamartMemberTuple__Group_0__0");
					put(grammarAccess.getDatamartMemberTupleAccess().getGroup_2(), "rule__DatamartMemberTuple__Group_2__0");
					put(grammarAccess.getDatamartParameterFunctionAccess().getGroup(), "rule__DatamartParameterFunction__Group__0");
					put(grammarAccess.getDatamartSetParameterFunctionAccess().getGroup(), "rule__DatamartSetParameterFunction__Group__0");
					put(grammarAccess.getDatamartSetAggregationFunctionAccess().getGroup(), "rule__DatamartSetAggregationFunction__Group__0");
					put(grammarAccess.getDatamartSetTupleAccess().getGroup(), "rule__DatamartSetTuple__Group__0");
					put(grammarAccess.getDatamartSetTupleAccess().getGroup_1(), "rule__DatamartSetTuple__Group_1__0");
					put(grammarAccess.getDatamartAggregationAccess().getGroup(), "rule__DatamartAggregation__Group__0");
					put(grammarAccess.getDatamartAggregationAccess().getGroup_3(), "rule__DatamartAggregation__Group_3__0");
					put(grammarAccess.getDatamartSetAggregationAccess().getGroup(), "rule__DatamartSetAggregation__Group__0");
					put(grammarAccess.getDatamartSetAggregationAccess().getGroup_3(), "rule__DatamartSetAggregation__Group_3__0");
					put(grammarAccess.getDatamartSlicerAccess().getGroup(), "rule__DatamartSlicer__Group__0");
					put(grammarAccess.getDatamartAxisAccess().getGroup(), "rule__DatamartAxis__Group__0");
					put(grammarAccess.getDatamartDerivedMeasureAccess().getGroup(), "rule__DatamartDerivedMeasure__Group__0");
					put(grammarAccess.getDatamartDerivedMeasureAccess().getGroup_2(), "rule__DatamartDerivedMeasure__Group_2__0");
					put(grammarAccess.getDatamartMeasureAccess().getGroup(), "rule__DatamartMeasure__Group__0");
					put(grammarAccess.getDatamartMeasureAccess().getGroup_2(), "rule__DatamartMeasure__Group_2__0");
					put(grammarAccess.getDatamartHierarchyAccess().getGroup(), "rule__DatamartHierarchy__Group__0");
					put(grammarAccess.getDatamartHierarchyAccess().getGroup_5(), "rule__DatamartHierarchy__Group_5__0");
					put(grammarAccess.getDatamartHierarchyAccess().getGroup_6(), "rule__DatamartHierarchy__Group_6__0");
					put(grammarAccess.getDatamartHierarchyAccess().getGroup_6_1(), "rule__DatamartHierarchy__Group_6_1__0");
					put(grammarAccess.getDatamartHierarchyAccess().getGroup_6_2(), "rule__DatamartHierarchy__Group_6_2__0");
					put(grammarAccess.getDatamartImportAccess().getGroup(), "rule__DatamartImport__Group__0");
					put(grammarAccess.getDatamartQualifiedNameWithWildCardAccess().getGroup(), "rule__DatamartQualifiedNameWithWildCard__Group__0");
					put(grammarAccess.getDatamartQualifiedNameWithWildCardAccess().getGroup_1(), "rule__DatamartQualifiedNameWithWildCard__Group_1__0");
					put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
					put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
					put(grammarAccess.getPropertyFillerDataAccess().getGroup(), "rule__PropertyFillerData__Group__0");
					put(grammarAccess.getPropertyFillerDateFutureAccess().getGroup(), "rule__PropertyFillerDateFuture__Group__0");
					put(grammarAccess.getPropertyFillerDatePastAccess().getGroup(), "rule__PropertyFillerDatePast__Group__0");
					put(grammarAccess.getPropertyFillerDateRangeAccess().getGroup(), "rule__PropertyFillerDateRange__Group__0");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getGroup(), "rule__PropertyFillerSignedDoubleRange__Group__0");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getGroup_1(), "rule__PropertyFillerSignedDoubleRange__Group_1__0");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getGroup_5(), "rule__PropertyFillerSignedDoubleRange__Group_5__0");
					put(grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getGroup(), "rule__PropertyFillerSignedDoubleRandom__Group__0");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getGroup(), "rule__PropertyFillerSignedIntegerRange__Group__0");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getGroup_2(), "rule__PropertyFillerSignedIntegerRange__Group_2__0");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getGroup_3(), "rule__PropertyFillerSignedIntegerRange__Group_3__0");
					put(grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getGroup(), "rule__PropertyFillerSignedIntegerRandom__Group__0");
					put(grammarAccess.getPropertyFillerTextRandomAccess().getGroup(), "rule__PropertyFillerTextRandom__Group__0");
					put(grammarAccess.getPropertyFillerTextParagraphsAccess().getGroup(), "rule__PropertyFillerTextParagraphs__Group__0");
					put(grammarAccess.getPropertyFillerTextSentencesAccess().getGroup(), "rule__PropertyFillerTextSentences__Group__0");
					put(grammarAccess.getPropertyFillerTextWordsAccess().getGroup(), "rule__PropertyFillerTextWords__Group__0");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getGroup(), "rule__PropertyFillerUnsignedDoubleRange__Group__0");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getGroup_1(), "rule__PropertyFillerUnsignedDoubleRange__Group_1__0");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getGroup_5(), "rule__PropertyFillerUnsignedDoubleRange__Group_5__0");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getGroup(), "rule__PropertyFillerUnsignedDoubleRandom__Group__0");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getGroup(), "rule__PropertyFillerUnsignedIntegerRange__Group__0");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getGroup_2(), "rule__PropertyFillerUnsignedIntegerRange__Group_2__0");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getGroup_3(), "rule__PropertyFillerUnsignedIntegerRange__Group_3__0");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getGroup(), "rule__PropertyFillerUnsignedIntegerRandom__Group__0");
					put(grammarAccess.getSignedNumberAccess().getGroup(), "rule__SignedNumber__Group__0");
					put(grammarAccess.getUnsignedNumberAccess().getGroup(), "rule__UnsignedNumber__Group__0");
					put(grammarAccess.getUnsignedNumberAccess().getGroup_1(), "rule__UnsignedNumber__Group_1__0");
					put(grammarAccess.getSINTAccess().getGroup(), "rule__SINT__Group__0");
					put(grammarAccess.getXAnnotationAccess().getGroup(), "rule__XAnnotation__Group__0");
					put(grammarAccess.getXAnnotationAccess().getGroup_3(), "rule__XAnnotation__Group_3__0");
					put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0(), "rule__XAnnotation__Group_3_1_0__0");
					put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1(), "rule__XAnnotation__Group_3_1_0_1__0");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup(), "rule__XAnnotationElementValuePair__Group__0");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0(), "rule__XAnnotationElementValuePair__Group_0__0");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0(), "rule__XAnnotationElementValuePair__Group_0_0__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0(), "rule__XAnnotationElementValueOrCommaList__Group_0__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1(), "rule__XAnnotationElementValueOrCommaList__Group_1__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0(), "rule__XAnnotationElementValue__Group_0__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0(), "rule__XAnnotationElementValue__Group_0_0__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0(), "rule__XAnnotationElementValue__Group_0_0_0__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1(), "rule__XAnnotationElementValue__Group_0_1__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1(), "rule__XAnnotationElementValue__Group_0_1_1__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_0(), "rule__XAssignment__Group_0__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_1(), "rule__XAssignment__Group_1__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_1_1(), "rule__XAssignment__Group_1_1__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0(), "rule__XAssignment__Group_1_1_0__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(), "rule__XAssignment__Group_1_1_0_0__0");
					put(grammarAccess.getOpMultiAssignAccess().getGroup_5(), "rule__OpMultiAssign__Group_5__0");
					put(grammarAccess.getOpMultiAssignAccess().getGroup_6(), "rule__OpMultiAssign__Group_6__0");
					put(grammarAccess.getXOrExpressionAccess().getGroup(), "rule__XOrExpression__Group__0");
					put(grammarAccess.getXOrExpressionAccess().getGroup_1(), "rule__XOrExpression__Group_1__0");
					put(grammarAccess.getXOrExpressionAccess().getGroup_1_0(), "rule__XOrExpression__Group_1_0__0");
					put(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(), "rule__XOrExpression__Group_1_0_0__0");
					put(grammarAccess.getXAndExpressionAccess().getGroup(), "rule__XAndExpression__Group__0");
					put(grammarAccess.getXAndExpressionAccess().getGroup_1(), "rule__XAndExpression__Group_1__0");
					put(grammarAccess.getXAndExpressionAccess().getGroup_1_0(), "rule__XAndExpression__Group_1_0__0");
					put(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(), "rule__XAndExpression__Group_1_0_0__0");
					put(grammarAccess.getXEqualityExpressionAccess().getGroup(), "rule__XEqualityExpression__Group__0");
					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1(), "rule__XEqualityExpression__Group_1__0");
					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(), "rule__XEqualityExpression__Group_1_0__0");
					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(), "rule__XEqualityExpression__Group_1_0_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup(), "rule__XRelationalExpression__Group__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(), "rule__XRelationalExpression__Group_1_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(), "rule__XRelationalExpression__Group_1_0_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(), "rule__XRelationalExpression__Group_1_0_0_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(), "rule__XRelationalExpression__Group_1_1__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(), "rule__XRelationalExpression__Group_1_1_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(), "rule__XRelationalExpression__Group_1_1_0_0__0");
					put(grammarAccess.getOpCompareAccess().getGroup_1(), "rule__OpCompare__Group_1__0");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup(), "rule__XOtherOperatorExpression__Group__0");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(), "rule__XOtherOperatorExpression__Group_1__0");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(), "rule__XOtherOperatorExpression__Group_1_0__0");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(), "rule__XOtherOperatorExpression__Group_1_0_0__0");
					put(grammarAccess.getOpOtherAccess().getGroup_2(), "rule__OpOther__Group_2__0");
					put(grammarAccess.getOpOtherAccess().getGroup_5(), "rule__OpOther__Group_5__0");
					put(grammarAccess.getOpOtherAccess().getGroup_5_1_0(), "rule__OpOther__Group_5_1_0__0");
					put(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0(), "rule__OpOther__Group_5_1_0_0__0");
					put(grammarAccess.getOpOtherAccess().getGroup_6(), "rule__OpOther__Group_6__0");
					put(grammarAccess.getOpOtherAccess().getGroup_6_1_0(), "rule__OpOther__Group_6_1_0__0");
					put(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0(), "rule__OpOther__Group_6_1_0_0__0");
					put(grammarAccess.getXAdditiveExpressionAccess().getGroup(), "rule__XAdditiveExpression__Group__0");
					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1(), "rule__XAdditiveExpression__Group_1__0");
					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(), "rule__XAdditiveExpression__Group_1_0__0");
					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(), "rule__XAdditiveExpression__Group_1_0_0__0");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup(), "rule__XMultiplicativeExpression__Group__0");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(), "rule__XMultiplicativeExpression__Group_1__0");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(), "rule__XMultiplicativeExpression__Group_1_0__0");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(), "rule__XMultiplicativeExpression__Group_1_0_0__0");
					put(grammarAccess.getXUnaryOperationAccess().getGroup_0(), "rule__XUnaryOperation__Group_0__0");
					put(grammarAccess.getXCastedExpressionAccess().getGroup(), "rule__XCastedExpression__Group__0");
					put(grammarAccess.getXCastedExpressionAccess().getGroup_1(), "rule__XCastedExpression__Group_1__0");
					put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0(), "rule__XCastedExpression__Group_1_0__0");
					put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(), "rule__XCastedExpression__Group_1_0_0__0");
					put(grammarAccess.getXPostfixOperationAccess().getGroup(), "rule__XPostfixOperation__Group__0");
					put(grammarAccess.getXPostfixOperationAccess().getGroup_1(), "rule__XPostfixOperation__Group_1__0");
					put(grammarAccess.getXPostfixOperationAccess().getGroup_1_0(), "rule__XPostfixOperation__Group_1_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup(), "rule__XMemberFeatureCall__Group__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(), "rule__XMemberFeatureCall__Group_1_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(), "rule__XMemberFeatureCall__Group_1_0_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(), "rule__XMemberFeatureCall__Group_1_0_0_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(), "rule__XMemberFeatureCall__Group_1_1__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(), "rule__XMemberFeatureCall__Group_1_1_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(), "rule__XMemberFeatureCall__Group_1_1_0_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_1__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(), "rule__XMemberFeatureCall__Group_1_1_1_2__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(), "rule__XMemberFeatureCall__Group_1_1_3__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0");
					put(grammarAccess.getXSetLiteralAccess().getGroup(), "rule__XSetLiteral__Group__0");
					put(grammarAccess.getXSetLiteralAccess().getGroup_3(), "rule__XSetLiteral__Group_3__0");
					put(grammarAccess.getXSetLiteralAccess().getGroup_3_1(), "rule__XSetLiteral__Group_3_1__0");
					put(grammarAccess.getXListLiteralAccess().getGroup(), "rule__XListLiteral__Group__0");
					put(grammarAccess.getXListLiteralAccess().getGroup_3(), "rule__XListLiteral__Group_3__0");
					put(grammarAccess.getXListLiteralAccess().getGroup_3_1(), "rule__XListLiteral__Group_3_1__0");
					put(grammarAccess.getXClosureAccess().getGroup(), "rule__XClosure__Group__0");
					put(grammarAccess.getXClosureAccess().getGroup_0(), "rule__XClosure__Group_0__0");
					put(grammarAccess.getXClosureAccess().getGroup_0_0(), "rule__XClosure__Group_0_0__0");
					put(grammarAccess.getXClosureAccess().getGroup_1(), "rule__XClosure__Group_1__0");
					put(grammarAccess.getXClosureAccess().getGroup_1_0(), "rule__XClosure__Group_1_0__0");
					put(grammarAccess.getXClosureAccess().getGroup_1_0_0(), "rule__XClosure__Group_1_0_0__0");
					put(grammarAccess.getXClosureAccess().getGroup_1_0_0_1(), "rule__XClosure__Group_1_0_0_1__0");
					put(grammarAccess.getXExpressionInClosureAccess().getGroup(), "rule__XExpressionInClosure__Group__0");
					put(grammarAccess.getXExpressionInClosureAccess().getGroup_1(), "rule__XExpressionInClosure__Group_1__0");
					put(grammarAccess.getXShortClosureAccess().getGroup(), "rule__XShortClosure__Group__0");
					put(grammarAccess.getXShortClosureAccess().getGroup_0(), "rule__XShortClosure__Group_0__0");
					put(grammarAccess.getXShortClosureAccess().getGroup_0_0(), "rule__XShortClosure__Group_0_0__0");
					put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1(), "rule__XShortClosure__Group_0_0_1__0");
					put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(), "rule__XShortClosure__Group_0_0_1_1__0");
					put(grammarAccess.getXParenthesizedExpressionAccess().getGroup(), "rule__XParenthesizedExpression__Group__0");
					put(grammarAccess.getXIfExpressionAccess().getGroup(), "rule__XIfExpression__Group__0");
					put(grammarAccess.getXIfExpressionAccess().getGroup_6(), "rule__XIfExpression__Group_6__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup(), "rule__XSwitchExpression__Group__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0(), "rule__XSwitchExpression__Group_2_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0(), "rule__XSwitchExpression__Group_2_0_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0(), "rule__XSwitchExpression__Group_2_0_0_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1(), "rule__XSwitchExpression__Group_2_1__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0(), "rule__XSwitchExpression__Group_2_1_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0(), "rule__XSwitchExpression__Group_2_1_0_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_5(), "rule__XSwitchExpression__Group_5__0");
					put(grammarAccess.getXCasePartAccess().getGroup(), "rule__XCasePart__Group__0");
					put(grammarAccess.getXCasePartAccess().getGroup_2(), "rule__XCasePart__Group_2__0");
					put(grammarAccess.getXCasePartAccess().getGroup_3_0(), "rule__XCasePart__Group_3_0__0");
					put(grammarAccess.getXForLoopExpressionAccess().getGroup(), "rule__XForLoopExpression__Group__0");
					put(grammarAccess.getXForLoopExpressionAccess().getGroup_0(), "rule__XForLoopExpression__Group_0__0");
					put(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0(), "rule__XForLoopExpression__Group_0_0__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup(), "rule__XBasicForLoopExpression__Group__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3(), "rule__XBasicForLoopExpression__Group_3__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1(), "rule__XBasicForLoopExpression__Group_3_1__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7(), "rule__XBasicForLoopExpression__Group_7__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1(), "rule__XBasicForLoopExpression__Group_7_1__0");
					put(grammarAccess.getXWhileExpressionAccess().getGroup(), "rule__XWhileExpression__Group__0");
					put(grammarAccess.getXDoWhileExpressionAccess().getGroup(), "rule__XDoWhileExpression__Group__0");
					put(grammarAccess.getXBlockExpressionAccess().getGroup(), "rule__XBlockExpression__Group__0");
					put(grammarAccess.getXBlockExpressionAccess().getGroup_2(), "rule__XBlockExpression__Group_2__0");
					put(grammarAccess.getXVariableDeclarationAccess().getGroup(), "rule__XVariableDeclaration__Group__0");
					put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(), "rule__XVariableDeclaration__Group_2_0__0");
					put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(), "rule__XVariableDeclaration__Group_2_0_0__0");
					put(grammarAccess.getXVariableDeclarationAccess().getGroup_3(), "rule__XVariableDeclaration__Group_3__0");
					put(grammarAccess.getJvmFormalParameterAccess().getGroup(), "rule__JvmFormalParameter__Group__0");
					put(grammarAccess.getFullJvmFormalParameterAccess().getGroup(), "rule__FullJvmFormalParameter__Group__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup(), "rule__XFeatureCall__Group__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_1(), "rule__XFeatureCall__Group_1__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_1_2(), "rule__XFeatureCall__Group_1_2__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_3(), "rule__XFeatureCall__Group_3__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1(), "rule__XFeatureCall__Group_3_1_1__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1(), "rule__XFeatureCall__Group_3_1_1_1__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup(), "rule__XConstructorCall__Group__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_3(), "rule__XConstructorCall__Group_3__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_3_2(), "rule__XConstructorCall__Group_3_2__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_4(), "rule__XConstructorCall__Group_4__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1(), "rule__XConstructorCall__Group_4_1_1__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1(), "rule__XConstructorCall__Group_4_1_1_1__0");
					put(grammarAccess.getXBooleanLiteralAccess().getGroup(), "rule__XBooleanLiteral__Group__0");
					put(grammarAccess.getXNullLiteralAccess().getGroup(), "rule__XNullLiteral__Group__0");
					put(grammarAccess.getXNumberLiteralAccess().getGroup(), "rule__XNumberLiteral__Group__0");
					put(grammarAccess.getXStringLiteralAccess().getGroup(), "rule__XStringLiteral__Group__0");
					put(grammarAccess.getXTypeLiteralAccess().getGroup(), "rule__XTypeLiteral__Group__0");
					put(grammarAccess.getXThrowExpressionAccess().getGroup(), "rule__XThrowExpression__Group__0");
					put(grammarAccess.getXReturnExpressionAccess().getGroup(), "rule__XReturnExpression__Group__0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(), "rule__XTryCatchFinallyExpression__Group__0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(), "rule__XTryCatchFinallyExpression__Group_3_0__0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(), "rule__XTryCatchFinallyExpression__Group_3_0_1__0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(), "rule__XTryCatchFinallyExpression__Group_3_1__0");
					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup(), "rule__XSynchronizedExpression__Group__0");
					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0(), "rule__XSynchronizedExpression__Group_0__0");
					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0(), "rule__XSynchronizedExpression__Group_0_0__0");
					put(grammarAccess.getXCatchClauseAccess().getGroup(), "rule__XCatchClause__Group__0");
					put(grammarAccess.getNumberAccess().getGroup_1(), "rule__Number__Group_1__0");
					put(grammarAccess.getNumberAccess().getGroup_1_1(), "rule__Number__Group_1_1__0");
					put(grammarAccess.getStaticQualifierAccess().getGroup(), "rule__StaticQualifier__Group__0");
					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0(), "rule__JvmTypeReference__Group_0__0");
					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1(), "rule__JvmTypeReference__Group_0_1__0");
					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0(), "rule__JvmTypeReference__Group_0_1_0__0");
					put(grammarAccess.getArrayBracketsAccess().getGroup(), "rule__ArrayBrackets__Group__0");
					put(grammarAccess.getXFunctionTypeRefAccess().getGroup(), "rule__XFunctionTypeRef__Group__0");
					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0(), "rule__XFunctionTypeRef__Group_0__0");
					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1(), "rule__XFunctionTypeRef__Group_0_1__0");
					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1(), "rule__XFunctionTypeRef__Group_0_1_1__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(), "rule__JvmParameterizedTypeReference__Group__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(), "rule__JvmParameterizedTypeReference__Group_1__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(), "rule__JvmParameterizedTypeReference__Group_1_2__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4(), "rule__JvmParameterizedTypeReference__Group_1_4__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(), "rule__JvmWildcardTypeReference__Group__0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0(), "rule__JvmWildcardTypeReference__Group_2_0__0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1(), "rule__JvmWildcardTypeReference__Group_2_1__0");
					put(grammarAccess.getJvmUpperBoundAccess().getGroup(), "rule__JvmUpperBound__Group__0");
					put(grammarAccess.getJvmUpperBoundAndedAccess().getGroup(), "rule__JvmUpperBoundAnded__Group__0");
					put(grammarAccess.getJvmLowerBoundAccess().getGroup(), "rule__JvmLowerBound__Group__0");
					put(grammarAccess.getJvmLowerBoundAndedAccess().getGroup(), "rule__JvmLowerBoundAnded__Group__0");
					put(grammarAccess.getJvmTypeParameterAccess().getGroup(), "rule__JvmTypeParameter__Group__0");
					put(grammarAccess.getJvmTypeParameterAccess().getGroup_1(), "rule__JvmTypeParameter__Group_1__0");
					put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0");
					put(grammarAccess.getXImportDeclarationAccess().getGroup(), "rule__XImportDeclaration__Group__0");
					put(grammarAccess.getXImportDeclarationAccess().getGroup_1_0(), "rule__XImportDeclaration__Group_1_0__0");
					put(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup(), "rule__QualifiedNameInStaticImport__Group__0");
					put(grammarAccess.getDatamartModelAccess().getPackagesAssignment(), "rule__DatamartModel__PackagesAssignment");
					put(grammarAccess.getDatamartPackageAccess().getNameAssignment_2(), "rule__DatamartPackage__NameAssignment_2");
					put(grammarAccess.getDatamartPackageAccess().getImportsAssignment_3_1(), "rule__DatamartPackage__ImportsAssignment_3_1");
					put(grammarAccess.getDatamartPackageAccess().getDefinitionsAssignment_3_2(), "rule__DatamartPackage__DefinitionsAssignment_3_2");
					put(grammarAccess.getDatamartDefinitionAccess().getNameAssignment_1(), "rule__DatamartDefinition__NameAssignment_1");
					put(grammarAccess.getDatamartDefinitionAccess().getDescriptionAssignment_2_0(), "rule__DatamartDefinition__DescriptionAssignment_2_0");
					put(grammarAccess.getDatamartDefinitionAccess().getDescriptionValueAssignment_2_1(), "rule__DatamartDefinition__DescriptionValueAssignment_2_1");
					put(grammarAccess.getDatamartDefinitionAccess().getRolesAssignment_3_2(), "rule__DatamartDefinition__RolesAssignment_3_2");
					put(grammarAccess.getDatamartDefinitionAccess().getSourceAssignment_5(), "rule__DatamartDefinition__SourceAssignment_5");
					put(grammarAccess.getDatamartRoleAccess().getAssignedRoleAssignment_1(), "rule__DatamartRole__AssignedRoleAssignment_1");
					put(grammarAccess.getDatamartTaskAccess().getTaskQueryAssignment_1(), "rule__DatamartTask__TaskQueryAssignment_1");
					put(grammarAccess.getDatamartTaskAccess().getColumnsAssignment_2_2(), "rule__DatamartTask__ColumnsAssignment_2_2");
					put(grammarAccess.getDatamartTaskAccess().getConditionsAssignment_3_2(), "rule__DatamartTask__ConditionsAssignment_3_2");
					put(grammarAccess.getDatamartColumnAccess().getColumnRefAssignment_1(), "rule__DatamartColumn__ColumnRefAssignment_1");
					put(grammarAccess.getDatamartTaskFilterAccess().getFilterRefAssignment_1(), "rule__DatamartTaskFilter__FilterRefAssignment_1");
					put(grammarAccess.getDatamartCubeAccess().getCubeRefAssignment_1(), "rule__DatamartCube__CubeRefAssignment_1");
					put(grammarAccess.getDatamartCubeAccess().getNonEmptyAssignment_2(), "rule__DatamartCube__NonEmptyAssignment_2");
					put(grammarAccess.getDatamartCubeAccess().getAxisslicerAssignment_4(), "rule__DatamartCube__AxisslicerAssignment_4");
					put(grammarAccess.getDatamartReferenceAccess().getRefAssignment_1(), "rule__DatamartReference__RefAssignment_1");
					put(grammarAccess.getDatamartEntityAccess().getEntityRefAssignment_1(), "rule__DatamartEntity__EntityRefAssignment_1");
					put(grammarAccess.getDatamartEntityAccess().getTrackingAssignment_2(), "rule__DatamartEntity__TrackingAssignment_2");
					put(grammarAccess.getDatamartEntityAccess().getNavigationsAssignment_4_2(), "rule__DatamartEntity__NavigationsAssignment_4_2");
					put(grammarAccess.getDatamartEntityAccess().getPropertiesAssignment_5_2(), "rule__DatamartEntity__PropertiesAssignment_5_2");
					put(grammarAccess.getDatamartEntityAccess().getConditionsAssignment_6_2(), "rule__DatamartEntity__ConditionsAssignment_6_2");
					put(grammarAccess.getDatamartEntityAccess().getOrderingAssignment_7_2(), "rule__DatamartEntity__OrderingAssignment_7_2");
					put(grammarAccess.getDatamartEntityAccess().getFillerMinCountRowsAssignment_8_1(), "rule__DatamartEntity__FillerMinCountRowsAssignment_8_1");
					put(grammarAccess.getDatamartEntityAccess().getFillerMaxCountRowsAssignment_8_3(), "rule__DatamartEntity__FillerMaxCountRowsAssignment_8_3");
					put(grammarAccess.getDatamartEntityAccess().getFillerDatasAssignment_8_5(), "rule__DatamartEntity__FillerDatasAssignment_8_5");
					put(grammarAccess.getDatamartOwnerAccess().getJoinRefAssignment_1(), "rule__DatamartOwner__JoinRefAssignment_1");
					put(grammarAccess.getDatamartOwnerAccess().getDatamartEntityAssignment_3(), "rule__DatamartOwner__DatamartEntityAssignment_3");
					put(grammarAccess.getDatamartMemberAccess().getJoinRefAssignment_1(), "rule__DatamartMember__JoinRefAssignment_1");
					put(grammarAccess.getDatamartMemberAccess().getDatamartEntityAssignment_3(), "rule__DatamartMember__DatamartEntityAssignment_3");
					put(grammarAccess.getDatamartPropertyAccess().getPropertyRefAssignment_1(), "rule__DatamartProperty__PropertyRefAssignment_1");
					put(grammarAccess.getDatamartPropertyAccess().getAggregatedAssignment_2_0_0(), "rule__DatamartProperty__AggregatedAssignment_2_0_0");
					put(grammarAccess.getDatamartPropertyAccess().getAggregateAssignment_2_0_1(), "rule__DatamartProperty__AggregateAssignment_2_0_1");
					put(grammarAccess.getDatamartPropertyAccess().getPlacedAssignment_2_1_0(), "rule__DatamartProperty__PlacedAssignment_2_1_0");
					put(grammarAccess.getDatamartPropertyAccess().getAxisAssignment_2_1_1(), "rule__DatamartProperty__AxisAssignment_2_1_1");
					put(grammarAccess.getDatamartPropertyAccess().getScaledAssignment_2_2_0(), "rule__DatamartProperty__ScaledAssignment_2_2_0");
					put(grammarAccess.getDatamartPropertyAccess().getScaleAssignment_2_2_1(), "rule__DatamartProperty__ScaleAssignment_2_2_1");
					put(grammarAccess.getDatamartConditionAccess().getConditionAssignment_1(), "rule__DatamartCondition__ConditionAssignment_1");
					put(grammarAccess.getDatamartOrderAccess().getOrderByAssignment_1(), "rule__DatamartOrder__OrderByAssignment_1");
					put(grammarAccess.getDatamartOrderAccess().getOrderHowAssignment_2(), "rule__DatamartOrder__OrderHowAssignment_2");
					put(grammarAccess.getDatamartDisjunctionAccess().getRightAssignment_1_1(), "rule__DatamartDisjunction__RightAssignment_1_1");
					put(grammarAccess.getDatamartConjunctionAccess().getRightAssignment_1_1(), "rule__DatamartConjunction__RightAssignment_1_1");
					put(grammarAccess.getDatamartConditionalExpressionAccess().getOperatorAssignment_1_0_1(), "rule__DatamartConditionalExpression__OperatorAssignment_1_0_1");
					put(grammarAccess.getDatamartConditionalExpressionAccess().getRightAssignment_1_1(), "rule__DatamartConditionalExpression__RightAssignment_1_1");
					put(grammarAccess.getDatamartValueAccess().getNumberValueAssignment_0(), "rule__DatamartValue__NumberValueAssignment_0");
					put(grammarAccess.getDatamartValueAccess().getStringValueAssignment_1(), "rule__DatamartValue__StringValueAssignment_1");
					put(grammarAccess.getDatamartValueAccess().getFilteredAssignment_2_0_0(), "rule__DatamartValue__FilteredAssignment_2_0_0");
					put(grammarAccess.getDatamartValueAccess().getOptionalAssignment_2_0_1(), "rule__DatamartValue__OptionalAssignment_2_0_1");
					put(grammarAccess.getDatamartValueAccess().getSelectedAssignment_2_1(), "rule__DatamartValue__SelectedAssignment_2_1");
					put(grammarAccess.getDatamartDefineDerivedMeasureAccess().getNameAssignment_1(), "rule__DatamartDefineDerivedMeasure__NameAssignment_1");
					put(grammarAccess.getDatamartDefineDerivedMeasureAccess().getDerivedElementAssignment_3(), "rule__DatamartDefineDerivedMeasure__DerivedElementAssignment_3");
					put(grammarAccess.getDatamartAdditionAccess().getRightAssignment_1_1(), "rule__DatamartAddition__RightAssignment_1_1");
					put(grammarAccess.getDatamartMultiplicationAccess().getRightAssignment_1_1(), "rule__DatamartMultiplication__RightAssignment_1_1");
					put(grammarAccess.getDatamartNumberOrElementAccess().getValueAssignment_0(), "rule__DatamartNumberOrElement__ValueAssignment_0");
					put(grammarAccess.getDatamartMemberTupleAccess().getFunctionAssignment_0_0_0(), "rule__DatamartMemberTuple__FunctionAssignment_0_0_0");
					put(grammarAccess.getDatamartMemberTupleAccess().getFunctionAssignment_0_0_1(), "rule__DatamartMemberTuple__FunctionAssignment_0_0_1");
					put(grammarAccess.getDatamartMemberTupleAccess().getHierarchyAssignment_1(), "rule__DatamartMemberTuple__HierarchyAssignment_1");
					put(grammarAccess.getDatamartMemberTupleAccess().getRightAssignment_2_2(), "rule__DatamartMemberTuple__RightAssignment_2_2");
					put(grammarAccess.getDatamartFunctionAccess().getFunctionAssignment(), "rule__DatamartFunction__FunctionAssignment");
					put(grammarAccess.getDatamartParameterFunctionAccess().getFunctionAssignment_0(), "rule__DatamartParameterFunction__FunctionAssignment_0");
					put(grammarAccess.getDatamartParameterFunctionAccess().getParameterAssignment_2(), "rule__DatamartParameterFunction__ParameterAssignment_2");
					put(grammarAccess.getDatamartFunctionIntParameterAccess().getValueAssignment(), "rule__DatamartFunctionIntParameter__ValueAssignment");
					put(grammarAccess.getDatamartSetFunctionAccess().getSetFunctionAssignment(), "rule__DatamartSetFunction__SetFunctionAssignment");
					put(grammarAccess.getDatamartSetParameterFunctionAccess().getSetFunctionAssignment_0(), "rule__DatamartSetParameterFunction__SetFunctionAssignment_0");
					put(grammarAccess.getDatamartSetParameterFunctionAccess().getParameterAssignment_2(), "rule__DatamartSetParameterFunction__ParameterAssignment_2");
					put(grammarAccess.getDatamartSetAggregationFunctionAccess().getAggregationAssignment_0(), "rule__DatamartSetAggregationFunction__AggregationAssignment_0");
					put(grammarAccess.getDatamartSetAggregationFunctionAccess().getParameterAssignment_2(), "rule__DatamartSetAggregationFunction__ParameterAssignment_2");
					put(grammarAccess.getDatamartSetTupleAccess().getSetFunctionAssignment_0_0(), "rule__DatamartSetTuple__SetFunctionAssignment_0_0");
					put(grammarAccess.getDatamartSetTupleAccess().getSetFunctionAssignment_0_1(), "rule__DatamartSetTuple__SetFunctionAssignment_0_1");
					put(grammarAccess.getDatamartSetTupleAccess().getRightAssignment_1_2(), "rule__DatamartSetTuple__RightAssignment_1_2");
					put(grammarAccess.getDatamartAggregationFunctionAccess().getAggregationAssignment(), "rule__DatamartAggregationFunction__AggregationAssignment");
					put(grammarAccess.getDatamartAggregationAccess().getAggregationAssignment_0(), "rule__DatamartAggregation__AggregationAssignment_0");
					put(grammarAccess.getDatamartAggregationAccess().getSetAssignment_2_0(), "rule__DatamartAggregation__SetAssignment_2_0");
					put(grammarAccess.getDatamartAggregationAccess().getSetAssignment_2_1(), "rule__DatamartAggregation__SetAssignment_2_1");
					put(grammarAccess.getDatamartAggregationAccess().getRightAssignment_3_2(), "rule__DatamartAggregation__RightAssignment_3_2");
					put(grammarAccess.getDatamartSetAggregationAccess().getAggregationAssignment_0(), "rule__DatamartSetAggregation__AggregationAssignment_0");
					put(grammarAccess.getDatamartSetAggregationAccess().getSetAssignment_2_0(), "rule__DatamartSetAggregation__SetAssignment_2_0");
					put(grammarAccess.getDatamartSetAggregationAccess().getSetAssignment_2_1(), "rule__DatamartSetAggregation__SetAssignment_2_1");
					put(grammarAccess.getDatamartSetAggregationAccess().getRightAssignment_3_2(), "rule__DatamartSetAggregation__RightAssignment_3_2");
					put(grammarAccess.getDatamartSlicerAccess().getElementAssignment_1(), "rule__DatamartSlicer__ElementAssignment_1");
					put(grammarAccess.getDatamartAxisAccess().getNameAssignment_1(), "rule__DatamartAxis__NameAssignment_1");
					put(grammarAccess.getDatamartAxisAccess().getElementsAssignment_3(), "rule__DatamartAxis__ElementsAssignment_3");
					put(grammarAccess.getDatamartDerivedMeasureAccess().getDerivedRefAssignment_1(), "rule__DatamartDerivedMeasure__DerivedRefAssignment_1");
					put(grammarAccess.getDatamartDerivedMeasureAccess().getScaledAssignment_2_0(), "rule__DatamartDerivedMeasure__ScaledAssignment_2_0");
					put(grammarAccess.getDatamartDerivedMeasureAccess().getScaleAssignment_2_1(), "rule__DatamartDerivedMeasure__ScaleAssignment_2_1");
					put(grammarAccess.getDatamartMeasureAccess().getMeasureRefAssignment_1(), "rule__DatamartMeasure__MeasureRefAssignment_1");
					put(grammarAccess.getDatamartMeasureAccess().getScaledAssignment_2_0(), "rule__DatamartMeasure__ScaledAssignment_2_0");
					put(grammarAccess.getDatamartMeasureAccess().getScaleAssignment_2_1(), "rule__DatamartMeasure__ScaleAssignment_2_1");
					put(grammarAccess.getDatamartHierarchyAccess().getHierarchyRefAssignment_1(), "rule__DatamartHierarchy__HierarchyRefAssignment_1");
					put(grammarAccess.getDatamartHierarchyAccess().getDefaultMemberAssignment_2(), "rule__DatamartHierarchy__DefaultMemberAssignment_2");
					put(grammarAccess.getDatamartHierarchyAccess().getAllMemberAssignment_3(), "rule__DatamartHierarchy__AllMemberAssignment_3");
					put(grammarAccess.getDatamartHierarchyAccess().getAllLevelsAssignment_4(), "rule__DatamartHierarchy__AllLevelsAssignment_4");
					put(grammarAccess.getDatamartHierarchyAccess().getLevelRefAssignment_5_1(), "rule__DatamartHierarchy__LevelRefAssignment_5_1");
					put(grammarAccess.getDatamartHierarchyAccess().getFilteredAssignment_5_2_0(), "rule__DatamartHierarchy__FilteredAssignment_5_2_0");
					put(grammarAccess.getDatamartHierarchyAccess().getSelectedAssignment_5_2_1(), "rule__DatamartHierarchy__SelectedAssignment_5_2_1");
					put(grammarAccess.getDatamartHierarchyAccess().getAllAssignment_6_0(), "rule__DatamartHierarchy__AllAssignment_6_0");
					put(grammarAccess.getDatamartHierarchyAccess().getExceptAssignment_6_1_0(), "rule__DatamartHierarchy__ExceptAssignment_6_1_0");
					put(grammarAccess.getDatamartHierarchyAccess().getExceptRefAssignment_6_1_1(), "rule__DatamartHierarchy__ExceptRefAssignment_6_1_1");
					put(grammarAccess.getDatamartHierarchyAccess().getOrderedAssignment_6_2_0(), "rule__DatamartHierarchy__OrderedAssignment_6_2_0");
					put(grammarAccess.getDatamartHierarchyAccess().getOrderRefAssignment_6_2_1(), "rule__DatamartHierarchy__OrderRefAssignment_6_2_1");
					put(grammarAccess.getDatamartHierarchyAccess().getDescendingAssignment_6_2_2(), "rule__DatamartHierarchy__DescendingAssignment_6_2_2");
					put(grammarAccess.getDatamartImportAccess().getImportedNamespaceAssignment_1(), "rule__DatamartImport__ImportedNamespaceAssignment_1");
					put(grammarAccess.getPropertyFillerDataAccess().getPropertyRefAssignment_1(), "rule__PropertyFillerData__PropertyRefAssignment_1");
					put(grammarAccess.getPropertyFillerDataAccess().getFillerTypeAssignment_3(), "rule__PropertyFillerData__FillerTypeAssignment_3");
					put(grammarAccess.getPropertyFillerDateFutureAccess().getDateFutureYearsAssignment_1(), "rule__PropertyFillerDateFuture__DateFutureYearsAssignment_1");
					put(grammarAccess.getPropertyFillerDatePastAccess().getDatePastYearsAssignment_1(), "rule__PropertyFillerDatePast__DatePastYearsAssignment_1");
					put(grammarAccess.getPropertyFillerDateRangeAccess().getDateBeginYearsAssignment_1(), "rule__PropertyFillerDateRange__DateBeginYearsAssignment_1");
					put(grammarAccess.getPropertyFillerDateRangeAccess().getDateEndYearsAssignment_3(), "rule__PropertyFillerDateRange__DateEndYearsAssignment_3");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeAssignment_1_0_0(), "rule__PropertyFillerSignedDoubleRange__BeginRangeAssignment_1_0_0");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getBeginRangeRefAssignment_1_0_1(), "rule__PropertyFillerSignedDoubleRange__BeginRangeRefAssignment_1_0_1");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeAssignment_1_2_0(), "rule__PropertyFillerSignedDoubleRange__EndRangeAssignment_1_2_0");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getEndRangeRefAssignment_1_2_1(), "rule__PropertyFillerSignedDoubleRange__EndRangeRefAssignment_1_2_1");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getDecimalsAssignment_3(), "rule__PropertyFillerSignedDoubleRange__DecimalsAssignment_3");
					put(grammarAccess.getPropertyFillerSignedDoubleRangeAccess().getRoundedAssignment_5_1(), "rule__PropertyFillerSignedDoubleRange__RoundedAssignment_5_1");
					put(grammarAccess.getPropertyFillerSignedDoubleRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerSignedDoubleRandom__ItemsAssignment_2");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeAssignment_2_0_0(), "rule__PropertyFillerSignedIntegerRange__BeginRangeAssignment_2_0_0");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getBeginRangeRefAssignment_2_0_1(), "rule__PropertyFillerSignedIntegerRange__BeginRangeRefAssignment_2_0_1");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeAssignment_2_2_0(), "rule__PropertyFillerSignedIntegerRange__EndRangeAssignment_2_2_0");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getEndRangeRefAssignment_2_2_1(), "rule__PropertyFillerSignedIntegerRange__EndRangeRefAssignment_2_2_1");
					put(grammarAccess.getPropertyFillerSignedIntegerRangeAccess().getRoundedAssignment_3_1(), "rule__PropertyFillerSignedIntegerRange__RoundedAssignment_3_1");
					put(grammarAccess.getPropertyFillerSignedIntegerRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerSignedIntegerRandom__ItemsAssignment_2");
					put(grammarAccess.getPropertyFillerTextRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerTextRandom__ItemsAssignment_2");
					put(grammarAccess.getPropertyFillerTextParagraphsAccess().getCountAssignment_2(), "rule__PropertyFillerTextParagraphs__CountAssignment_2");
					put(grammarAccess.getPropertyFillerTextSentencesAccess().getCountAssignment_2(), "rule__PropertyFillerTextSentences__CountAssignment_2");
					put(grammarAccess.getPropertyFillerTextWordsAccess().getCountAssignment_2(), "rule__PropertyFillerTextWords__CountAssignment_2");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeAssignment_1_0_0(), "rule__PropertyFillerUnsignedDoubleRange__BeginRangeAssignment_1_0_0");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getBeginRangeRefAssignment_1_0_1(), "rule__PropertyFillerUnsignedDoubleRange__BeginRangeRefAssignment_1_0_1");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeAssignment_1_2_0(), "rule__PropertyFillerUnsignedDoubleRange__EndRangeAssignment_1_2_0");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getEndRangeRefAssignment_1_2_1(), "rule__PropertyFillerUnsignedDoubleRange__EndRangeRefAssignment_1_2_1");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getDecimalsAssignment_3(), "rule__PropertyFillerUnsignedDoubleRange__DecimalsAssignment_3");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRangeAccess().getRoundedAssignment_5_1(), "rule__PropertyFillerUnsignedDoubleRange__RoundedAssignment_5_1");
					put(grammarAccess.getPropertyFillerUnsignedDoubleRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerUnsignedDoubleRandom__ItemsAssignment_2");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeAssignment_2_0_0(), "rule__PropertyFillerUnsignedIntegerRange__BeginRangeAssignment_2_0_0");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getBeginRangeRefAssignment_2_0_1(), "rule__PropertyFillerUnsignedIntegerRange__BeginRangeRefAssignment_2_0_1");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeAssignment_2_2_0(), "rule__PropertyFillerUnsignedIntegerRange__EndRangeAssignment_2_2_0");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getEndRangeRefAssignment_2_2_1(), "rule__PropertyFillerUnsignedIntegerRange__EndRangeRefAssignment_2_2_1");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRangeAccess().getRoundedAssignment_3_1(), "rule__PropertyFillerUnsignedIntegerRange__RoundedAssignment_3_1");
					put(grammarAccess.getPropertyFillerUnsignedIntegerRandomAccess().getItemsAssignment_2(), "rule__PropertyFillerUnsignedIntegerRandom__ItemsAssignment_2");
					put(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2(), "rule__XAnnotation__AnnotationTypeAssignment_2");
					put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0");
					put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1");
					put(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1(), "rule__XAnnotation__ValueAssignment_3_1_1");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0(), "rule__XAnnotationElementValuePair__ElementAssignment_0_0_0");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1(), "rule__XAnnotationElementValuePair__ValueAssignment_1");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1");
					put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_0");
					put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1");
					put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(), "rule__XAssignment__FeatureAssignment_0_1");
					put(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(), "rule__XAssignment__ValueAssignment_0_3");
					put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XAssignment__FeatureAssignment_1_1_0_0_1");
					put(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(), "rule__XAssignment__RightOperandAssignment_1_1_1");
					put(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOrExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOrExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAndExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAndExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XEqualityExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(), "rule__XEqualityExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(), "rule__XRelationalExpression__TypeAssignment_1_0_1");
					put(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1");
					put(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(), "rule__XRelationalExpression__RightOperandAssignment_1_1_1");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOtherOperatorExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAdditiveExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(), "rule__XMultiplicativeExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(), "rule__XUnaryOperation__FeatureAssignment_0_1");
					put(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(), "rule__XUnaryOperation__OperandAssignment_0_2");
					put(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(), "rule__XCastedExpression__TypeAssignment_1_1");
					put(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1(), "rule__XPostfixOperation__FeatureAssignment_1_0_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2");
					put(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(), "rule__XMemberFeatureCall__ValueAssignment_1_0_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(), "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2");
					put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_1_2");
					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(), "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0");
					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0");
					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0");
					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4");
					put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0(), "rule__XSetLiteral__ElementsAssignment_3_0");
					put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1(), "rule__XSetLiteral__ElementsAssignment_3_1_1");
					put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0(), "rule__XListLiteral__ElementsAssignment_3_0");
					put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1(), "rule__XListLiteral__ElementsAssignment_3_1_1");
					put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0");
					put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1");
					put(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1(), "rule__XClosure__ExplicitSyntaxAssignment_1_0_1");
					put(grammarAccess.getXClosureAccess().getExpressionAssignment_2(), "rule__XClosure__ExpressionAssignment_2");
					put(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0(), "rule__XExpressionInClosure__ExpressionsAssignment_1_0");
					put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0");
					put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1");
					put(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2(), "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2");
					put(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(), "rule__XShortClosure__ExpressionAssignment_1");
					put(grammarAccess.getXIfExpressionAccess().getIfAssignment_3(), "rule__XIfExpression__IfAssignment_3");
					put(grammarAccess.getXIfExpressionAccess().getThenAssignment_5(), "rule__XIfExpression__ThenAssignment_5");
					put(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(), "rule__XIfExpression__ElseAssignment_6_1");
					put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1(), "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1");
					put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1(), "rule__XSwitchExpression__SwitchAssignment_2_0_1");
					put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0(), "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0");
					put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1(), "rule__XSwitchExpression__SwitchAssignment_2_1_1");
					put(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4(), "rule__XSwitchExpression__CasesAssignment_4");
					put(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2(), "rule__XSwitchExpression__DefaultAssignment_5_2");
					put(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1(), "rule__XCasePart__TypeGuardAssignment_1");
					put(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1(), "rule__XCasePart__CaseAssignment_2_1");
					put(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1(), "rule__XCasePart__ThenAssignment_3_0_1");
					put(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1(), "rule__XCasePart__FallThroughAssignment_3_1");
					put(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3(), "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3");
					put(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1(), "rule__XForLoopExpression__ForExpressionAssignment_1");
					put(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3(), "rule__XForLoopExpression__EachExpressionAssignment_3");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5(), "rule__XBasicForLoopExpression__ExpressionAssignment_5");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9(), "rule__XBasicForLoopExpression__EachExpressionAssignment_9");
					put(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(), "rule__XWhileExpression__PredicateAssignment_3");
					put(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(), "rule__XWhileExpression__BodyAssignment_5");
					put(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(), "rule__XDoWhileExpression__BodyAssignment_2");
					put(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(), "rule__XDoWhileExpression__PredicateAssignment_5");
					put(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(), "rule__XBlockExpression__ExpressionsAssignment_2_0");
					put(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(), "rule__XVariableDeclaration__WriteableAssignment_1_0");
					put(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(), "rule__XVariableDeclaration__TypeAssignment_2_0_0_0");
					put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(), "rule__XVariableDeclaration__NameAssignment_2_0_0_1");
					put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(), "rule__XVariableDeclaration__NameAssignment_2_1");
					put(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(), "rule__XVariableDeclaration__RightAssignment_3_1");
					put(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__JvmFormalParameter__ParameterTypeAssignment_0");
					put(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(), "rule__JvmFormalParameter__NameAssignment_1");
					put(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__FullJvmFormalParameter__ParameterTypeAssignment_0");
					put(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1(), "rule__FullJvmFormalParameter__NameAssignment_1");
					put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_1");
					put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1");
					put(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2(), "rule__XFeatureCall__FeatureAssignment_2");
					put(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0(), "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0");
					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0");
					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0");
					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1");
					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_4");
					put(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(), "rule__XConstructorCall__ConstructorAssignment_2");
					put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_1");
					put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1");
					put(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0(), "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0");
					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_0");
					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0");
					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1");
					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5(), "rule__XConstructorCall__ArgumentsAssignment_5");
					put(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(), "rule__XBooleanLiteral__IsTrueAssignment_1_1");
					put(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1(), "rule__XNumberLiteral__ValueAssignment_1");
					put(grammarAccess.getXStringLiteralAccess().getValueAssignment_1(), "rule__XStringLiteral__ValueAssignment_1");
					put(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(), "rule__XTypeLiteral__TypeAssignment_3");
					put(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4(), "rule__XTypeLiteral__ArrayDimensionsAssignment_4");
					put(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(), "rule__XThrowExpression__ExpressionAssignment_2");
					put(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(), "rule__XReturnExpression__ExpressionAssignment_2");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(), "rule__XTryCatchFinallyExpression__ExpressionAssignment_2");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(), "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1");
					put(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1(), "rule__XSynchronizedExpression__ParamAssignment_1");
					put(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3(), "rule__XSynchronizedExpression__ExpressionAssignment_3");
					put(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(), "rule__XCatchClause__DeclaredParamAssignment_2");
					put(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(), "rule__XCatchClause__ExpressionAssignment_4");
					put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0");
					put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1");
					put(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(), "rule__XFunctionTypeRef__ReturnTypeAssignment_2");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(), "rule__JvmParameterizedTypeReference__TypeAssignment_0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1(), "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1");
					put(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBound__TypeReferenceAssignment_1");
					put(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1");
					put(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBound__TypeReferenceAssignment_1");
					put(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1");
					put(grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(), "rule__JvmTypeParameter__NameAssignment_0");
					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0");
					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1");
					put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment");
					put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_1_0_0(), "rule__XImportDeclaration__StaticAssignment_1_0_0");
					put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_1_0_1(), "rule__XImportDeclaration__ExtensionAssignment_1_0_1");
					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_1_0_2");
					put(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_1_0_3_0(), "rule__XImportDeclaration__WildcardAssignment_1_0_3_0");
					put(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_1_0_3_1(), "rule__XImportDeclaration__MemberNameAssignment_1_0_3_1");
					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_1_1(), "rule__XImportDeclaration__ImportedTypeAssignment_1_1");
					put(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_1_2(), "rule__XImportDeclaration__ImportedNamespaceAssignment_1_2");
					put(grammarAccess.getDatamartPropertyAccess().getUnorderedGroup_2(), "rule__DatamartProperty__UnorderedGroup_2");
				}
			};
		}
		return nameMappings.get(element);
	}
	
	@Override
	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
		try {
			org.eclipse.osbp.xtext.datamartdsl.ui.contentassist.antlr.internal.InternalDatamartDSLParser typedParser = (org.eclipse.osbp.xtext.datamartdsl.ui.contentassist.antlr.internal.InternalDatamartDSLParser) parser;
			typedParser.entryRuleDatamartModel();
			return typedParser.getFollowElements();
		} catch(RecognitionException ex) {
			throw new RuntimeException(ex);
		}		
	}
	
	@Override
	protected String[] getInitialHiddenTokens() {
		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
	}
	
	public DatamartDSLGrammarAccess getGrammarAccess() {
		return this.grammarAccess;
	}
	
	public void setGrammarAccess(DatamartDSLGrammarAccess grammarAccess) {
		this.grammarAccess = grammarAccess;
	}
}
