/*
* generated by Xtext
*/
package xtext.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 xtext.services.XModifGrammarAccess;

public class XModifParser extends AbstractContentAssistParser {
	
	@Inject
	private XModifGrammarAccess grammarAccess;
	
	private Map<AbstractElement, String> nameMappings;
	
	@Override
	protected xtext.ui.contentassist.antlr.internal.InternalXModifParser createParser() {
		xtext.ui.contentassist.antlr.internal.InternalXModifParser result = new xtext.ui.contentassist.antlr.internal.InternalXModifParser(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.getAddDerivedAccess().getAlternatives(), "rule__AddDerived__Alternatives");
					put(grammarAccess.getAddFeatureAccess().getAlternatives(), "rule__AddFeature__Alternatives");
					put(grammarAccess.getStructuralFeatureModificationAccess().getAlternatives(), "rule__StructuralFeatureModification__Alternatives");
					put(grammarAccess.getPrimitiveTypeAccess().getAlternatives(), "rule__PrimitiveType__Alternatives");
					put(grammarAccess.getEBooleanAccess().getAlternatives(), "rule__EBoolean__Alternatives");
					put(grammarAccess.getEStringAccess().getAlternatives(), "rule__EString__Alternatives");
					put(grammarAccess.getModificationsAccess().getGroup(), "rule__Modifications__Group__0");
					put(grammarAccess.getModificationsAccess().getGroup_0_5(), "rule__Modifications__Group_0_5__0");
					put(grammarAccess.getModificationsAccess().getGroup_0_6(), "rule__Modifications__Group_0_6__0");
					put(grammarAccess.getPackageModificationAccess().getGroup(), "rule__PackageModification__Group__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_3(), "rule__PackageModification__Group_3__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_4(), "rule__PackageModification__Group_4__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_5(), "rule__PackageModification__Group_5__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_7(), "rule__PackageModification__Group_7__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_7_3(), "rule__PackageModification__Group_7_3__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_8(), "rule__PackageModification__Group_8__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_8_3(), "rule__PackageModification__Group_8_3__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_9(), "rule__PackageModification__Group_9__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_9_3(), "rule__PackageModification__Group_9_3__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_10(), "rule__PackageModification__Group_10__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_10_3(), "rule__PackageModification__Group_10_3__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_11(), "rule__PackageModification__Group_11__0");
					put(grammarAccess.getPackageModificationAccess().getGroup_11_3(), "rule__PackageModification__Group_11_3__0");
					put(grammarAccess.getAddRootClassAccess().getGroup(), "rule__AddRootClass__Group__0");
					put(grammarAccess.getAddNameClassAccess().getGroup(), "rule__AddNameClass__Group__0");
					put(grammarAccess.getAnnotationModificationAccess().getGroup(), "rule__AnnotationModification__Group__0");
					put(grammarAccess.getAnnotationModificationAccess().getGroup_2(), "rule__AnnotationModification__Group_2__0");
					put(grammarAccess.getAnnotationModificationAccess().getGroup_4(), "rule__AnnotationModification__Group_4__0");
					put(grammarAccess.getAnnotationModificationAccess().getGroup_4_3(), "rule__AnnotationModification__Group_4_3__0");
					put(grammarAccess.getAnnotationModificationAccess().getGroup_5(), "rule__AnnotationModification__Group_5__0");
					put(grammarAccess.getAnnotationModificationAccess().getGroup_5_3(), "rule__AnnotationModification__Group_5_3__0");
					put(grammarAccess.getClassModificationAccess().getGroup(), "rule__ClassModification__Group__0");
					put(grammarAccess.getClassModificationAccess().getGroup_3(), "rule__ClassModification__Group_3__0");
					put(grammarAccess.getClassModificationAccess().getGroup_5(), "rule__ClassModification__Group_5__0");
					put(grammarAccess.getClassModificationAccess().getGroup_6(), "rule__ClassModification__Group_6__0");
					put(grammarAccess.getClassModificationAccess().getGroup_6_3(), "rule__ClassModification__Group_6_3__0");
					put(grammarAccess.getDataTypeModificationAccess().getGroup(), "rule__DataTypeModification__Group__0");
					put(grammarAccess.getDataTypeModificationAccess().getGroup_2(), "rule__DataTypeModification__Group_2__0");
					put(grammarAccess.getDataTypeModificationAccess().getGroup_3(), "rule__DataTypeModification__Group_3__0");
					put(grammarAccess.getDataTypeModificationAccess().getGroup_4(), "rule__DataTypeModification__Group_4__0");
					put(grammarAccess.getDataTypeModificationAccess().getGroup_6(), "rule__DataTypeModification__Group_6__0");
					put(grammarAccess.getDataTypeModificationAccess().getGroup_6_3(), "rule__DataTypeModification__Group_6_3__0");
					put(grammarAccess.getEnumModificationAccess().getGroup(), "rule__EnumModification__Group__0");
					put(grammarAccess.getEnumModificationAccess().getGroup_3(), "rule__EnumModification__Group_3__0");
					put(grammarAccess.getEnumModificationAccess().getGroup_4(), "rule__EnumModification__Group_4__0");
					put(grammarAccess.getEnumModificationAccess().getGroup_5(), "rule__EnumModification__Group_5__0");
					put(grammarAccess.getEnumModificationAccess().getGroup_7(), "rule__EnumModification__Group_7__0");
					put(grammarAccess.getEnumModificationAccess().getGroup_7_2(), "rule__EnumModification__Group_7_2__0");
					put(grammarAccess.getEnumModificationAccess().getGroup_8(), "rule__EnumModification__Group_8__0");
					put(grammarAccess.getEnumModificationAccess().getGroup_8_3(), "rule__EnumModification__Group_8_3__0");
					put(grammarAccess.getEnumLiteralModificationAccess().getGroup(), "rule__EnumLiteralModification__Group__0");
					put(grammarAccess.getEnumLiteralModificationAccess().getGroup_2(), "rule__EnumLiteralModification__Group_2__0");
					put(grammarAccess.getEnumLiteralModificationAccess().getGroup_3(), "rule__EnumLiteralModification__Group_3__0");
					put(grammarAccess.getEnumLiteralModificationAccess().getGroup_4(), "rule__EnumLiteralModification__Group_4__0");
					put(grammarAccess.getEnumLiteralModificationAccess().getGroup_6(), "rule__EnumLiteralModification__Group_6__0");
					put(grammarAccess.getEnumLiteralModificationAccess().getGroup_6_3(), "rule__EnumLiteralModification__Group_6_3__0");
					put(grammarAccess.getDetailsEntryModificationAccess().getGroup(), "rule__DetailsEntryModification__Group__0");
					put(grammarAccess.getDetailsEntryModificationAccess().getGroup_2(), "rule__DetailsEntryModification__Group_2__0");
					put(grammarAccess.getDetailsEntryModificationAccess().getGroup_3(), "rule__DetailsEntryModification__Group_3__0");
					put(grammarAccess.getAddAttributeAccess().getGroup(), "rule__AddAttribute__Group__0");
					put(grammarAccess.getAddReferenceAccess().getGroup(), "rule__AddReference__Group__0");
					put(grammarAccess.getChangeBoundsAccess().getGroup(), "rule__ChangeBounds__Group__0");
					put(grammarAccess.getAttributeModificationAccess().getGroup(), "rule__AttributeModification__Group__0");
					put(grammarAccess.getAttributeModificationAccess().getGroup_3(), "rule__AttributeModification__Group_3__0");
					put(grammarAccess.getAttributeModificationAccess().getGroup_5(), "rule__AttributeModification__Group_5__0");
					put(grammarAccess.getAttributeModificationAccess().getGroup_7(), "rule__AttributeModification__Group_7__0");
					put(grammarAccess.getAttributeModificationAccess().getGroup_7_3(), "rule__AttributeModification__Group_7_3__0");
					put(grammarAccess.getReferenceModificationAccess().getGroup(), "rule__ReferenceModification__Group__0");
					put(grammarAccess.getReferenceModificationAccess().getGroup_3(), "rule__ReferenceModification__Group_3__0");
					put(grammarAccess.getReferenceModificationAccess().getGroup_7(), "rule__ReferenceModification__Group_7__0");
					put(grammarAccess.getReferenceModificationAccess().getGroup_8(), "rule__ReferenceModification__Group_8__0");
					put(grammarAccess.getReferenceModificationAccess().getGroup_10(), "rule__ReferenceModification__Group_10__0");
					put(grammarAccess.getReferenceModificationAccess().getGroup_10_3(), "rule__ReferenceModification__Group_10_3__0");
					put(grammarAccess.getAddOppositeAccess().getGroup(), "rule__AddOpposite__Group__0");
					put(grammarAccess.getReferenceReificationAccess().getGroup(), "rule__ReferenceReification__Group__0");
					put(grammarAccess.getAddDerivedReferenceAccess().getGroup(), "rule__AddDerivedReference__Group__0");
					put(grammarAccess.getAddDerivedReferenceAccess().getGroup_4(), "rule__AddDerivedReference__Group_4__0");
					put(grammarAccess.getAddDerivedAttributeAccess().getGroup(), "rule__AddDerivedAttribute__Group__0");
					put(grammarAccess.getAddDerivedAttributeAccess().getGroup_4(), "rule__AddDerivedAttribute__Group_4__0");
					put(grammarAccess.getEnumerateAccess().getGroup(), "rule__Enumerate__Group__0");
					put(grammarAccess.getEIntAccess().getGroup(), "rule__EInt__Group__0");
					put(grammarAccess.getModificationsAccess().getRemoveAllAnnotationsAssignment_0_0(), "rule__Modifications__RemoveAllAnnotationsAssignment_0_0");
					put(grammarAccess.getModificationsAccess().getRemoveAllOperationsAssignment_0_1(), "rule__Modifications__RemoveAllOperationsAssignment_0_1");
					put(grammarAccess.getModificationsAccess().getRemoveAllEStringAttributesAssignment_0_2(), "rule__Modifications__RemoveAllEStringAttributesAssignment_0_2");
					put(grammarAccess.getModificationsAccess().getRemoveAllOppositesAssignment_0_3(), "rule__Modifications__RemoveAllOppositesAssignment_0_3");
					put(grammarAccess.getModificationsAccess().getAddAllOppositeAssignment_0_4(), "rule__Modifications__AddAllOppositeAssignment_0_4");
					put(grammarAccess.getModificationsAccess().getAddRootClassAssignment_0_5_1(), "rule__Modifications__AddRootClassAssignment_0_5_1");
					put(grammarAccess.getModificationsAccess().getAddNameClassAssignment_0_6_1(), "rule__Modifications__AddNameClassAssignment_0_6_1");
					put(grammarAccess.getModificationsAccess().getRootPackageModificationAssignment_2(), "rule__Modifications__RootPackageModificationAssignment_2");
					put(grammarAccess.getPackageModificationAccess().getRemoveAssignment_0(), "rule__PackageModification__RemoveAssignment_0");
					put(grammarAccess.getPackageModificationAccess().getHideAssignment_1(), "rule__PackageModification__HideAssignment_1");
					put(grammarAccess.getPackageModificationAccess().getOldNameAssignment_2(), "rule__PackageModification__OldNameAssignment_2");
					put(grammarAccess.getPackageModificationAccess().getNewNameAssignment_3_1(), "rule__PackageModification__NewNameAssignment_3_1");
					put(grammarAccess.getPackageModificationAccess().getOldPrefixNameAssignment_4_1(), "rule__PackageModification__OldPrefixNameAssignment_4_1");
					put(grammarAccess.getPackageModificationAccess().getNewPrefixNameAssignment_4_3(), "rule__PackageModification__NewPrefixNameAssignment_4_3");
					put(grammarAccess.getPackageModificationAccess().getOldURINameAssignment_5_1(), "rule__PackageModification__OldURINameAssignment_5_1");
					put(grammarAccess.getPackageModificationAccess().getNewURINameAssignment_5_3(), "rule__PackageModification__NewURINameAssignment_5_3");
					put(grammarAccess.getPackageModificationAccess().getRemoveEAnnotationsAssignment_6(), "rule__PackageModification__RemoveEAnnotationsAssignment_6");
					put(grammarAccess.getPackageModificationAccess().getPackageModificationAssignment_7_2(), "rule__PackageModification__PackageModificationAssignment_7_2");
					put(grammarAccess.getPackageModificationAccess().getPackageModificationAssignment_7_3_1(), "rule__PackageModification__PackageModificationAssignment_7_3_1");
					put(grammarAccess.getPackageModificationAccess().getClassModificationAssignment_8_2(), "rule__PackageModification__ClassModificationAssignment_8_2");
					put(grammarAccess.getPackageModificationAccess().getClassModificationAssignment_8_3_1(), "rule__PackageModification__ClassModificationAssignment_8_3_1");
					put(grammarAccess.getPackageModificationAccess().getDataTypeModificationAssignment_9_2(), "rule__PackageModification__DataTypeModificationAssignment_9_2");
					put(grammarAccess.getPackageModificationAccess().getDataTypeModificationAssignment_9_3_1(), "rule__PackageModification__DataTypeModificationAssignment_9_3_1");
					put(grammarAccess.getPackageModificationAccess().getEnumModificationAssignment_10_2(), "rule__PackageModification__EnumModificationAssignment_10_2");
					put(grammarAccess.getPackageModificationAccess().getEnumModificationAssignment_10_3_1(), "rule__PackageModification__EnumModificationAssignment_10_3_1");
					put(grammarAccess.getPackageModificationAccess().getAnnotationModificationAssignment_11_2(), "rule__PackageModification__AnnotationModificationAssignment_11_2");
					put(grammarAccess.getPackageModificationAccess().getAnnotationModificationAssignment_11_3_1(), "rule__PackageModification__AnnotationModificationAssignment_11_3_1");
					put(grammarAccess.getAddRootClassAccess().getNameAssignment_1(), "rule__AddRootClass__NameAssignment_1");
					put(grammarAccess.getAddNameClassAccess().getNameAssignment_0(), "rule__AddNameClass__NameAssignment_0");
					put(grammarAccess.getAddNameClassAccess().getNameNameAssignment_2(), "rule__AddNameClass__NameNameAssignment_2");
					put(grammarAccess.getAnnotationModificationAccess().getRemoveAssignment_0(), "rule__AnnotationModification__RemoveAssignment_0");
					put(grammarAccess.getAnnotationModificationAccess().getOldSourceAssignment_1(), "rule__AnnotationModification__OldSourceAssignment_1");
					put(grammarAccess.getAnnotationModificationAccess().getNewSourceAssignment_2_1(), "rule__AnnotationModification__NewSourceAssignment_2_1");
					put(grammarAccess.getAnnotationModificationAccess().getRemoveEAnnotationsAssignment_3(), "rule__AnnotationModification__RemoveEAnnotationsAssignment_3");
					put(grammarAccess.getAnnotationModificationAccess().getDetailsEntryModificationAssignment_4_2(), "rule__AnnotationModification__DetailsEntryModificationAssignment_4_2");
					put(grammarAccess.getAnnotationModificationAccess().getDetailsEntryModificationAssignment_4_3_1(), "rule__AnnotationModification__DetailsEntryModificationAssignment_4_3_1");
					put(grammarAccess.getAnnotationModificationAccess().getAnnotationModificationAssignment_5_2(), "rule__AnnotationModification__AnnotationModificationAssignment_5_2");
					put(grammarAccess.getAnnotationModificationAccess().getAnnotationModificationAssignment_5_3_1(), "rule__AnnotationModification__AnnotationModificationAssignment_5_3_1");
					put(grammarAccess.getClassModificationAccess().getRemoveAssignment_0(), "rule__ClassModification__RemoveAssignment_0");
					put(grammarAccess.getClassModificationAccess().getHideAssignment_1_0(), "rule__ClassModification__HideAssignment_1_0");
					put(grammarAccess.getClassModificationAccess().getFlattenAssignment_1_1(), "rule__ClassModification__FlattenAssignment_1_1");
					put(grammarAccess.getClassModificationAccess().getFlattenAllAssignment_1_2(), "rule__ClassModification__FlattenAllAssignment_1_2");
					put(grammarAccess.getClassModificationAccess().getOldNameAssignment_2(), "rule__ClassModification__OldNameAssignment_2");
					put(grammarAccess.getClassModificationAccess().getNewNameAssignment_3_1(), "rule__ClassModification__NewNameAssignment_3_1");
					put(grammarAccess.getClassModificationAccess().getChangeAbstractAssignment_4_0(), "rule__ClassModification__ChangeAbstractAssignment_4_0");
					put(grammarAccess.getClassModificationAccess().getRemoveEAnnotationsAssignment_4_1(), "rule__ClassModification__RemoveEAnnotationsAssignment_4_1");
					put(grammarAccess.getClassModificationAccess().getEnumerateAssignment_4_2(), "rule__ClassModification__EnumerateAssignment_4_2");
					put(grammarAccess.getClassModificationAccess().getFeatureModificationAssignment_5_1(), "rule__ClassModification__FeatureModificationAssignment_5_1");
					put(grammarAccess.getClassModificationAccess().getAddFeaturesAssignment_5_2(), "rule__ClassModification__AddFeaturesAssignment_5_2");
					put(grammarAccess.getClassModificationAccess().getAddDerivedsAssignment_5_3(), "rule__ClassModification__AddDerivedsAssignment_5_3");
					put(grammarAccess.getClassModificationAccess().getAnnotationModificationAssignment_6_2(), "rule__ClassModification__AnnotationModificationAssignment_6_2");
					put(grammarAccess.getClassModificationAccess().getAnnotationModificationAssignment_6_3_1(), "rule__ClassModification__AnnotationModificationAssignment_6_3_1");
					put(grammarAccess.getDataTypeModificationAccess().getRemoveAssignment_0(), "rule__DataTypeModification__RemoveAssignment_0");
					put(grammarAccess.getDataTypeModificationAccess().getOldNameAssignment_1(), "rule__DataTypeModification__OldNameAssignment_1");
					put(grammarAccess.getDataTypeModificationAccess().getNewNameAssignment_2_1(), "rule__DataTypeModification__NewNameAssignment_2_1");
					put(grammarAccess.getDataTypeModificationAccess().getOldInstanceTypeNameAssignment_3_1(), "rule__DataTypeModification__OldInstanceTypeNameAssignment_3_1");
					put(grammarAccess.getDataTypeModificationAccess().getNewInstanceTypeNameAssignment_4_1(), "rule__DataTypeModification__NewInstanceTypeNameAssignment_4_1");
					put(grammarAccess.getDataTypeModificationAccess().getRemoveEAnnotationsAssignment_5(), "rule__DataTypeModification__RemoveEAnnotationsAssignment_5");
					put(grammarAccess.getDataTypeModificationAccess().getAnnotationModificationAssignment_6_2(), "rule__DataTypeModification__AnnotationModificationAssignment_6_2");
					put(grammarAccess.getDataTypeModificationAccess().getAnnotationModificationAssignment_6_3_1(), "rule__DataTypeModification__AnnotationModificationAssignment_6_3_1");
					put(grammarAccess.getEnumModificationAccess().getRemoveAssignment_0(), "rule__EnumModification__RemoveAssignment_0");
					put(grammarAccess.getEnumModificationAccess().getReifyAssignment_1(), "rule__EnumModification__ReifyAssignment_1");
					put(grammarAccess.getEnumModificationAccess().getOldNameAssignment_2(), "rule__EnumModification__OldNameAssignment_2");
					put(grammarAccess.getEnumModificationAccess().getNewNameAssignment_3_1(), "rule__EnumModification__NewNameAssignment_3_1");
					put(grammarAccess.getEnumModificationAccess().getOldInstanceTypeNameAssignment_4_1(), "rule__EnumModification__OldInstanceTypeNameAssignment_4_1");
					put(grammarAccess.getEnumModificationAccess().getNewInstanceTypeNameAssignment_5_1(), "rule__EnumModification__NewInstanceTypeNameAssignment_5_1");
					put(grammarAccess.getEnumModificationAccess().getRemoveEAnnotationsAssignment_6(), "rule__EnumModification__RemoveEAnnotationsAssignment_6");
					put(grammarAccess.getEnumModificationAccess().getEnumLiteralModificationAssignment_7_1(), "rule__EnumModification__EnumLiteralModificationAssignment_7_1");
					put(grammarAccess.getEnumModificationAccess().getEnumLiteralModificationAssignment_7_2_1(), "rule__EnumModification__EnumLiteralModificationAssignment_7_2_1");
					put(grammarAccess.getEnumModificationAccess().getAnnotationModificationAssignment_8_2(), "rule__EnumModification__AnnotationModificationAssignment_8_2");
					put(grammarAccess.getEnumModificationAccess().getAnnotationModificationAssignment_8_3_1(), "rule__EnumModification__AnnotationModificationAssignment_8_3_1");
					put(grammarAccess.getEnumLiteralModificationAccess().getRemoveAssignment_0(), "rule__EnumLiteralModification__RemoveAssignment_0");
					put(grammarAccess.getEnumLiteralModificationAccess().getOldNameAssignment_1(), "rule__EnumLiteralModification__OldNameAssignment_1");
					put(grammarAccess.getEnumLiteralModificationAccess().getNewNameAssignment_2_1(), "rule__EnumLiteralModification__NewNameAssignment_2_1");
					put(grammarAccess.getEnumLiteralModificationAccess().getOldLiteralAssignment_3_1(), "rule__EnumLiteralModification__OldLiteralAssignment_3_1");
					put(grammarAccess.getEnumLiteralModificationAccess().getNewLiteralAssignment_3_3(), "rule__EnumLiteralModification__NewLiteralAssignment_3_3");
					put(grammarAccess.getEnumLiteralModificationAccess().getOldValueAssignment_4_1(), "rule__EnumLiteralModification__OldValueAssignment_4_1");
					put(grammarAccess.getEnumLiteralModificationAccess().getNewValueAssignment_4_3(), "rule__EnumLiteralModification__NewValueAssignment_4_3");
					put(grammarAccess.getEnumLiteralModificationAccess().getRemoveEAnnotationsAssignment_5(), "rule__EnumLiteralModification__RemoveEAnnotationsAssignment_5");
					put(grammarAccess.getEnumLiteralModificationAccess().getAnnotationModificationAssignment_6_2(), "rule__EnumLiteralModification__AnnotationModificationAssignment_6_2");
					put(grammarAccess.getEnumLiteralModificationAccess().getAnnotationModificationAssignment_6_3_1(), "rule__EnumLiteralModification__AnnotationModificationAssignment_6_3_1");
					put(grammarAccess.getDetailsEntryModificationAccess().getRemoveAssignment_0(), "rule__DetailsEntryModification__RemoveAssignment_0");
					put(grammarAccess.getDetailsEntryModificationAccess().getOldKeyAssignment_1(), "rule__DetailsEntryModification__OldKeyAssignment_1");
					put(grammarAccess.getDetailsEntryModificationAccess().getNewKeyAssignment_2_1(), "rule__DetailsEntryModification__NewKeyAssignment_2_1");
					put(grammarAccess.getDetailsEntryModificationAccess().getOldValueAssignment_3_1(), "rule__DetailsEntryModification__OldValueAssignment_3_1");
					put(grammarAccess.getDetailsEntryModificationAccess().getNewValueAssignment_3_3(), "rule__DetailsEntryModification__NewValueAssignment_3_3");
					put(grammarAccess.getAddAttributeAccess().getNameAssignment_2(), "rule__AddAttribute__NameAssignment_2");
					put(grammarAccess.getAddAttributeAccess().getTypeAssignment_4(), "rule__AddAttribute__TypeAssignment_4");
					put(grammarAccess.getAddAttributeAccess().getLowerAssignment_6(), "rule__AddAttribute__LowerAssignment_6");
					put(grammarAccess.getAddAttributeAccess().getUpperAssignment_8(), "rule__AddAttribute__UpperAssignment_8");
					put(grammarAccess.getAddAttributeAccess().getDefaultValueAssignment_10(), "rule__AddAttribute__DefaultValueAssignment_10");
					put(grammarAccess.getAddReferenceAccess().getNameAssignment_2(), "rule__AddReference__NameAssignment_2");
					put(grammarAccess.getAddReferenceAccess().getTypeAssignment_4(), "rule__AddReference__TypeAssignment_4");
					put(grammarAccess.getAddReferenceAccess().getLowerAssignment_6(), "rule__AddReference__LowerAssignment_6");
					put(grammarAccess.getAddReferenceAccess().getUpperAssignment_8(), "rule__AddReference__UpperAssignment_8");
					put(grammarAccess.getChangeBoundsAccess().getOldLowerAssignment_3(), "rule__ChangeBounds__OldLowerAssignment_3");
					put(grammarAccess.getChangeBoundsAccess().getOldUpperAssignment_5(), "rule__ChangeBounds__OldUpperAssignment_5");
					put(grammarAccess.getChangeBoundsAccess().getNewLowerAssignment_9(), "rule__ChangeBounds__NewLowerAssignment_9");
					put(grammarAccess.getChangeBoundsAccess().getNewUpperAssignment_11(), "rule__ChangeBounds__NewUpperAssignment_11");
					put(grammarAccess.getAttributeModificationAccess().getRemoveAssignment_0(), "rule__AttributeModification__RemoveAssignment_0");
					put(grammarAccess.getAttributeModificationAccess().getOldNameAssignment_2(), "rule__AttributeModification__OldNameAssignment_2");
					put(grammarAccess.getAttributeModificationAccess().getNewNameAssignment_3_1(), "rule__AttributeModification__NewNameAssignment_3_1");
					put(grammarAccess.getAttributeModificationAccess().getChangeBoundsAssignment_4(), "rule__AttributeModification__ChangeBoundsAssignment_4");
					put(grammarAccess.getAttributeModificationAccess().getChangeTypeAssignment_5_0(), "rule__AttributeModification__ChangeTypeAssignment_5_0");
					put(grammarAccess.getAttributeModificationAccess().getNewTypeAssignment_5_2(), "rule__AttributeModification__NewTypeAssignment_5_2");
					put(grammarAccess.getAttributeModificationAccess().getRemoveEAnnotationsAssignment_6(), "rule__AttributeModification__RemoveEAnnotationsAssignment_6");
					put(grammarAccess.getAttributeModificationAccess().getAnnotationModificationAssignment_7_2(), "rule__AttributeModification__AnnotationModificationAssignment_7_2");
					put(grammarAccess.getAttributeModificationAccess().getAnnotationModificationAssignment_7_3_1(), "rule__AttributeModification__AnnotationModificationAssignment_7_3_1");
					put(grammarAccess.getReferenceModificationAccess().getRemoveAssignment_0(), "rule__ReferenceModification__RemoveAssignment_0");
					put(grammarAccess.getReferenceModificationAccess().getOldNameAssignment_2(), "rule__ReferenceModification__OldNameAssignment_2");
					put(grammarAccess.getReferenceModificationAccess().getNewNameAssignment_3_1(), "rule__ReferenceModification__NewNameAssignment_3_1");
					put(grammarAccess.getReferenceModificationAccess().getChangeBoundsAssignment_4(), "rule__ReferenceModification__ChangeBoundsAssignment_4");
					put(grammarAccess.getReferenceModificationAccess().getChangeContainementAssignment_5(), "rule__ReferenceModification__ChangeContainementAssignment_5");
					put(grammarAccess.getReferenceModificationAccess().getRemoveOppositeAssignment_6(), "rule__ReferenceModification__RemoveOppositeAssignment_6");
					put(grammarAccess.getReferenceModificationAccess().getAddOppositeAssignment_7_1(), "rule__ReferenceModification__AddOppositeAssignment_7_1");
					put(grammarAccess.getReferenceModificationAccess().getReifyAssignment_8_1(), "rule__ReferenceModification__ReifyAssignment_8_1");
					put(grammarAccess.getReferenceModificationAccess().getRemoveEAnnotationsAssignment_9(), "rule__ReferenceModification__RemoveEAnnotationsAssignment_9");
					put(grammarAccess.getReferenceModificationAccess().getAnnotationModificationAssignment_10_2(), "rule__ReferenceModification__AnnotationModificationAssignment_10_2");
					put(grammarAccess.getReferenceModificationAccess().getAnnotationModificationAssignment_10_3_1(), "rule__ReferenceModification__AnnotationModificationAssignment_10_3_1");
					put(grammarAccess.getAddOppositeAccess().getOppositeNameAssignment_1(), "rule__AddOpposite__OppositeNameAssignment_1");
					put(grammarAccess.getAddOppositeAccess().getOppositeLowerAssignment_3(), "rule__AddOpposite__OppositeLowerAssignment_3");
					put(grammarAccess.getAddOppositeAccess().getOppositeUpperAssignment_5(), "rule__AddOpposite__OppositeUpperAssignment_5");
					put(grammarAccess.getReferenceReificationAccess().getNameClassAssignment_1(), "rule__ReferenceReification__NameClassAssignment_1");
					put(grammarAccess.getReferenceReificationAccess().getNameFirstReferenceAssignment_3(), "rule__ReferenceReification__NameFirstReferenceAssignment_3");
					put(grammarAccess.getReferenceReificationAccess().getNameSecondReferenceAssignment_5(), "rule__ReferenceReification__NameSecondReferenceAssignment_5");
					put(grammarAccess.getAddDerivedReferenceAccess().getNewNameAssignment_1(), "rule__AddDerivedReference__NewNameAssignment_1");
					put(grammarAccess.getAddDerivedReferenceAccess().getReferenceNameAssignment_3(), "rule__AddDerivedReference__ReferenceNameAssignment_3");
					put(grammarAccess.getAddDerivedReferenceAccess().getReferenceNameAssignment_4_1(), "rule__AddDerivedReference__ReferenceNameAssignment_4_1");
					put(grammarAccess.getAddDerivedAttributeAccess().getNewNameAssignment_1(), "rule__AddDerivedAttribute__NewNameAssignment_1");
					put(grammarAccess.getAddDerivedAttributeAccess().getReferenceNameAssignment_3(), "rule__AddDerivedAttribute__ReferenceNameAssignment_3");
					put(grammarAccess.getAddDerivedAttributeAccess().getReferenceNameAssignment_4_1(), "rule__AddDerivedAttribute__ReferenceNameAssignment_4_1");
					put(grammarAccess.getAddDerivedAttributeAccess().getAttributeNameAssignment_6(), "rule__AddDerivedAttribute__AttributeNameAssignment_6");
					put(grammarAccess.getEnumerateAccess().getEnumNameAssignment_3(), "rule__Enumerate__EnumNameAssignment_3");
					put(grammarAccess.getEnumerateAccess().getAttributeNameAssignment_5(), "rule__Enumerate__AttributeNameAssignment_5");
					put(grammarAccess.getModificationsAccess().getUnorderedGroup_0(), "rule__Modifications__UnorderedGroup_0");
					put(grammarAccess.getClassModificationAccess().getUnorderedGroup_1(), "rule__ClassModification__UnorderedGroup_1");
					put(grammarAccess.getClassModificationAccess().getUnorderedGroup_4(), "rule__ClassModification__UnorderedGroup_4");
				}
			};
		}
		return nameMappings.get(element);
	}
	
	@Override
	protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
		try {
			xtext.ui.contentassist.antlr.internal.InternalXModifParser typedParser = (xtext.ui.contentassist.antlr.internal.InternalXModifParser) parser;
			typedParser.entryRuleModifications();
			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 XModifGrammarAccess getGrammarAccess() {
		return this.grammarAccess;
	}
	
	public void setGrammarAccess(XModifGrammarAccess grammarAccess) {
		this.grammarAccess = grammarAccess;
	}
}
