$ANTLR start synpred6_InternalXbaseWithAnnotations
505213
public final void synpred6_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:443:5: ( ( () '#' '[' ) )
        // InternalXbaseWithAnnotations.g:443:6: ( () '#' '[' )
        {
        // InternalXbaseWithAnnotations.g:443:6: ( () '#' '[' )
        // InternalXbaseWithAnnotations.g:444:6: () '#' '['
        {
        // InternalXbaseWithAnnotations.g:444:6: ()
        // InternalXbaseWithAnnotations.g:445:6: 
        {
        }

        match(input,18,FOLLOW_10); if (state.failed) return ;
        match(input,19,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
1154474
public final void synpred26_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:2201:2: ( ( '<' ) )
        // InternalXbase.g:2201:2: ( '<' )
        {
        // InternalXbase.g:2201:2: ( '<' )
        // InternalXbase.g:2202:3: '<'
        {
        if ( state.backtracking==0 ) {
           before(grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); 
        }
        match(input,27,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
194283
public final void synpred14_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:1505:6: ( ( '>' '>' ) )
        // InternalXbaseWithAnnotations.g:1505:7: ( '>' '>' )
        {
        // InternalXbaseWithAnnotations.g:1505:7: ( '>' '>' )
        // InternalXbaseWithAnnotations.g:1506:7: '>' '>'
        {
        match(input,27,FOLLOW_25); if (state.failed) return ;
        match(input,27,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
1044980
public final void synpred19_InternalSimpleAntlr_fragment() throws RecognitionException {   
        EObject this_Predicated_3 = null;


        // InternalSimpleAntlr.g:800:2: (this_Predicated_3= rulePredicated )
        // InternalSimpleAntlr.g:800:2: this_Predicated_3= rulePredicated
        {
        if ( state.backtracking==0 ) {
           
          	  /* */ 
          	
        }
        pushFollow(FOLLOW_2);
        this_Predicated_3=rulePredicated();

        state._fsp--;
        if (state.failed) return ;

        }
    }
1121527
public final void synpred10_DRL6Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:7: ( DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction )
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:8: DOUBLE_PIPE ( fullAnnotation[null] )? andRestriction
		{
		match(input,DOUBLE_PIPE,FOLLOW_DOUBLE_PIPE_in_synpred10_DRL6Expressions1903); if (state.failed) return;
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:20: ( fullAnnotation[null] )?
		int alt99=2;
		int LA99_0 = input.LA(1);
		if ( (LA99_0==AT) ) {
			alt99=1;
		}
		switch (alt99) {
			case 1 :
				// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:407:20: fullAnnotation[null]
				{
				pushFollow(FOLLOW_fullAnnotation_in_synpred10_DRL6Expressions1905);
				fullAnnotation(null);
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}

		pushFollow(FOLLOW_andRestriction_in_synpred10_DRL6Expressions1909);
		andRestriction();
		state._fsp--;
		if (state.failed) return;
		}

	}
1328648
public final void synpred286_Java_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1262:29: ( '[' expression ']' )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1262:29: '[' expression ']'
		{
		match(input,59,FOLLOW_59_in_synpred286_Java6139); if (state.failed) return;
		pushFollow(FOLLOW_expression_in_synpred286_Java6141);
		expression();
		state._fsp--;
		if (state.failed) return;
		match(input,60,FOLLOW_60_in_synpred286_Java6143); if (state.failed) return;
		}

	}
1348657
public final void synpred35_InternalPureXbase_fragment() throws RecognitionException {   
        // InternalPureXbase.g:3724:6: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )
        // InternalPureXbase.g:3724:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
        {
        // InternalPureXbase.g:3724:7: ( ( ( ruleJvmFormalParameter ) ) ':' )
        // InternalPureXbase.g:3725:7: ( ( ruleJvmFormalParameter ) ) ':'
        {
        // InternalPureXbase.g:3725:7: ( ( ruleJvmFormalParameter ) )
        // InternalPureXbase.g:3726:8: ( ruleJvmFormalParameter )
        {
        // InternalPureXbase.g:3726:8: ( ruleJvmFormalParameter )
        // InternalPureXbase.g:3727:9: ruleJvmFormalParameter
        {
        pushFollow(FOLLOW_52);
        ruleJvmFormalParameter();

        state._fsp--;
        if (state.failed) return ;

        }


        }

        match(input,22,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
865610
public final void synpred11_InternalSARL_fragment() throws RecognitionException {   
        // InternalSARL.g:8562:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )
        // InternalSARL.g:8562:7: ( '(' ( ( ruleJvmFormalParameter ) ) '=' )
        {
        // InternalSARL.g:8562:7: ( '(' ( ( ruleJvmFormalParameter ) ) '=' )
        // InternalSARL.g:8563:7: '(' ( ( ruleJvmFormalParameter ) ) '='
        {
        match(input,49,FOLLOW_75); if (state.failed) return ;
        // InternalSARL.g:8564:7: ( ( ruleJvmFormalParameter ) )
        // InternalSARL.g:8565:8: ( ruleJvmFormalParameter )
        {
        // InternalSARL.g:8565:8: ( ruleJvmFormalParameter )
        // InternalSARL.g:8566:9: ruleJvmFormalParameter
        {
        pushFollow(FOLLOW_83);
        ruleJvmFormalParameter();

        state._fsp--;
        if (state.failed) return ;

        }


        }

        match(input,47,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
911706
public final void compilationUnit() throws RecognitionException {
		int compilationUnit_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return; }

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:270:5: ( ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )* )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:270:7: ( annotations )? ( packageDeclaration )? ( importDeclaration )* ( typeDeclaration )*
			{
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:270:7: ( annotations )?
			int alt1=2;
			int LA1_0 = input.LA(1);
			if ( (LA1_0==58) ) {
				int LA1_1 = input.LA(2);
				if ( (LA1_1==Identifier) ) {
					int LA1_21 = input.LA(3);
					if ( (synpred1_Java()) ) {
						alt1=1;
					}
				}
			}
			switch (alt1) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:270:7: annotations
					{
					pushFollow(FOLLOW_annotations_in_compilationUnit81);
					annotations();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:271:9: ( packageDeclaration )?
			int alt2=2;
			int LA2_0 = input.LA(1);
			if ( (LA2_0==99) ) {
				alt2=1;
			}
			switch (alt2) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:271:9: packageDeclaration
					{
					pushFollow(FOLLOW_packageDeclaration_in_compilationUnit92);
					packageDeclaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:272:9: ( importDeclaration )*
			loop3:
			while (true) {
				int alt3=2;
				int LA3_0 = input.LA(1);
				if ( (LA3_0==89) ) {
					alt3=1;
				}

				switch (alt3) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:272:9: importDeclaration
					{
					pushFollow(FOLLOW_importDeclaration_in_compilationUnit103);
					importDeclaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop3;
				}
			}

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:273:9: ( typeDeclaration )*
			loop4:
			while (true) {
				int alt4=2;
				int LA4_0 = input.LA(1);
				if ( (LA4_0==ENUM||LA4_0==52||LA4_0==58||LA4_0==63||LA4_0==72||LA4_0==83||LA4_0==93||LA4_0==96||(LA4_0 >= 100 && LA4_0 <= 102)||(LA4_0 >= 106 && LA4_0 <= 107)||LA4_0==110||LA4_0==114||LA4_0==119) ) {
					alt4=1;
				}

				switch (alt4) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:273:9: typeDeclaration
					{
					pushFollow(FOLLOW_typeDeclaration_in_compilationUnit114);
					typeDeclaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop4;
				}
			}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 1, compilationUnit_StartIndex); }

		}
	}
41305
public final void synpred32_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:3483:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )
        // InternalXbaseWithAnnotations.g:3483:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
        {
        // InternalXbaseWithAnnotations.g:3483:7: ( '(' ( ( ruleJvmFormalParameter ) ) ':' )
        // InternalXbaseWithAnnotations.g:3484:7: '(' ( ( ruleJvmFormalParameter ) ) ':'
        {
        match(input,14,FOLLOW_22); if (state.failed) return ;
        // InternalXbaseWithAnnotations.g:3485:7: ( ( ruleJvmFormalParameter ) )
        // InternalXbaseWithAnnotations.g:3486:8: ( ruleJvmFormalParameter )
        {
        // InternalXbaseWithAnnotations.g:3486:8: ( ruleJvmFormalParameter )
        // InternalXbaseWithAnnotations.g:3487:9: ruleJvmFormalParameter
        {
        pushFollow(FOLLOW_51);
        ruleJvmFormalParameter();

        state._fsp--;
        if (state.failed) return ;

        }


        }

        match(input,62,FOLLOW_2); if (state.failed) return ;

        }


        }
    }
152604
public final void synpred42_DRL6Expressions_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:698:9: ( DOT new_key )
		// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:698:10: DOT new_key
		{
		match(input,DOT,FOLLOW_DOT_in_synpred42_DRL6Expressions4252); if (state.failed) return;
		pushFollow(FOLLOW_new_key_in_synpred42_DRL6Expressions4254);
		new_key();
		state._fsp--;
		if (state.failed) return;
		}

	}
1279951
public final void synpred17_InternalXbase_fragment() throws RecognitionException {   
        // InternalXbase.g:1881:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalXbase.g:1881:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalXbase.g:1881:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalXbase.g:1882:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalXbase.g:1882:9: ()
        // InternalXbase.g:1883:9: 
        {
        }

        // InternalXbase.g:1884:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt114=2;
        int LA114_0 = input.LA(1);

        if ( (LA114_0==RULE_ID||LA114_0==32||LA114_0==49) ) {
            alt114=1;
        }
        switch (alt114) {
            case 1 :
                // InternalXbase.g:1885:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalXbase.g:1885:10: ( ( ruleJvmFormalParameter ) )
                // InternalXbase.g:1886:11: ( ruleJvmFormalParameter )
                {
                // InternalXbase.g:1886:11: ( ruleJvmFormalParameter )
                // InternalXbase.g:1887:12: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_39);
                ruleJvmFormalParameter();

                state._fsp--;
                if (state.failed) return ;

                }


                }

                // InternalXbase.g:1890:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop113:
                do {
                    int alt113=2;
                    int LA113_0 = input.LA(1);

                    if ( (LA113_0==48) ) {
                        alt113=1;
                    }


                    switch (alt113) {
                	case 1 :
                	    // InternalXbase.g:1891:11: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,48,FOLLOW_13); if (state.failed) return ;
                	    // InternalXbase.g:1892:11: ( ( ruleJvmFormalParameter ) )
                	    // InternalXbase.g:1893:12: ( ruleJvmFormalParameter )
                	    {
                	    // InternalXbase.g:1893:12: ( ruleJvmFormalParameter )
                	    // InternalXbase.g:1894:13: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_39);
                	    ruleJvmFormalParameter();

                	    state._fsp--;
                	    if (state.failed) return ;

                	    }


                	    }


                	    }
                	    break;

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


                }
                break;

        }

        // InternalXbase.g:1899:9: ( ( '|' ) )
        // InternalXbase.g:1900:10: ( '|' )
        {
        // InternalXbase.g:1900:10: ( '|' )
        // InternalXbase.g:1901:11: '|'
        {
        match(input,56,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
430319
public final void synpred55_InternalSARL_fragment() throws RecognitionException {   
        // InternalSARL.g:15431:4: ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'break' | 'continue' | 'assert' | 'assume' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )
        // InternalSARL.g:
        {
        if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_RICH_TEXT_START)||(input.LA(1)>=RULE_HEX && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==25||(input.LA(1)>=28 && input.LA(1)<=29)||input.LA(1)==36||(input.LA(1)>=39 && input.LA(1)<=40)||(input.LA(1)>=42 && input.LA(1)<=45)||(input.LA(1)>=48 && input.LA(1)<=49)||input.LA(1)==51||input.LA(1)==55||(input.LA(1)>=60 && input.LA(1)<=63)||(input.LA(1)>=67 && input.LA(1)<=68)||(input.LA(1)>=73 && input.LA(1)<=75)||(input.LA(1)>=78 && input.LA(1)<=96)||input.LA(1)==106||input.LA(1)==129||(input.LA(1)>=131 && input.LA(1)<=140) ) {
            input.consume();
            state.errorRecovery=false;state.failed=false;
        }
        else {
            if (state.backtracking>0) {state.failed=true; return ;}
            MismatchedSetException mse = new MismatchedSetException(null,input);
            throw mse;
        }


        }
    }
10291
public final void synpred39_InternalPureXbase_fragment() throws RecognitionException {   
        // InternalPureXbase.g:4873:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalPureXbase.g:4873:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalPureXbase.g:4873:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalPureXbase.g:4874:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalPureXbase.g:4874:7: ()
        // InternalPureXbase.g:4875:7: 
        {
        }

        // InternalPureXbase.g:4876:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt134=2;
        int LA134_0 = input.LA(1);

        if ( (LA134_0==RULE_ID||LA134_0==15||LA134_0==41) ) {
            alt134=1;
        }
        switch (alt134) {
            case 1 :
                // InternalPureXbase.g:4877:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalPureXbase.g:4877:8: ( ( ruleJvmFormalParameter ) )
                // InternalPureXbase.g:4878:9: ( ruleJvmFormalParameter )
                {
                // InternalPureXbase.g:4878:9: ( ruleJvmFormalParameter )
                // InternalPureXbase.g:4879:10: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_47);
                ruleJvmFormalParameter();

                state._fsp--;
                if (state.failed) return ;

                }


                }

                // InternalPureXbase.g:4882:8: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop133:
                do {
                    int alt133=2;
                    int LA133_0 = input.LA(1);

                    if ( (LA133_0==57) ) {
                        alt133=1;
                    }


                    switch (alt133) {
                	case 1 :
                	    // InternalPureXbase.g:4883:9: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,57,FOLLOW_11); if (state.failed) return ;
                	    // InternalPureXbase.g:4884:9: ( ( ruleJvmFormalParameter ) )
                	    // InternalPureXbase.g:4885:10: ( ruleJvmFormalParameter )
                	    {
                	    // InternalPureXbase.g:4885:10: ( ruleJvmFormalParameter )
                	    // InternalPureXbase.g:4886:11: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_47);
                	    ruleJvmFormalParameter();

                	    state._fsp--;
                	    if (state.failed) return ;

                	    }


                	    }


                	    }
                	    break;

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


                }
                break;

        }

        // InternalPureXbase.g:4891:7: ( ( '|' ) )
        // InternalPureXbase.g:4892:8: ( '|' )
        {
        // InternalPureXbase.g:4892:8: ( '|' )
        // InternalPureXbase.g:4893:9: '|'
        {
        match(input,63,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
1138965
public final void synpred1_InternalPureXbase_fragment() throws RecognitionException {   
        // InternalPureXbase.g:307:6: ( 'catch' | 'finally' )
        // InternalPureXbase.g:
        {
        if ( input.LA(1)==17||input.LA(1)==81 ) {
            input.consume();
            state.errorRecovery=false;state.failed=false;
        }
        else {
            if (state.backtracking>0) {state.failed=true; return ;}
            MismatchedSetException mse = new MismatchedSetException(null,input);
            throw mse;
        }


        }
    }
722611
public final void synpred31_InternalPureXbase_fragment() throws RecognitionException {   
        // InternalPureXbase.g:3189:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalPureXbase.g:3189:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalPureXbase.g:3189:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalPureXbase.g:3190:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalPureXbase.g:3190:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt130=2;
        int LA130_0 = input.LA(1);

        if ( (LA130_0==RULE_ID||LA130_0==15||LA130_0==41) ) {
            alt130=1;
        }
        switch (alt130) {
            case 1 :
                // InternalPureXbase.g:3191:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalPureXbase.g:3191:6: ( ( ruleJvmFormalParameter ) )
                // InternalPureXbase.g:3192:7: ( ruleJvmFormalParameter )
                {
                // InternalPureXbase.g:3192:7: ( ruleJvmFormalParameter )
                // InternalPureXbase.g:3193:8: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_47);
                ruleJvmFormalParameter();

                state._fsp--;
                if (state.failed) return ;

                }


                }

                // InternalPureXbase.g:3196:6: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop129:
                do {
                    int alt129=2;
                    int LA129_0 = input.LA(1);

                    if ( (LA129_0==57) ) {
                        alt129=1;
                    }


                    switch (alt129) {
                	case 1 :
                	    // InternalPureXbase.g:3197:7: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,57,FOLLOW_11); if (state.failed) return ;
                	    // InternalPureXbase.g:3198:7: ( ( ruleJvmFormalParameter ) )
                	    // InternalPureXbase.g:3199:8: ( ruleJvmFormalParameter )
                	    {
                	    // InternalPureXbase.g:3199:8: ( ruleJvmFormalParameter )
                	    // InternalPureXbase.g:3200:9: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_47);
                	    ruleJvmFormalParameter();

                	    state._fsp--;
                	    if (state.failed) return ;

                	    }


                	    }


                	    }
                	    break;

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


                }
                break;

        }

        // InternalPureXbase.g:3205:5: ( ( '|' ) )
        // InternalPureXbase.g:3206:6: ( '|' )
        {
        // InternalPureXbase.g:3206:6: ( '|' )
        // InternalPureXbase.g:3207:7: '|'
        {
        match(input,63,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }
458208
public final void synpred23_InternalXbaseWithAnnotations_fragment() throws RecognitionException {   
        // InternalXbaseWithAnnotations.g:2381:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )
        // InternalXbaseWithAnnotations.g:2381:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        {
        // InternalXbaseWithAnnotations.g:2381:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) )
        // InternalXbaseWithAnnotations.g:2382:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) )
        {
        // InternalXbaseWithAnnotations.g:2382:9: ()
        // InternalXbaseWithAnnotations.g:2383:9: 
        {
        }

        // InternalXbaseWithAnnotations.g:2384:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )?
        int alt126=2;
        int LA126_0 = input.LA(1);

        if ( (LA126_0==RULE_ID||LA126_0==14||LA126_0==39) ) {
            alt126=1;
        }
        switch (alt126) {
            case 1 :
                // InternalXbaseWithAnnotations.g:2385:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )*
                {
                // InternalXbaseWithAnnotations.g:2385:10: ( ( ruleJvmFormalParameter ) )
                // InternalXbaseWithAnnotations.g:2386:11: ( ruleJvmFormalParameter )
                {
                // InternalXbaseWithAnnotations.g:2386:11: ( ruleJvmFormalParameter )
                // InternalXbaseWithAnnotations.g:2387:12: ruleJvmFormalParameter
                {
                pushFollow(FOLLOW_43);
                ruleJvmFormalParameter();

                state._fsp--;
                if (state.failed) return ;

                }


                }

                // InternalXbaseWithAnnotations.g:2390:10: ( ',' ( ( ruleJvmFormalParameter ) ) )*
                loop125:
                do {
                    int alt125=2;
                    int LA125_0 = input.LA(1);

                    if ( (LA125_0==15) ) {
                        alt125=1;
                    }


                    switch (alt125) {
                	case 1 :
                	    // InternalXbaseWithAnnotations.g:2391:11: ',' ( ( ruleJvmFormalParameter ) )
                	    {
                	    match(input,15,FOLLOW_22); if (state.failed) return ;
                	    // InternalXbaseWithAnnotations.g:2392:11: ( ( ruleJvmFormalParameter ) )
                	    // InternalXbaseWithAnnotations.g:2393:12: ( ruleJvmFormalParameter )
                	    {
                	    // InternalXbaseWithAnnotations.g:2393:12: ( ruleJvmFormalParameter )
                	    // InternalXbaseWithAnnotations.g:2394:13: ruleJvmFormalParameter
                	    {
                	    pushFollow(FOLLOW_43);
                	    ruleJvmFormalParameter();

                	    state._fsp--;
                	    if (state.failed) return ;

                	    }


                	    }


                	    }
                	    break;

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


                }
                break;

        }

        // InternalXbaseWithAnnotations.g:2399:9: ( ( '|' ) )
        // InternalXbaseWithAnnotations.g:2400:10: ( '|' )
        {
        // InternalXbaseWithAnnotations.g:2400:10: ( '|' )
        // InternalXbaseWithAnnotations.g:2401:11: '|'
        {
        match(input,57,FOLLOW_2); if (state.failed) return ;

        }


        }


        }


        }
    }