package org.xtext.example.mydsl.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import org.xtext.example.mydsl.services.MyDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMyDslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ContentModel'", "'{'", "'displayName'", "'='", "'}'", "'description'", "'Web'", "'guID'", "'sitePermission'", "'Webs'", "'.'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__19=19;
    public static final int RULE_STRING=5;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalMyDslParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMyDslParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMyDslParser.tokenNames; }
    public String getGrammarFileName() { return "../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g"; }


     
     	private MyDslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MyDslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleContentModel"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:60:1: entryRuleContentModel : ruleContentModel EOF ;
    public final void entryRuleContentModel() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:61:1: ( ruleContentModel EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:62:1: ruleContentModel EOF
            {
             before(grammarAccess.getContentModelRule()); 
            pushFollow(FOLLOW_ruleContentModel_in_entryRuleContentModel61);
            ruleContentModel();

            state._fsp--;

             after(grammarAccess.getContentModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleContentModel68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleContentModel"


    // $ANTLR start "ruleContentModel"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:69:1: ruleContentModel : ( ( rule__ContentModel__Group__0 ) ) ;
    public final void ruleContentModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:73:2: ( ( ( rule__ContentModel__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__ContentModel__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:74:1: ( ( rule__ContentModel__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:75:1: ( rule__ContentModel__Group__0 )
            {
             before(grammarAccess.getContentModelAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:1: ( rule__ContentModel__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:76:2: rule__ContentModel__Group__0
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__0_in_ruleContentModel94);
            rule__ContentModel__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getContentModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleContentModel"


    // $ANTLR start "entryRuleWeb"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:90:1: entryRuleWeb : ruleWeb EOF ;
    public final void entryRuleWeb() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:91:1: ( ruleWeb EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:92:1: ruleWeb EOF
            {
             before(grammarAccess.getWebRule()); 
            pushFollow(FOLLOW_ruleWeb_in_entryRuleWeb123);
            ruleWeb();

            state._fsp--;

             after(grammarAccess.getWebRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleWeb130); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleWeb"


    // $ANTLR start "ruleWeb"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:99:1: ruleWeb : ( ( rule__Web__Group__0 ) ) ;
    public final void ruleWeb() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:103:2: ( ( ( rule__Web__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( ( rule__Web__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:104:1: ( ( rule__Web__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:105:1: ( rule__Web__Group__0 )
            {
             before(grammarAccess.getWebAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:106:1: ( rule__Web__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:106:2: rule__Web__Group__0
            {
            pushFollow(FOLLOW_rule__Web__Group__0_in_ruleWeb156);
            rule__Web__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getWebAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleWeb"


    // $ANTLR start "entryRuleQualifiedName"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:118:1: entryRuleQualifiedName : ruleQualifiedName EOF ;
    public final void entryRuleQualifiedName() throws RecognitionException {
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:119:1: ( ruleQualifiedName EOF )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:120:1: ruleQualifiedName EOF
            {
             before(grammarAccess.getQualifiedNameRule()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName183);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getQualifiedNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQualifiedName190); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleQualifiedName"


    // $ANTLR start "ruleQualifiedName"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:127:1: ruleQualifiedName : ( ( rule__QualifiedName__Group__0 ) ) ;
    public final void ruleQualifiedName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:131:2: ( ( ( rule__QualifiedName__Group__0 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( ( rule__QualifiedName__Group__0 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:132:1: ( ( rule__QualifiedName__Group__0 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:133:1: ( rule__QualifiedName__Group__0 )
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:134:1: ( rule__QualifiedName__Group__0 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:134:2: rule__QualifiedName__Group__0
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName216);
            rule__QualifiedName__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getQualifiedNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleQualifiedName"


    // $ANTLR start "rule__ContentModel__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:149:1: rule__ContentModel__Group__0 : rule__ContentModel__Group__0__Impl rule__ContentModel__Group__1 ;
    public final void rule__ContentModel__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:153:1: ( rule__ContentModel__Group__0__Impl rule__ContentModel__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:154:2: rule__ContentModel__Group__0__Impl rule__ContentModel__Group__1
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__0__Impl_in_rule__ContentModel__Group__0251);
            rule__ContentModel__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group__1_in_rule__ContentModel__Group__0254);
            rule__ContentModel__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__0"


    // $ANTLR start "rule__ContentModel__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:161:1: rule__ContentModel__Group__0__Impl : ( 'ContentModel' ) ;
    public final void rule__ContentModel__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:165:1: ( ( 'ContentModel' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:166:1: ( 'ContentModel' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:166:1: ( 'ContentModel' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:167:1: 'ContentModel'
            {
             before(grammarAccess.getContentModelAccess().getContentModelKeyword_0()); 
            match(input,11,FOLLOW_11_in_rule__ContentModel__Group__0__Impl282); 
             after(grammarAccess.getContentModelAccess().getContentModelKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__0__Impl"


    // $ANTLR start "rule__ContentModel__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:180:1: rule__ContentModel__Group__1 : rule__ContentModel__Group__1__Impl rule__ContentModel__Group__2 ;
    public final void rule__ContentModel__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:184:1: ( rule__ContentModel__Group__1__Impl rule__ContentModel__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:185:2: rule__ContentModel__Group__1__Impl rule__ContentModel__Group__2
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__1__Impl_in_rule__ContentModel__Group__1313);
            rule__ContentModel__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group__2_in_rule__ContentModel__Group__1316);
            rule__ContentModel__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__1"


    // $ANTLR start "rule__ContentModel__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:192:1: rule__ContentModel__Group__1__Impl : ( ( rule__ContentModel__NameAssignment_1 ) ) ;
    public final void rule__ContentModel__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:196:1: ( ( ( rule__ContentModel__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:197:1: ( ( rule__ContentModel__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:197:1: ( ( rule__ContentModel__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:198:1: ( rule__ContentModel__NameAssignment_1 )
            {
             before(grammarAccess.getContentModelAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:199:1: ( rule__ContentModel__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:199:2: rule__ContentModel__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__ContentModel__NameAssignment_1_in_rule__ContentModel__Group__1__Impl343);
            rule__ContentModel__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getContentModelAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__1__Impl"


    // $ANTLR start "rule__ContentModel__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:209:1: rule__ContentModel__Group__2 : rule__ContentModel__Group__2__Impl rule__ContentModel__Group__3 ;
    public final void rule__ContentModel__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:213:1: ( rule__ContentModel__Group__2__Impl rule__ContentModel__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:214:2: rule__ContentModel__Group__2__Impl rule__ContentModel__Group__3
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__2__Impl_in_rule__ContentModel__Group__2373);
            rule__ContentModel__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group__3_in_rule__ContentModel__Group__2376);
            rule__ContentModel__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__2"


    // $ANTLR start "rule__ContentModel__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:221:1: rule__ContentModel__Group__2__Impl : ( '{' ) ;
    public final void rule__ContentModel__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:225:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:226:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:226:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:227:1: '{'
            {
             before(grammarAccess.getContentModelAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__ContentModel__Group__2__Impl404); 
             after(grammarAccess.getContentModelAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__2__Impl"


    // $ANTLR start "rule__ContentModel__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:240:1: rule__ContentModel__Group__3 : rule__ContentModel__Group__3__Impl rule__ContentModel__Group__4 ;
    public final void rule__ContentModel__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:244:1: ( rule__ContentModel__Group__3__Impl rule__ContentModel__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:245:2: rule__ContentModel__Group__3__Impl rule__ContentModel__Group__4
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__3__Impl_in_rule__ContentModel__Group__3435);
            rule__ContentModel__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group__4_in_rule__ContentModel__Group__3438);
            rule__ContentModel__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__3"


    // $ANTLR start "rule__ContentModel__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:252:1: rule__ContentModel__Group__3__Impl : ( 'displayName' ) ;
    public final void rule__ContentModel__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:256:1: ( ( 'displayName' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:257:1: ( 'displayName' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:257:1: ( 'displayName' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:258:1: 'displayName'
            {
             before(grammarAccess.getContentModelAccess().getDisplayNameKeyword_3()); 
            match(input,13,FOLLOW_13_in_rule__ContentModel__Group__3__Impl466); 
             after(grammarAccess.getContentModelAccess().getDisplayNameKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__3__Impl"


    // $ANTLR start "rule__ContentModel__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:271:1: rule__ContentModel__Group__4 : rule__ContentModel__Group__4__Impl rule__ContentModel__Group__5 ;
    public final void rule__ContentModel__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:275:1: ( rule__ContentModel__Group__4__Impl rule__ContentModel__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:276:2: rule__ContentModel__Group__4__Impl rule__ContentModel__Group__5
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__4__Impl_in_rule__ContentModel__Group__4497);
            rule__ContentModel__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group__5_in_rule__ContentModel__Group__4500);
            rule__ContentModel__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__4"


    // $ANTLR start "rule__ContentModel__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:283:1: rule__ContentModel__Group__4__Impl : ( '=' ) ;
    public final void rule__ContentModel__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:287:1: ( ( '=' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:288:1: ( '=' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:288:1: ( '=' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:289:1: '='
            {
             before(grammarAccess.getContentModelAccess().getEqualsSignKeyword_4()); 
            match(input,14,FOLLOW_14_in_rule__ContentModel__Group__4__Impl528); 
             after(grammarAccess.getContentModelAccess().getEqualsSignKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__4__Impl"


    // $ANTLR start "rule__ContentModel__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:302:1: rule__ContentModel__Group__5 : rule__ContentModel__Group__5__Impl rule__ContentModel__Group__6 ;
    public final void rule__ContentModel__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:306:1: ( rule__ContentModel__Group__5__Impl rule__ContentModel__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:307:2: rule__ContentModel__Group__5__Impl rule__ContentModel__Group__6
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__5__Impl_in_rule__ContentModel__Group__5559);
            rule__ContentModel__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group__6_in_rule__ContentModel__Group__5562);
            rule__ContentModel__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__5"


    // $ANTLR start "rule__ContentModel__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:314:1: rule__ContentModel__Group__5__Impl : ( ( rule__ContentModel__DisplayNameAssignment_5 ) ) ;
    public final void rule__ContentModel__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:318:1: ( ( ( rule__ContentModel__DisplayNameAssignment_5 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:319:1: ( ( rule__ContentModel__DisplayNameAssignment_5 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:319:1: ( ( rule__ContentModel__DisplayNameAssignment_5 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:320:1: ( rule__ContentModel__DisplayNameAssignment_5 )
            {
             before(grammarAccess.getContentModelAccess().getDisplayNameAssignment_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:321:1: ( rule__ContentModel__DisplayNameAssignment_5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:321:2: rule__ContentModel__DisplayNameAssignment_5
            {
            pushFollow(FOLLOW_rule__ContentModel__DisplayNameAssignment_5_in_rule__ContentModel__Group__5__Impl589);
            rule__ContentModel__DisplayNameAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getContentModelAccess().getDisplayNameAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__5__Impl"


    // $ANTLR start "rule__ContentModel__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:331:1: rule__ContentModel__Group__6 : rule__ContentModel__Group__6__Impl rule__ContentModel__Group__7 ;
    public final void rule__ContentModel__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:335:1: ( rule__ContentModel__Group__6__Impl rule__ContentModel__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:336:2: rule__ContentModel__Group__6__Impl rule__ContentModel__Group__7
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__6__Impl_in_rule__ContentModel__Group__6619);
            rule__ContentModel__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group__7_in_rule__ContentModel__Group__6622);
            rule__ContentModel__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__6"


    // $ANTLR start "rule__ContentModel__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:343:1: rule__ContentModel__Group__6__Impl : ( ( rule__ContentModel__Group_6__0 )? ) ;
    public final void rule__ContentModel__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:347:1: ( ( ( rule__ContentModel__Group_6__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:348:1: ( ( rule__ContentModel__Group_6__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:348:1: ( ( rule__ContentModel__Group_6__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:349:1: ( rule__ContentModel__Group_6__0 )?
            {
             before(grammarAccess.getContentModelAccess().getGroup_6()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:350:1: ( rule__ContentModel__Group_6__0 )?
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==16) ) {
                alt1=1;
            }
            switch (alt1) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:350:2: rule__ContentModel__Group_6__0
                    {
                    pushFollow(FOLLOW_rule__ContentModel__Group_6__0_in_rule__ContentModel__Group__6__Impl649);
                    rule__ContentModel__Group_6__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getContentModelAccess().getGroup_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__6__Impl"


    // $ANTLR start "rule__ContentModel__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:360:1: rule__ContentModel__Group__7 : rule__ContentModel__Group__7__Impl rule__ContentModel__Group__8 ;
    public final void rule__ContentModel__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:364:1: ( rule__ContentModel__Group__7__Impl rule__ContentModel__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:365:2: rule__ContentModel__Group__7__Impl rule__ContentModel__Group__8
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__7__Impl_in_rule__ContentModel__Group__7680);
            rule__ContentModel__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group__8_in_rule__ContentModel__Group__7683);
            rule__ContentModel__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__7"


    // $ANTLR start "rule__ContentModel__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:372:1: rule__ContentModel__Group__7__Impl : ( ( rule__ContentModel__OwnedWebAssignment_7 ) ) ;
    public final void rule__ContentModel__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:376:1: ( ( ( rule__ContentModel__OwnedWebAssignment_7 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:377:1: ( ( rule__ContentModel__OwnedWebAssignment_7 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:377:1: ( ( rule__ContentModel__OwnedWebAssignment_7 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:378:1: ( rule__ContentModel__OwnedWebAssignment_7 )
            {
             before(grammarAccess.getContentModelAccess().getOwnedWebAssignment_7()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:379:1: ( rule__ContentModel__OwnedWebAssignment_7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:379:2: rule__ContentModel__OwnedWebAssignment_7
            {
            pushFollow(FOLLOW_rule__ContentModel__OwnedWebAssignment_7_in_rule__ContentModel__Group__7__Impl710);
            rule__ContentModel__OwnedWebAssignment_7();

            state._fsp--;


            }

             after(grammarAccess.getContentModelAccess().getOwnedWebAssignment_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__7__Impl"


    // $ANTLR start "rule__ContentModel__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:389:1: rule__ContentModel__Group__8 : rule__ContentModel__Group__8__Impl ;
    public final void rule__ContentModel__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:393:1: ( rule__ContentModel__Group__8__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:394:2: rule__ContentModel__Group__8__Impl
            {
            pushFollow(FOLLOW_rule__ContentModel__Group__8__Impl_in_rule__ContentModel__Group__8740);
            rule__ContentModel__Group__8__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__8"


    // $ANTLR start "rule__ContentModel__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:400:1: rule__ContentModel__Group__8__Impl : ( '}' ) ;
    public final void rule__ContentModel__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:404:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:405:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:405:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:406:1: '}'
            {
             before(grammarAccess.getContentModelAccess().getRightCurlyBracketKeyword_8()); 
            match(input,15,FOLLOW_15_in_rule__ContentModel__Group__8__Impl768); 
             after(grammarAccess.getContentModelAccess().getRightCurlyBracketKeyword_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group__8__Impl"


    // $ANTLR start "rule__ContentModel__Group_6__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:437:1: rule__ContentModel__Group_6__0 : rule__ContentModel__Group_6__0__Impl rule__ContentModel__Group_6__1 ;
    public final void rule__ContentModel__Group_6__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:441:1: ( rule__ContentModel__Group_6__0__Impl rule__ContentModel__Group_6__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:442:2: rule__ContentModel__Group_6__0__Impl rule__ContentModel__Group_6__1
            {
            pushFollow(FOLLOW_rule__ContentModel__Group_6__0__Impl_in_rule__ContentModel__Group_6__0817);
            rule__ContentModel__Group_6__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group_6__1_in_rule__ContentModel__Group_6__0820);
            rule__ContentModel__Group_6__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group_6__0"


    // $ANTLR start "rule__ContentModel__Group_6__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:449:1: rule__ContentModel__Group_6__0__Impl : ( 'description' ) ;
    public final void rule__ContentModel__Group_6__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:453:1: ( ( 'description' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:454:1: ( 'description' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:454:1: ( 'description' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:455:1: 'description'
            {
             before(grammarAccess.getContentModelAccess().getDescriptionKeyword_6_0()); 
            match(input,16,FOLLOW_16_in_rule__ContentModel__Group_6__0__Impl848); 
             after(grammarAccess.getContentModelAccess().getDescriptionKeyword_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group_6__0__Impl"


    // $ANTLR start "rule__ContentModel__Group_6__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:468:1: rule__ContentModel__Group_6__1 : rule__ContentModel__Group_6__1__Impl rule__ContentModel__Group_6__2 ;
    public final void rule__ContentModel__Group_6__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:472:1: ( rule__ContentModel__Group_6__1__Impl rule__ContentModel__Group_6__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:473:2: rule__ContentModel__Group_6__1__Impl rule__ContentModel__Group_6__2
            {
            pushFollow(FOLLOW_rule__ContentModel__Group_6__1__Impl_in_rule__ContentModel__Group_6__1879);
            rule__ContentModel__Group_6__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ContentModel__Group_6__2_in_rule__ContentModel__Group_6__1882);
            rule__ContentModel__Group_6__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group_6__1"


    // $ANTLR start "rule__ContentModel__Group_6__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:480:1: rule__ContentModel__Group_6__1__Impl : ( '=' ) ;
    public final void rule__ContentModel__Group_6__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:484:1: ( ( '=' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:485:1: ( '=' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:485:1: ( '=' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:486:1: '='
            {
             before(grammarAccess.getContentModelAccess().getEqualsSignKeyword_6_1()); 
            match(input,14,FOLLOW_14_in_rule__ContentModel__Group_6__1__Impl910); 
             after(grammarAccess.getContentModelAccess().getEqualsSignKeyword_6_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group_6__1__Impl"


    // $ANTLR start "rule__ContentModel__Group_6__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:499:1: rule__ContentModel__Group_6__2 : rule__ContentModel__Group_6__2__Impl ;
    public final void rule__ContentModel__Group_6__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:503:1: ( rule__ContentModel__Group_6__2__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:504:2: rule__ContentModel__Group_6__2__Impl
            {
            pushFollow(FOLLOW_rule__ContentModel__Group_6__2__Impl_in_rule__ContentModel__Group_6__2941);
            rule__ContentModel__Group_6__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group_6__2"


    // $ANTLR start "rule__ContentModel__Group_6__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:510:1: rule__ContentModel__Group_6__2__Impl : ( ( rule__ContentModel__DescriptionAssignment_6_2 ) ) ;
    public final void rule__ContentModel__Group_6__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:514:1: ( ( ( rule__ContentModel__DescriptionAssignment_6_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:515:1: ( ( rule__ContentModel__DescriptionAssignment_6_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:515:1: ( ( rule__ContentModel__DescriptionAssignment_6_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:516:1: ( rule__ContentModel__DescriptionAssignment_6_2 )
            {
             before(grammarAccess.getContentModelAccess().getDescriptionAssignment_6_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:517:1: ( rule__ContentModel__DescriptionAssignment_6_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:517:2: rule__ContentModel__DescriptionAssignment_6_2
            {
            pushFollow(FOLLOW_rule__ContentModel__DescriptionAssignment_6_2_in_rule__ContentModel__Group_6__2__Impl968);
            rule__ContentModel__DescriptionAssignment_6_2();

            state._fsp--;


            }

             after(grammarAccess.getContentModelAccess().getDescriptionAssignment_6_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__Group_6__2__Impl"


    // $ANTLR start "rule__Web__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:533:1: rule__Web__Group__0 : rule__Web__Group__0__Impl rule__Web__Group__1 ;
    public final void rule__Web__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:537:1: ( rule__Web__Group__0__Impl rule__Web__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:538:2: rule__Web__Group__0__Impl rule__Web__Group__1
            {
            pushFollow(FOLLOW_rule__Web__Group__0__Impl_in_rule__Web__Group__01004);
            rule__Web__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__1_in_rule__Web__Group__01007);
            rule__Web__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__0"


    // $ANTLR start "rule__Web__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:545:1: rule__Web__Group__0__Impl : ( 'Web' ) ;
    public final void rule__Web__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:549:1: ( ( 'Web' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( 'Web' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:550:1: ( 'Web' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:551:1: 'Web'
            {
             before(grammarAccess.getWebAccess().getWebKeyword_0()); 
            match(input,17,FOLLOW_17_in_rule__Web__Group__0__Impl1035); 
             after(grammarAccess.getWebAccess().getWebKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__0__Impl"


    // $ANTLR start "rule__Web__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:564:1: rule__Web__Group__1 : rule__Web__Group__1__Impl rule__Web__Group__2 ;
    public final void rule__Web__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:568:1: ( rule__Web__Group__1__Impl rule__Web__Group__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:569:2: rule__Web__Group__1__Impl rule__Web__Group__2
            {
            pushFollow(FOLLOW_rule__Web__Group__1__Impl_in_rule__Web__Group__11066);
            rule__Web__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__2_in_rule__Web__Group__11069);
            rule__Web__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__1"


    // $ANTLR start "rule__Web__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:576:1: rule__Web__Group__1__Impl : ( ( rule__Web__NameAssignment_1 ) ) ;
    public final void rule__Web__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:580:1: ( ( ( rule__Web__NameAssignment_1 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:581:1: ( ( rule__Web__NameAssignment_1 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:581:1: ( ( rule__Web__NameAssignment_1 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:582:1: ( rule__Web__NameAssignment_1 )
            {
             before(grammarAccess.getWebAccess().getNameAssignment_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:583:1: ( rule__Web__NameAssignment_1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:583:2: rule__Web__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Web__NameAssignment_1_in_rule__Web__Group__1__Impl1096);
            rule__Web__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getWebAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__1__Impl"


    // $ANTLR start "rule__Web__Group__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:593:1: rule__Web__Group__2 : rule__Web__Group__2__Impl rule__Web__Group__3 ;
    public final void rule__Web__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:597:1: ( rule__Web__Group__2__Impl rule__Web__Group__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:598:2: rule__Web__Group__2__Impl rule__Web__Group__3
            {
            pushFollow(FOLLOW_rule__Web__Group__2__Impl_in_rule__Web__Group__21126);
            rule__Web__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__3_in_rule__Web__Group__21129);
            rule__Web__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__2"


    // $ANTLR start "rule__Web__Group__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:605:1: rule__Web__Group__2__Impl : ( '{' ) ;
    public final void rule__Web__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:609:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:610:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:610:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:611:1: '{'
            {
             before(grammarAccess.getWebAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,12,FOLLOW_12_in_rule__Web__Group__2__Impl1157); 
             after(grammarAccess.getWebAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__2__Impl"


    // $ANTLR start "rule__Web__Group__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:624:1: rule__Web__Group__3 : rule__Web__Group__3__Impl rule__Web__Group__4 ;
    public final void rule__Web__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:628:1: ( rule__Web__Group__3__Impl rule__Web__Group__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:629:2: rule__Web__Group__3__Impl rule__Web__Group__4
            {
            pushFollow(FOLLOW_rule__Web__Group__3__Impl_in_rule__Web__Group__31188);
            rule__Web__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__4_in_rule__Web__Group__31191);
            rule__Web__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__3"


    // $ANTLR start "rule__Web__Group__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:636:1: rule__Web__Group__3__Impl : ( 'guID' ) ;
    public final void rule__Web__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:640:1: ( ( 'guID' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:641:1: ( 'guID' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:641:1: ( 'guID' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:642:1: 'guID'
            {
             before(grammarAccess.getWebAccess().getGuIDKeyword_3()); 
            match(input,18,FOLLOW_18_in_rule__Web__Group__3__Impl1219); 
             after(grammarAccess.getWebAccess().getGuIDKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__3__Impl"


    // $ANTLR start "rule__Web__Group__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:655:1: rule__Web__Group__4 : rule__Web__Group__4__Impl rule__Web__Group__5 ;
    public final void rule__Web__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:659:1: ( rule__Web__Group__4__Impl rule__Web__Group__5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:660:2: rule__Web__Group__4__Impl rule__Web__Group__5
            {
            pushFollow(FOLLOW_rule__Web__Group__4__Impl_in_rule__Web__Group__41250);
            rule__Web__Group__4__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__5_in_rule__Web__Group__41253);
            rule__Web__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__4"


    // $ANTLR start "rule__Web__Group__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:667:1: rule__Web__Group__4__Impl : ( '=' ) ;
    public final void rule__Web__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:671:1: ( ( '=' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:672:1: ( '=' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:672:1: ( '=' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:673:1: '='
            {
             before(grammarAccess.getWebAccess().getEqualsSignKeyword_4()); 
            match(input,14,FOLLOW_14_in_rule__Web__Group__4__Impl1281); 
             after(grammarAccess.getWebAccess().getEqualsSignKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__4__Impl"


    // $ANTLR start "rule__Web__Group__5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:686:1: rule__Web__Group__5 : rule__Web__Group__5__Impl rule__Web__Group__6 ;
    public final void rule__Web__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:690:1: ( rule__Web__Group__5__Impl rule__Web__Group__6 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:691:2: rule__Web__Group__5__Impl rule__Web__Group__6
            {
            pushFollow(FOLLOW_rule__Web__Group__5__Impl_in_rule__Web__Group__51312);
            rule__Web__Group__5__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__6_in_rule__Web__Group__51315);
            rule__Web__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__5"


    // $ANTLR start "rule__Web__Group__5__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:698:1: rule__Web__Group__5__Impl : ( ( rule__Web__GuIDAssignment_5 ) ) ;
    public final void rule__Web__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:702:1: ( ( ( rule__Web__GuIDAssignment_5 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:703:1: ( ( rule__Web__GuIDAssignment_5 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:703:1: ( ( rule__Web__GuIDAssignment_5 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:704:1: ( rule__Web__GuIDAssignment_5 )
            {
             before(grammarAccess.getWebAccess().getGuIDAssignment_5()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:705:1: ( rule__Web__GuIDAssignment_5 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:705:2: rule__Web__GuIDAssignment_5
            {
            pushFollow(FOLLOW_rule__Web__GuIDAssignment_5_in_rule__Web__Group__5__Impl1342);
            rule__Web__GuIDAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getWebAccess().getGuIDAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__5__Impl"


    // $ANTLR start "rule__Web__Group__6"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:715:1: rule__Web__Group__6 : rule__Web__Group__6__Impl rule__Web__Group__7 ;
    public final void rule__Web__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:719:1: ( rule__Web__Group__6__Impl rule__Web__Group__7 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:720:2: rule__Web__Group__6__Impl rule__Web__Group__7
            {
            pushFollow(FOLLOW_rule__Web__Group__6__Impl_in_rule__Web__Group__61372);
            rule__Web__Group__6__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__7_in_rule__Web__Group__61375);
            rule__Web__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__6"


    // $ANTLR start "rule__Web__Group__6__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:727:1: rule__Web__Group__6__Impl : ( 'displayName' ) ;
    public final void rule__Web__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:731:1: ( ( 'displayName' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:732:1: ( 'displayName' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:732:1: ( 'displayName' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:733:1: 'displayName'
            {
             before(grammarAccess.getWebAccess().getDisplayNameKeyword_6()); 
            match(input,13,FOLLOW_13_in_rule__Web__Group__6__Impl1403); 
             after(grammarAccess.getWebAccess().getDisplayNameKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__6__Impl"


    // $ANTLR start "rule__Web__Group__7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:746:1: rule__Web__Group__7 : rule__Web__Group__7__Impl rule__Web__Group__8 ;
    public final void rule__Web__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:750:1: ( rule__Web__Group__7__Impl rule__Web__Group__8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:751:2: rule__Web__Group__7__Impl rule__Web__Group__8
            {
            pushFollow(FOLLOW_rule__Web__Group__7__Impl_in_rule__Web__Group__71434);
            rule__Web__Group__7__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__8_in_rule__Web__Group__71437);
            rule__Web__Group__8();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__7"


    // $ANTLR start "rule__Web__Group__7__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:758:1: rule__Web__Group__7__Impl : ( '=' ) ;
    public final void rule__Web__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:762:1: ( ( '=' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:763:1: ( '=' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:763:1: ( '=' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:764:1: '='
            {
             before(grammarAccess.getWebAccess().getEqualsSignKeyword_7()); 
            match(input,14,FOLLOW_14_in_rule__Web__Group__7__Impl1465); 
             after(grammarAccess.getWebAccess().getEqualsSignKeyword_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__7__Impl"


    // $ANTLR start "rule__Web__Group__8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:777:1: rule__Web__Group__8 : rule__Web__Group__8__Impl rule__Web__Group__9 ;
    public final void rule__Web__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:781:1: ( rule__Web__Group__8__Impl rule__Web__Group__9 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:782:2: rule__Web__Group__8__Impl rule__Web__Group__9
            {
            pushFollow(FOLLOW_rule__Web__Group__8__Impl_in_rule__Web__Group__81496);
            rule__Web__Group__8__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__9_in_rule__Web__Group__81499);
            rule__Web__Group__9();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__8"


    // $ANTLR start "rule__Web__Group__8__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:789:1: rule__Web__Group__8__Impl : ( ( rule__Web__DisplayNameAssignment_8 ) ) ;
    public final void rule__Web__Group__8__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:793:1: ( ( ( rule__Web__DisplayNameAssignment_8 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: ( ( rule__Web__DisplayNameAssignment_8 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:794:1: ( ( rule__Web__DisplayNameAssignment_8 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:795:1: ( rule__Web__DisplayNameAssignment_8 )
            {
             before(grammarAccess.getWebAccess().getDisplayNameAssignment_8()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:796:1: ( rule__Web__DisplayNameAssignment_8 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:796:2: rule__Web__DisplayNameAssignment_8
            {
            pushFollow(FOLLOW_rule__Web__DisplayNameAssignment_8_in_rule__Web__Group__8__Impl1526);
            rule__Web__DisplayNameAssignment_8();

            state._fsp--;


            }

             after(grammarAccess.getWebAccess().getDisplayNameAssignment_8()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__8__Impl"


    // $ANTLR start "rule__Web__Group__9"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:806:1: rule__Web__Group__9 : rule__Web__Group__9__Impl rule__Web__Group__10 ;
    public final void rule__Web__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:810:1: ( rule__Web__Group__9__Impl rule__Web__Group__10 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:811:2: rule__Web__Group__9__Impl rule__Web__Group__10
            {
            pushFollow(FOLLOW_rule__Web__Group__9__Impl_in_rule__Web__Group__91556);
            rule__Web__Group__9__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__10_in_rule__Web__Group__91559);
            rule__Web__Group__10();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__9"


    // $ANTLR start "rule__Web__Group__9__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:818:1: rule__Web__Group__9__Impl : ( ( rule__Web__Group_9__0 )? ) ;
    public final void rule__Web__Group__9__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:822:1: ( ( ( rule__Web__Group_9__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:823:1: ( ( rule__Web__Group_9__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:823:1: ( ( rule__Web__Group_9__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:824:1: ( rule__Web__Group_9__0 )?
            {
             before(grammarAccess.getWebAccess().getGroup_9()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:825:1: ( rule__Web__Group_9__0 )?
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==16) ) {
                alt2=1;
            }
            switch (alt2) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:825:2: rule__Web__Group_9__0
                    {
                    pushFollow(FOLLOW_rule__Web__Group_9__0_in_rule__Web__Group__9__Impl1586);
                    rule__Web__Group_9__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWebAccess().getGroup_9()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__9__Impl"


    // $ANTLR start "rule__Web__Group__10"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:835:1: rule__Web__Group__10 : rule__Web__Group__10__Impl rule__Web__Group__11 ;
    public final void rule__Web__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:839:1: ( rule__Web__Group__10__Impl rule__Web__Group__11 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:840:2: rule__Web__Group__10__Impl rule__Web__Group__11
            {
            pushFollow(FOLLOW_rule__Web__Group__10__Impl_in_rule__Web__Group__101617);
            rule__Web__Group__10__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__11_in_rule__Web__Group__101620);
            rule__Web__Group__11();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__10"


    // $ANTLR start "rule__Web__Group__10__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:847:1: rule__Web__Group__10__Impl : ( ( rule__Web__Group_10__0 )? ) ;
    public final void rule__Web__Group__10__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:851:1: ( ( ( rule__Web__Group_10__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:852:1: ( ( rule__Web__Group_10__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:852:1: ( ( rule__Web__Group_10__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:853:1: ( rule__Web__Group_10__0 )?
            {
             before(grammarAccess.getWebAccess().getGroup_10()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:854:1: ( rule__Web__Group_10__0 )?
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==19) ) {
                alt3=1;
            }
            switch (alt3) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:854:2: rule__Web__Group_10__0
                    {
                    pushFollow(FOLLOW_rule__Web__Group_10__0_in_rule__Web__Group__10__Impl1647);
                    rule__Web__Group_10__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWebAccess().getGroup_10()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__10__Impl"


    // $ANTLR start "rule__Web__Group__11"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:864:1: rule__Web__Group__11 : rule__Web__Group__11__Impl rule__Web__Group__12 ;
    public final void rule__Web__Group__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:868:1: ( rule__Web__Group__11__Impl rule__Web__Group__12 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:869:2: rule__Web__Group__11__Impl rule__Web__Group__12
            {
            pushFollow(FOLLOW_rule__Web__Group__11__Impl_in_rule__Web__Group__111678);
            rule__Web__Group__11__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group__12_in_rule__Web__Group__111681);
            rule__Web__Group__12();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__11"


    // $ANTLR start "rule__Web__Group__11__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:876:1: rule__Web__Group__11__Impl : ( ( rule__Web__Group_11__0 )? ) ;
    public final void rule__Web__Group__11__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:880:1: ( ( ( rule__Web__Group_11__0 )? ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:881:1: ( ( rule__Web__Group_11__0 )? )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:881:1: ( ( rule__Web__Group_11__0 )? )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:882:1: ( rule__Web__Group_11__0 )?
            {
             before(grammarAccess.getWebAccess().getGroup_11()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:883:1: ( rule__Web__Group_11__0 )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==20) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:883:2: rule__Web__Group_11__0
                    {
                    pushFollow(FOLLOW_rule__Web__Group_11__0_in_rule__Web__Group__11__Impl1708);
                    rule__Web__Group_11__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getWebAccess().getGroup_11()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__11__Impl"


    // $ANTLR start "rule__Web__Group__12"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:893:1: rule__Web__Group__12 : rule__Web__Group__12__Impl ;
    public final void rule__Web__Group__12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:897:1: ( rule__Web__Group__12__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:898:2: rule__Web__Group__12__Impl
            {
            pushFollow(FOLLOW_rule__Web__Group__12__Impl_in_rule__Web__Group__121739);
            rule__Web__Group__12__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__12"


    // $ANTLR start "rule__Web__Group__12__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:904:1: rule__Web__Group__12__Impl : ( '}' ) ;
    public final void rule__Web__Group__12__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:908:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:909:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:909:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:910:1: '}'
            {
             before(grammarAccess.getWebAccess().getRightCurlyBracketKeyword_12()); 
            match(input,15,FOLLOW_15_in_rule__Web__Group__12__Impl1767); 
             after(grammarAccess.getWebAccess().getRightCurlyBracketKeyword_12()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group__12__Impl"


    // $ANTLR start "rule__Web__Group_9__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:949:1: rule__Web__Group_9__0 : rule__Web__Group_9__0__Impl rule__Web__Group_9__1 ;
    public final void rule__Web__Group_9__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:953:1: ( rule__Web__Group_9__0__Impl rule__Web__Group_9__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:954:2: rule__Web__Group_9__0__Impl rule__Web__Group_9__1
            {
            pushFollow(FOLLOW_rule__Web__Group_9__0__Impl_in_rule__Web__Group_9__01824);
            rule__Web__Group_9__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group_9__1_in_rule__Web__Group_9__01827);
            rule__Web__Group_9__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_9__0"


    // $ANTLR start "rule__Web__Group_9__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:961:1: rule__Web__Group_9__0__Impl : ( 'description' ) ;
    public final void rule__Web__Group_9__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:965:1: ( ( 'description' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:966:1: ( 'description' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:966:1: ( 'description' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:967:1: 'description'
            {
             before(grammarAccess.getWebAccess().getDescriptionKeyword_9_0()); 
            match(input,16,FOLLOW_16_in_rule__Web__Group_9__0__Impl1855); 
             after(grammarAccess.getWebAccess().getDescriptionKeyword_9_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_9__0__Impl"


    // $ANTLR start "rule__Web__Group_9__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:980:1: rule__Web__Group_9__1 : rule__Web__Group_9__1__Impl rule__Web__Group_9__2 ;
    public final void rule__Web__Group_9__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:984:1: ( rule__Web__Group_9__1__Impl rule__Web__Group_9__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:985:2: rule__Web__Group_9__1__Impl rule__Web__Group_9__2
            {
            pushFollow(FOLLOW_rule__Web__Group_9__1__Impl_in_rule__Web__Group_9__11886);
            rule__Web__Group_9__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group_9__2_in_rule__Web__Group_9__11889);
            rule__Web__Group_9__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_9__1"


    // $ANTLR start "rule__Web__Group_9__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:992:1: rule__Web__Group_9__1__Impl : ( '=' ) ;
    public final void rule__Web__Group_9__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:996:1: ( ( '=' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:997:1: ( '=' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:997:1: ( '=' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:998:1: '='
            {
             before(grammarAccess.getWebAccess().getEqualsSignKeyword_9_1()); 
            match(input,14,FOLLOW_14_in_rule__Web__Group_9__1__Impl1917); 
             after(grammarAccess.getWebAccess().getEqualsSignKeyword_9_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_9__1__Impl"


    // $ANTLR start "rule__Web__Group_9__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1011:1: rule__Web__Group_9__2 : rule__Web__Group_9__2__Impl ;
    public final void rule__Web__Group_9__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1015:1: ( rule__Web__Group_9__2__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1016:2: rule__Web__Group_9__2__Impl
            {
            pushFollow(FOLLOW_rule__Web__Group_9__2__Impl_in_rule__Web__Group_9__21948);
            rule__Web__Group_9__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_9__2"


    // $ANTLR start "rule__Web__Group_9__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1022:1: rule__Web__Group_9__2__Impl : ( ( rule__Web__DescriptionAssignment_9_2 ) ) ;
    public final void rule__Web__Group_9__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1026:1: ( ( ( rule__Web__DescriptionAssignment_9_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1027:1: ( ( rule__Web__DescriptionAssignment_9_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1027:1: ( ( rule__Web__DescriptionAssignment_9_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1028:1: ( rule__Web__DescriptionAssignment_9_2 )
            {
             before(grammarAccess.getWebAccess().getDescriptionAssignment_9_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1029:1: ( rule__Web__DescriptionAssignment_9_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1029:2: rule__Web__DescriptionAssignment_9_2
            {
            pushFollow(FOLLOW_rule__Web__DescriptionAssignment_9_2_in_rule__Web__Group_9__2__Impl1975);
            rule__Web__DescriptionAssignment_9_2();

            state._fsp--;


            }

             after(grammarAccess.getWebAccess().getDescriptionAssignment_9_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_9__2__Impl"


    // $ANTLR start "rule__Web__Group_10__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1045:1: rule__Web__Group_10__0 : rule__Web__Group_10__0__Impl rule__Web__Group_10__1 ;
    public final void rule__Web__Group_10__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1049:1: ( rule__Web__Group_10__0__Impl rule__Web__Group_10__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1050:2: rule__Web__Group_10__0__Impl rule__Web__Group_10__1
            {
            pushFollow(FOLLOW_rule__Web__Group_10__0__Impl_in_rule__Web__Group_10__02011);
            rule__Web__Group_10__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group_10__1_in_rule__Web__Group_10__02014);
            rule__Web__Group_10__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_10__0"


    // $ANTLR start "rule__Web__Group_10__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1057:1: rule__Web__Group_10__0__Impl : ( 'sitePermission' ) ;
    public final void rule__Web__Group_10__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1061:1: ( ( 'sitePermission' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1062:1: ( 'sitePermission' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1062:1: ( 'sitePermission' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1063:1: 'sitePermission'
            {
             before(grammarAccess.getWebAccess().getSitePermissionKeyword_10_0()); 
            match(input,19,FOLLOW_19_in_rule__Web__Group_10__0__Impl2042); 
             after(grammarAccess.getWebAccess().getSitePermissionKeyword_10_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_10__0__Impl"


    // $ANTLR start "rule__Web__Group_10__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1076:1: rule__Web__Group_10__1 : rule__Web__Group_10__1__Impl rule__Web__Group_10__2 ;
    public final void rule__Web__Group_10__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1080:1: ( rule__Web__Group_10__1__Impl rule__Web__Group_10__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1081:2: rule__Web__Group_10__1__Impl rule__Web__Group_10__2
            {
            pushFollow(FOLLOW_rule__Web__Group_10__1__Impl_in_rule__Web__Group_10__12073);
            rule__Web__Group_10__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group_10__2_in_rule__Web__Group_10__12076);
            rule__Web__Group_10__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_10__1"


    // $ANTLR start "rule__Web__Group_10__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1088:1: rule__Web__Group_10__1__Impl : ( '=' ) ;
    public final void rule__Web__Group_10__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1092:1: ( ( '=' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1093:1: ( '=' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1093:1: ( '=' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1094:1: '='
            {
             before(grammarAccess.getWebAccess().getEqualsSignKeyword_10_1()); 
            match(input,14,FOLLOW_14_in_rule__Web__Group_10__1__Impl2104); 
             after(grammarAccess.getWebAccess().getEqualsSignKeyword_10_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_10__1__Impl"


    // $ANTLR start "rule__Web__Group_10__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1107:1: rule__Web__Group_10__2 : rule__Web__Group_10__2__Impl ;
    public final void rule__Web__Group_10__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1111:1: ( rule__Web__Group_10__2__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1112:2: rule__Web__Group_10__2__Impl
            {
            pushFollow(FOLLOW_rule__Web__Group_10__2__Impl_in_rule__Web__Group_10__22135);
            rule__Web__Group_10__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_10__2"


    // $ANTLR start "rule__Web__Group_10__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1118:1: rule__Web__Group_10__2__Impl : ( ( rule__Web__SitePermissionAssignment_10_2 ) ) ;
    public final void rule__Web__Group_10__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1122:1: ( ( ( rule__Web__SitePermissionAssignment_10_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1123:1: ( ( rule__Web__SitePermissionAssignment_10_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1123:1: ( ( rule__Web__SitePermissionAssignment_10_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1124:1: ( rule__Web__SitePermissionAssignment_10_2 )
            {
             before(grammarAccess.getWebAccess().getSitePermissionAssignment_10_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1125:1: ( rule__Web__SitePermissionAssignment_10_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1125:2: rule__Web__SitePermissionAssignment_10_2
            {
            pushFollow(FOLLOW_rule__Web__SitePermissionAssignment_10_2_in_rule__Web__Group_10__2__Impl2162);
            rule__Web__SitePermissionAssignment_10_2();

            state._fsp--;


            }

             after(grammarAccess.getWebAccess().getSitePermissionAssignment_10_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_10__2__Impl"


    // $ANTLR start "rule__Web__Group_11__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1141:1: rule__Web__Group_11__0 : rule__Web__Group_11__0__Impl rule__Web__Group_11__1 ;
    public final void rule__Web__Group_11__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1145:1: ( rule__Web__Group_11__0__Impl rule__Web__Group_11__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1146:2: rule__Web__Group_11__0__Impl rule__Web__Group_11__1
            {
            pushFollow(FOLLOW_rule__Web__Group_11__0__Impl_in_rule__Web__Group_11__02198);
            rule__Web__Group_11__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group_11__1_in_rule__Web__Group_11__02201);
            rule__Web__Group_11__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__0"


    // $ANTLR start "rule__Web__Group_11__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1153:1: rule__Web__Group_11__0__Impl : ( 'Webs' ) ;
    public final void rule__Web__Group_11__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1157:1: ( ( 'Webs' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1158:1: ( 'Webs' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1158:1: ( 'Webs' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1159:1: 'Webs'
            {
             before(grammarAccess.getWebAccess().getWebsKeyword_11_0()); 
            match(input,20,FOLLOW_20_in_rule__Web__Group_11__0__Impl2229); 
             after(grammarAccess.getWebAccess().getWebsKeyword_11_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__0__Impl"


    // $ANTLR start "rule__Web__Group_11__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1172:1: rule__Web__Group_11__1 : rule__Web__Group_11__1__Impl rule__Web__Group_11__2 ;
    public final void rule__Web__Group_11__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1176:1: ( rule__Web__Group_11__1__Impl rule__Web__Group_11__2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1177:2: rule__Web__Group_11__1__Impl rule__Web__Group_11__2
            {
            pushFollow(FOLLOW_rule__Web__Group_11__1__Impl_in_rule__Web__Group_11__12260);
            rule__Web__Group_11__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group_11__2_in_rule__Web__Group_11__12263);
            rule__Web__Group_11__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__1"


    // $ANTLR start "rule__Web__Group_11__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1184:1: rule__Web__Group_11__1__Impl : ( '{' ) ;
    public final void rule__Web__Group_11__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1188:1: ( ( '{' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1189:1: ( '{' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1189:1: ( '{' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1190:1: '{'
            {
             before(grammarAccess.getWebAccess().getLeftCurlyBracketKeyword_11_1()); 
            match(input,12,FOLLOW_12_in_rule__Web__Group_11__1__Impl2291); 
             after(grammarAccess.getWebAccess().getLeftCurlyBracketKeyword_11_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__1__Impl"


    // $ANTLR start "rule__Web__Group_11__2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1203:1: rule__Web__Group_11__2 : rule__Web__Group_11__2__Impl rule__Web__Group_11__3 ;
    public final void rule__Web__Group_11__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1207:1: ( rule__Web__Group_11__2__Impl rule__Web__Group_11__3 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1208:2: rule__Web__Group_11__2__Impl rule__Web__Group_11__3
            {
            pushFollow(FOLLOW_rule__Web__Group_11__2__Impl_in_rule__Web__Group_11__22322);
            rule__Web__Group_11__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group_11__3_in_rule__Web__Group_11__22325);
            rule__Web__Group_11__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__2"


    // $ANTLR start "rule__Web__Group_11__2__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1215:1: rule__Web__Group_11__2__Impl : ( ( rule__Web__OwnedWebAssignment_11_2 ) ) ;
    public final void rule__Web__Group_11__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1219:1: ( ( ( rule__Web__OwnedWebAssignment_11_2 ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1220:1: ( ( rule__Web__OwnedWebAssignment_11_2 ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1220:1: ( ( rule__Web__OwnedWebAssignment_11_2 ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1221:1: ( rule__Web__OwnedWebAssignment_11_2 )
            {
             before(grammarAccess.getWebAccess().getOwnedWebAssignment_11_2()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1222:1: ( rule__Web__OwnedWebAssignment_11_2 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1222:2: rule__Web__OwnedWebAssignment_11_2
            {
            pushFollow(FOLLOW_rule__Web__OwnedWebAssignment_11_2_in_rule__Web__Group_11__2__Impl2352);
            rule__Web__OwnedWebAssignment_11_2();

            state._fsp--;


            }

             after(grammarAccess.getWebAccess().getOwnedWebAssignment_11_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__2__Impl"


    // $ANTLR start "rule__Web__Group_11__3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1232:1: rule__Web__Group_11__3 : rule__Web__Group_11__3__Impl rule__Web__Group_11__4 ;
    public final void rule__Web__Group_11__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1236:1: ( rule__Web__Group_11__3__Impl rule__Web__Group_11__4 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1237:2: rule__Web__Group_11__3__Impl rule__Web__Group_11__4
            {
            pushFollow(FOLLOW_rule__Web__Group_11__3__Impl_in_rule__Web__Group_11__32382);
            rule__Web__Group_11__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Web__Group_11__4_in_rule__Web__Group_11__32385);
            rule__Web__Group_11__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__3"


    // $ANTLR start "rule__Web__Group_11__3__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1244:1: rule__Web__Group_11__3__Impl : ( ( rule__Web__OwnedWebAssignment_11_3 )* ) ;
    public final void rule__Web__Group_11__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1248:1: ( ( ( rule__Web__OwnedWebAssignment_11_3 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1249:1: ( ( rule__Web__OwnedWebAssignment_11_3 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1249:1: ( ( rule__Web__OwnedWebAssignment_11_3 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1250:1: ( rule__Web__OwnedWebAssignment_11_3 )*
            {
             before(grammarAccess.getWebAccess().getOwnedWebAssignment_11_3()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1251:1: ( rule__Web__OwnedWebAssignment_11_3 )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==17) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1251:2: rule__Web__OwnedWebAssignment_11_3
            	    {
            	    pushFollow(FOLLOW_rule__Web__OwnedWebAssignment_11_3_in_rule__Web__Group_11__3__Impl2412);
            	    rule__Web__OwnedWebAssignment_11_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

             after(grammarAccess.getWebAccess().getOwnedWebAssignment_11_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__3__Impl"


    // $ANTLR start "rule__Web__Group_11__4"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1261:1: rule__Web__Group_11__4 : rule__Web__Group_11__4__Impl ;
    public final void rule__Web__Group_11__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1265:1: ( rule__Web__Group_11__4__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1266:2: rule__Web__Group_11__4__Impl
            {
            pushFollow(FOLLOW_rule__Web__Group_11__4__Impl_in_rule__Web__Group_11__42443);
            rule__Web__Group_11__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__4"


    // $ANTLR start "rule__Web__Group_11__4__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1272:1: rule__Web__Group_11__4__Impl : ( '}' ) ;
    public final void rule__Web__Group_11__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1276:1: ( ( '}' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1277:1: ( '}' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1277:1: ( '}' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1278:1: '}'
            {
             before(grammarAccess.getWebAccess().getRightCurlyBracketKeyword_11_4()); 
            match(input,15,FOLLOW_15_in_rule__Web__Group_11__4__Impl2471); 
             after(grammarAccess.getWebAccess().getRightCurlyBracketKeyword_11_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__Group_11__4__Impl"


    // $ANTLR start "rule__QualifiedName__Group__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1301:1: rule__QualifiedName__Group__0 : rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 ;
    public final void rule__QualifiedName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1305:1: ( rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1306:2: rule__QualifiedName__Group__0__Impl rule__QualifiedName__Group__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__02512);
            rule__QualifiedName__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__02515);
            rule__QualifiedName__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0"


    // $ANTLR start "rule__QualifiedName__Group__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1313:1: rule__QualifiedName__Group__0__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1317:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1318:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1318:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1319:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl2542); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1330:1: rule__QualifiedName__Group__1 : rule__QualifiedName__Group__1__Impl ;
    public final void rule__QualifiedName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1334:1: ( rule__QualifiedName__Group__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1335:2: rule__QualifiedName__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__12571);
            rule__QualifiedName__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1"


    // $ANTLR start "rule__QualifiedName__Group__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1341:1: rule__QualifiedName__Group__1__Impl : ( ( rule__QualifiedName__Group_1__0 )* ) ;
    public final void rule__QualifiedName__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1345:1: ( ( ( rule__QualifiedName__Group_1__0 )* ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1346:1: ( ( rule__QualifiedName__Group_1__0 )* )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1346:1: ( ( rule__QualifiedName__Group_1__0 )* )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1347:1: ( rule__QualifiedName__Group_1__0 )*
            {
             before(grammarAccess.getQualifiedNameAccess().getGroup_1()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1348:1: ( rule__QualifiedName__Group_1__0 )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0==21) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1348:2: rule__QualifiedName__Group_1__0
            	    {
            	    pushFollow(FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl2598);
            	    rule__QualifiedName__Group_1__0();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

             after(grammarAccess.getQualifiedNameAccess().getGroup_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group__1__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__0"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1362:1: rule__QualifiedName__Group_1__0 : rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 ;
    public final void rule__QualifiedName__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1366:1: ( rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1 )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1367:2: rule__QualifiedName__Group_1__0__Impl rule__QualifiedName__Group_1__1
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__02633);
            rule__QualifiedName__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__02636);
            rule__QualifiedName__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0"


    // $ANTLR start "rule__QualifiedName__Group_1__0__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1374:1: rule__QualifiedName__Group_1__0__Impl : ( '.' ) ;
    public final void rule__QualifiedName__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1378:1: ( ( '.' ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1379:1: ( '.' )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1379:1: ( '.' )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1380:1: '.'
            {
             before(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 
            match(input,21,FOLLOW_21_in_rule__QualifiedName__Group_1__0__Impl2664); 
             after(grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__0__Impl"


    // $ANTLR start "rule__QualifiedName__Group_1__1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1393:1: rule__QualifiedName__Group_1__1 : rule__QualifiedName__Group_1__1__Impl ;
    public final void rule__QualifiedName__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1397:1: ( rule__QualifiedName__Group_1__1__Impl )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1398:2: rule__QualifiedName__Group_1__1__Impl
            {
            pushFollow(FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__12695);
            rule__QualifiedName__Group_1__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1"


    // $ANTLR start "rule__QualifiedName__Group_1__1__Impl"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1404:1: rule__QualifiedName__Group_1__1__Impl : ( RULE_ID ) ;
    public final void rule__QualifiedName__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1408:1: ( ( RULE_ID ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1409:1: ( RULE_ID )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1409:1: ( RULE_ID )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1410:1: RULE_ID
            {
             before(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl2722); 
             after(grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__QualifiedName__Group_1__1__Impl"


    // $ANTLR start "rule__ContentModel__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1426:1: rule__ContentModel__NameAssignment_1 : ( ruleQualifiedName ) ;
    public final void rule__ContentModel__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1430:1: ( ( ruleQualifiedName ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1431:1: ( ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1431:1: ( ruleQualifiedName )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1432:1: ruleQualifiedName
            {
             before(grammarAccess.getContentModelAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__ContentModel__NameAssignment_12760);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getContentModelAccess().getNameQualifiedNameParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__NameAssignment_1"


    // $ANTLR start "rule__ContentModel__DisplayNameAssignment_5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1441:1: rule__ContentModel__DisplayNameAssignment_5 : ( RULE_STRING ) ;
    public final void rule__ContentModel__DisplayNameAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1445:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1446:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1446:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1447:1: RULE_STRING
            {
             before(grammarAccess.getContentModelAccess().getDisplayNameSTRINGTerminalRuleCall_5_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ContentModel__DisplayNameAssignment_52791); 
             after(grammarAccess.getContentModelAccess().getDisplayNameSTRINGTerminalRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__DisplayNameAssignment_5"


    // $ANTLR start "rule__ContentModel__DescriptionAssignment_6_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1456:1: rule__ContentModel__DescriptionAssignment_6_2 : ( RULE_STRING ) ;
    public final void rule__ContentModel__DescriptionAssignment_6_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1460:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1461:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1461:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1462:1: RULE_STRING
            {
             before(grammarAccess.getContentModelAccess().getDescriptionSTRINGTerminalRuleCall_6_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ContentModel__DescriptionAssignment_6_22822); 
             after(grammarAccess.getContentModelAccess().getDescriptionSTRINGTerminalRuleCall_6_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__DescriptionAssignment_6_2"


    // $ANTLR start "rule__ContentModel__OwnedWebAssignment_7"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1471:1: rule__ContentModel__OwnedWebAssignment_7 : ( ruleWeb ) ;
    public final void rule__ContentModel__OwnedWebAssignment_7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1475:1: ( ( ruleWeb ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1476:1: ( ruleWeb )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1476:1: ( ruleWeb )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1477:1: ruleWeb
            {
             before(grammarAccess.getContentModelAccess().getOwnedWebWebParserRuleCall_7_0()); 
            pushFollow(FOLLOW_ruleWeb_in_rule__ContentModel__OwnedWebAssignment_72853);
            ruleWeb();

            state._fsp--;

             after(grammarAccess.getContentModelAccess().getOwnedWebWebParserRuleCall_7_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ContentModel__OwnedWebAssignment_7"


    // $ANTLR start "rule__Web__NameAssignment_1"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1486:1: rule__Web__NameAssignment_1 : ( ruleQualifiedName ) ;
    public final void rule__Web__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1490:1: ( ( ruleQualifiedName ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1491:1: ( ruleQualifiedName )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1491:1: ( ruleQualifiedName )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1492:1: ruleQualifiedName
            {
             before(grammarAccess.getWebAccess().getNameQualifiedNameParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__Web__NameAssignment_12884);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getWebAccess().getNameQualifiedNameParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__NameAssignment_1"


    // $ANTLR start "rule__Web__GuIDAssignment_5"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1501:1: rule__Web__GuIDAssignment_5 : ( RULE_STRING ) ;
    public final void rule__Web__GuIDAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1505:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1506:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1506:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1507:1: RULE_STRING
            {
             before(grammarAccess.getWebAccess().getGuIDSTRINGTerminalRuleCall_5_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Web__GuIDAssignment_52915); 
             after(grammarAccess.getWebAccess().getGuIDSTRINGTerminalRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__GuIDAssignment_5"


    // $ANTLR start "rule__Web__DisplayNameAssignment_8"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1516:1: rule__Web__DisplayNameAssignment_8 : ( RULE_STRING ) ;
    public final void rule__Web__DisplayNameAssignment_8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1520:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1521:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1521:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1522:1: RULE_STRING
            {
             before(grammarAccess.getWebAccess().getDisplayNameSTRINGTerminalRuleCall_8_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Web__DisplayNameAssignment_82946); 
             after(grammarAccess.getWebAccess().getDisplayNameSTRINGTerminalRuleCall_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__DisplayNameAssignment_8"


    // $ANTLR start "rule__Web__DescriptionAssignment_9_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1531:1: rule__Web__DescriptionAssignment_9_2 : ( RULE_STRING ) ;
    public final void rule__Web__DescriptionAssignment_9_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1535:1: ( ( RULE_STRING ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1536:1: ( RULE_STRING )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1536:1: ( RULE_STRING )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1537:1: RULE_STRING
            {
             before(grammarAccess.getWebAccess().getDescriptionSTRINGTerminalRuleCall_9_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Web__DescriptionAssignment_9_22977); 
             after(grammarAccess.getWebAccess().getDescriptionSTRINGTerminalRuleCall_9_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__DescriptionAssignment_9_2"


    // $ANTLR start "rule__Web__SitePermissionAssignment_10_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1546:1: rule__Web__SitePermissionAssignment_10_2 : ( ( ruleQualifiedName ) ) ;
    public final void rule__Web__SitePermissionAssignment_10_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1550:1: ( ( ( ruleQualifiedName ) ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1551:1: ( ( ruleQualifiedName ) )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1551:1: ( ( ruleQualifiedName ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1552:1: ( ruleQualifiedName )
            {
             before(grammarAccess.getWebAccess().getSitePermissionSitePermissionCrossReference_10_2_0()); 
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1553:1: ( ruleQualifiedName )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1554:1: ruleQualifiedName
            {
             before(grammarAccess.getWebAccess().getSitePermissionSitePermissionQualifiedNameParserRuleCall_10_2_0_1()); 
            pushFollow(FOLLOW_ruleQualifiedName_in_rule__Web__SitePermissionAssignment_10_23012);
            ruleQualifiedName();

            state._fsp--;

             after(grammarAccess.getWebAccess().getSitePermissionSitePermissionQualifiedNameParserRuleCall_10_2_0_1()); 

            }

             after(grammarAccess.getWebAccess().getSitePermissionSitePermissionCrossReference_10_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__SitePermissionAssignment_10_2"


    // $ANTLR start "rule__Web__OwnedWebAssignment_11_2"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1565:1: rule__Web__OwnedWebAssignment_11_2 : ( ruleWeb ) ;
    public final void rule__Web__OwnedWebAssignment_11_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1569:1: ( ( ruleWeb ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1570:1: ( ruleWeb )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1570:1: ( ruleWeb )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1571:1: ruleWeb
            {
             before(grammarAccess.getWebAccess().getOwnedWebWebParserRuleCall_11_2_0()); 
            pushFollow(FOLLOW_ruleWeb_in_rule__Web__OwnedWebAssignment_11_23047);
            ruleWeb();

            state._fsp--;

             after(grammarAccess.getWebAccess().getOwnedWebWebParserRuleCall_11_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__OwnedWebAssignment_11_2"


    // $ANTLR start "rule__Web__OwnedWebAssignment_11_3"
    // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1580:1: rule__Web__OwnedWebAssignment_11_3 : ( ruleWeb ) ;
    public final void rule__Web__OwnedWebAssignment_11_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1584:1: ( ( ruleWeb ) )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1585:1: ( ruleWeb )
            {
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1585:1: ( ruleWeb )
            // ../org.xtext.example.mydsl.ui/src-gen/org/xtext/example/mydsl/ui/contentassist/antlr/internal/InternalMyDsl.g:1586:1: ruleWeb
            {
             before(grammarAccess.getWebAccess().getOwnedWebWebParserRuleCall_11_3_0()); 
            pushFollow(FOLLOW_ruleWeb_in_rule__Web__OwnedWebAssignment_11_33078);
            ruleWeb();

            state._fsp--;

             after(grammarAccess.getWebAccess().getOwnedWebWebParserRuleCall_11_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Web__OwnedWebAssignment_11_3"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleContentModel_in_entryRuleContentModel61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleContentModel68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__0_in_ruleContentModel94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWeb_in_entryRuleWeb123 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleWeb130 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__0_in_ruleWeb156 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName183 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName190 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0_in_ruleQualifiedName216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__0__Impl_in_rule__ContentModel__Group__0251 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__1_in_rule__ContentModel__Group__0254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__ContentModel__Group__0__Impl282 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__1__Impl_in_rule__ContentModel__Group__1313 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__2_in_rule__ContentModel__Group__1316 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__NameAssignment_1_in_rule__ContentModel__Group__1__Impl343 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__2__Impl_in_rule__ContentModel__Group__2373 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__3_in_rule__ContentModel__Group__2376 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__ContentModel__Group__2__Impl404 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__3__Impl_in_rule__ContentModel__Group__3435 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__4_in_rule__ContentModel__Group__3438 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__ContentModel__Group__3__Impl466 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__4__Impl_in_rule__ContentModel__Group__4497 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__5_in_rule__ContentModel__Group__4500 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__ContentModel__Group__4__Impl528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__5__Impl_in_rule__ContentModel__Group__5559 = new BitSet(new long[]{0x0000000000030000L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__6_in_rule__ContentModel__Group__5562 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__DisplayNameAssignment_5_in_rule__ContentModel__Group__5__Impl589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__6__Impl_in_rule__ContentModel__Group__6619 = new BitSet(new long[]{0x0000000000030000L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__7_in_rule__ContentModel__Group__6622 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group_6__0_in_rule__ContentModel__Group__6__Impl649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__7__Impl_in_rule__ContentModel__Group__7680 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__8_in_rule__ContentModel__Group__7683 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__OwnedWebAssignment_7_in_rule__ContentModel__Group__7__Impl710 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group__8__Impl_in_rule__ContentModel__Group__8740 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__ContentModel__Group__8__Impl768 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group_6__0__Impl_in_rule__ContentModel__Group_6__0817 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__ContentModel__Group_6__1_in_rule__ContentModel__Group_6__0820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__ContentModel__Group_6__0__Impl848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group_6__1__Impl_in_rule__ContentModel__Group_6__1879 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__ContentModel__Group_6__2_in_rule__ContentModel__Group_6__1882 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__ContentModel__Group_6__1__Impl910 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__Group_6__2__Impl_in_rule__ContentModel__Group_6__2941 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ContentModel__DescriptionAssignment_6_2_in_rule__ContentModel__Group_6__2__Impl968 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__0__Impl_in_rule__Web__Group__01004 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Web__Group__1_in_rule__Web__Group__01007 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Web__Group__0__Impl1035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__1__Impl_in_rule__Web__Group__11066 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Web__Group__2_in_rule__Web__Group__11069 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__NameAssignment_1_in_rule__Web__Group__1__Impl1096 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__2__Impl_in_rule__Web__Group__21126 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_rule__Web__Group__3_in_rule__Web__Group__21129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Web__Group__2__Impl1157 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__3__Impl_in_rule__Web__Group__31188 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Web__Group__4_in_rule__Web__Group__31191 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Web__Group__3__Impl1219 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__4__Impl_in_rule__Web__Group__41250 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Web__Group__5_in_rule__Web__Group__41253 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Web__Group__4__Impl1281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__5__Impl_in_rule__Web__Group__51312 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Web__Group__6_in_rule__Web__Group__51315 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__GuIDAssignment_5_in_rule__Web__Group__5__Impl1342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__6__Impl_in_rule__Web__Group__61372 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Web__Group__7_in_rule__Web__Group__61375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Web__Group__6__Impl1403 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__7__Impl_in_rule__Web__Group__71434 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Web__Group__8_in_rule__Web__Group__71437 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Web__Group__7__Impl1465 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__8__Impl_in_rule__Web__Group__81496 = new BitSet(new long[]{0x0000000000198000L});
    public static final BitSet FOLLOW_rule__Web__Group__9_in_rule__Web__Group__81499 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__DisplayNameAssignment_8_in_rule__Web__Group__8__Impl1526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__9__Impl_in_rule__Web__Group__91556 = new BitSet(new long[]{0x0000000000198000L});
    public static final BitSet FOLLOW_rule__Web__Group__10_in_rule__Web__Group__91559 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_9__0_in_rule__Web__Group__9__Impl1586 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__10__Impl_in_rule__Web__Group__101617 = new BitSet(new long[]{0x0000000000198000L});
    public static final BitSet FOLLOW_rule__Web__Group__11_in_rule__Web__Group__101620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_10__0_in_rule__Web__Group__10__Impl1647 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__11__Impl_in_rule__Web__Group__111678 = new BitSet(new long[]{0x0000000000198000L});
    public static final BitSet FOLLOW_rule__Web__Group__12_in_rule__Web__Group__111681 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_11__0_in_rule__Web__Group__11__Impl1708 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group__12__Impl_in_rule__Web__Group__121739 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Web__Group__12__Impl1767 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_9__0__Impl_in_rule__Web__Group_9__01824 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Web__Group_9__1_in_rule__Web__Group_9__01827 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__Web__Group_9__0__Impl1855 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_9__1__Impl_in_rule__Web__Group_9__11886 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Web__Group_9__2_in_rule__Web__Group_9__11889 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Web__Group_9__1__Impl1917 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_9__2__Impl_in_rule__Web__Group_9__21948 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__DescriptionAssignment_9_2_in_rule__Web__Group_9__2__Impl1975 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_10__0__Impl_in_rule__Web__Group_10__02011 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_rule__Web__Group_10__1_in_rule__Web__Group_10__02014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Web__Group_10__0__Impl2042 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_10__1__Impl_in_rule__Web__Group_10__12073 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Web__Group_10__2_in_rule__Web__Group_10__12076 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__Web__Group_10__1__Impl2104 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_10__2__Impl_in_rule__Web__Group_10__22135 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__SitePermissionAssignment_10_2_in_rule__Web__Group_10__2__Impl2162 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_11__0__Impl_in_rule__Web__Group_11__02198 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_rule__Web__Group_11__1_in_rule__Web__Group_11__02201 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Web__Group_11__0__Impl2229 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_11__1__Impl_in_rule__Web__Group_11__12260 = new BitSet(new long[]{0x0000000000030000L});
    public static final BitSet FOLLOW_rule__Web__Group_11__2_in_rule__Web__Group_11__12263 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Web__Group_11__1__Impl2291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_11__2__Impl_in_rule__Web__Group_11__22322 = new BitSet(new long[]{0x0000000000038000L});
    public static final BitSet FOLLOW_rule__Web__Group_11__3_in_rule__Web__Group_11__22325 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__OwnedWebAssignment_11_2_in_rule__Web__Group_11__2__Impl2352 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__Group_11__3__Impl_in_rule__Web__Group_11__32382 = new BitSet(new long[]{0x0000000000038000L});
    public static final BitSet FOLLOW_rule__Web__Group_11__4_in_rule__Web__Group_11__32385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Web__OwnedWebAssignment_11_3_in_rule__Web__Group_11__3__Impl2412 = new BitSet(new long[]{0x0000000000030002L});
    public static final BitSet FOLLOW_rule__Web__Group_11__4__Impl_in_rule__Web__Group_11__42443 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Web__Group_11__4__Impl2471 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__0__Impl_in_rule__QualifiedName__Group__02512 = new BitSet(new long[]{0x0000000000200000L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1_in_rule__QualifiedName__Group__02515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group__0__Impl2542 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group__1__Impl_in_rule__QualifiedName__Group__12571 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0_in_rule__QualifiedName__Group__1__Impl2598 = new BitSet(new long[]{0x0000000000200002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__0__Impl_in_rule__QualifiedName__Group_1__02633 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1_in_rule__QualifiedName__Group_1__02636 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__QualifiedName__Group_1__0__Impl2664 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__QualifiedName__Group_1__1__Impl_in_rule__QualifiedName__Group_1__12695 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__QualifiedName__Group_1__1__Impl2722 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__ContentModel__NameAssignment_12760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__ContentModel__DisplayNameAssignment_52791 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__ContentModel__DescriptionAssignment_6_22822 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWeb_in_rule__ContentModel__OwnedWebAssignment_72853 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Web__NameAssignment_12884 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Web__GuIDAssignment_52915 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Web__DisplayNameAssignment_82946 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Web__DescriptionAssignment_9_22977 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQualifiedName_in_rule__Web__SitePermissionAssignment_10_23012 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWeb_in_rule__Web__OwnedWebAssignment_11_23047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWeb_in_rule__Web__OwnedWebAssignment_11_33078 = new BitSet(new long[]{0x0000000000000002L});

}