src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1278:1: explicitGenericInvocationSuffix : ( 'super' superSuffix | Identifier arguments );
510986
public final void explicitGenericInvocationSuffix() throws RecognitionException {
		int explicitGenericInvocationSuffix_StartIndex = input.index();

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

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1279:5: ( 'super' superSuffix | Identifier arguments )
			int alt186=2;
			int LA186_0 = input.LA(1);
			if ( (LA186_0==108) ) {
				alt186=1;
			}
			else if ( (LA186_0==Identifier) ) {
				alt186=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 186, 0, input);
				throw nvae;
			}

			switch (alt186) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1279:7: 'super' superSuffix
					{
					match(input,108,FOLLOW_108_in_explicitGenericInvocationSuffix6239); if (state.failed) return;
					pushFollow(FOLLOW_superSuffix_in_explicitGenericInvocationSuffix6241);
					superSuffix();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1280:9: Identifier arguments
					{
					match(input,Identifier,FOLLOW_Identifier_in_explicitGenericInvocationSuffix6251); if (state.failed) return;
					pushFollow(FOLLOW_arguments_in_explicitGenericInvocationSuffix6253);
					arguments();
					state._fsp--;
					if (state.failed) return;
					}
					break;

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

		}
	}
1079306
public final void synpred174_Java_fragment() throws RecognitionException {
		Token id=null;
		Token z=null;

		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:820:9: ( ( ( variableModifier )* type id= Identifier z= ':' expression ) )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:820:9: ( ( variableModifier )* type id= Identifier z= ':' expression )
		{
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:820:9: ( ( variableModifier )* type id= Identifier z= ':' expression )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:820:11: ( variableModifier )* type id= Identifier z= ':' expression
		{
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:820:11: ( variableModifier )*
		loop216:
		while (true) {
			int alt216=2;
			int LA216_0 = input.LA(1);
			if ( (LA216_0==58||LA216_0==83) ) {
				alt216=1;
			}

			switch (alt216) {
			case 1 :
				// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:820:13: variableModifier
				{
				pushFollow(FOLLOW_variableModifier_in_synpred174_Java3449);
				variableModifier();
				state._fsp--;
				if (state.failed) return;
				}
				break;

			default :
				break loop216;
			}
		}

		pushFollow(FOLLOW_type_in_synpred174_Java3488);
		type();
		state._fsp--;
		if (state.failed) return;
		id=(Token)match(input,Identifier,FOLLOW_Identifier_in_synpred174_Java3514); if (state.failed) return;
		z=(Token)match(input,51,FOLLOW_51_in_synpred174_Java3541); if (state.failed) return;
		pushFollow(FOLLOW_expression_in_synpred174_Java3543);
		expression();
		state._fsp--;
		if (state.failed) return;
		}

		}

	}
1068822
public final void mENUM() throws RecognitionException {
		try {
			int _type = ENUM;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1369:5: ( 'enum' )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1369:7: 'enum'
			{
			match("enum"); 

			if ( !enumIsKeyword ) _type=Identifier;
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
1339270
public final void creator() throws RecognitionException {
		try {
			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:649:5: ( ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest ) )
			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:649:7: ( nonWildcardTypeArguments )? createdName ( arrayCreatorRest | classCreatorRest )
			{
			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:649:7: ( nonWildcardTypeArguments )?
			int alt74=2;
			int LA74_0 = input.LA(1);
			if ( (LA74_0==LESS) ) {
				alt74=1;
			}
			switch (alt74) {
				case 1 :
					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:649:7: nonWildcardTypeArguments
					{
					pushFollow(FOLLOW_nonWildcardTypeArguments_in_creator3871);
					nonWildcardTypeArguments();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			pushFollow(FOLLOW_createdName_in_creator3874);
			createdName();
			state._fsp--;
			if (state.failed) return;
			// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:650:9: ( arrayCreatorRest | classCreatorRest )
			int alt75=2;
			int LA75_0 = input.LA(1);
			if ( (LA75_0==LEFT_SQUARE) ) {
				alt75=1;
			}
			else if ( (LA75_0==LEFT_PAREN) ) {
				alt75=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 75, 0, input);
				throw nvae;
			}

			switch (alt75) {
				case 1 :
					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:650:10: arrayCreatorRest
					{
					pushFollow(FOLLOW_arrayCreatorRest_in_creator3885);
					arrayCreatorRest();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					// src/main/resources/org/drools/compiler/lang/DRL6Expressions.g:650:29: classCreatorRest
					{
					pushFollow(FOLLOW_classCreatorRest_in_creator3889);
					classCreatorRest();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			}

		}

		catch (RecognitionException re) {
		    throw re;
		}

		finally {
			// do for sure before leaving
		}
	}
815088
public final void voidInterfaceMethodDeclaratorRest() throws RecognitionException {
		int voidInterfaceMethodDeclaratorRest_StartIndex = input.index();

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

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:439:5: ( formalParameters ( 'throws' qualifiedNameList )? ';' )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:439:7: formalParameters ( 'throws' qualifiedNameList )? ';'
			{
			pushFollow(FOLLOW_formalParameters_in_voidInterfaceMethodDeclaratorRest1232);
			formalParameters();
			state._fsp--;
			if (state.failed) return;
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:439:24: ( 'throws' qualifiedNameList )?
			int alt51=2;
			int LA51_0 = input.LA(1);
			if ( (LA51_0==113) ) {
				alt51=1;
			}
			switch (alt51) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:439:25: 'throws' qualifiedNameList
					{
					match(input,113,FOLLOW_113_in_voidInterfaceMethodDeclaratorRest1235); if (state.failed) return;
					pushFollow(FOLLOW_qualifiedNameList_in_voidInterfaceMethodDeclaratorRest1237);
					qualifiedNameList();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			match(input,52,FOLLOW_52_in_voidInterfaceMethodDeclaratorRest1241); if (state.failed) return;
			}

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

		}
	}
844784
public final void normalClassDeclaration() throws RecognitionException {
		int normalClassDeclaration_StartIndex = input.index();

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

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:299:5: ( 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:299:7: 'class' Identifier ( typeParameters )? ( 'extends' type )? ( 'implements' typeList )? classBody
			{
			match(input,72,FOLLOW_72_in_normalClassDeclaration271); if (state.failed) return;
			match(input,Identifier,FOLLOW_Identifier_in_normalClassDeclaration273); if (state.failed) return;
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:299:26: ( typeParameters )?
			int alt12=2;
			int LA12_0 = input.LA(1);
			if ( (LA12_0==53) ) {
				alt12=1;
			}
			switch (alt12) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:299:27: typeParameters
					{
					pushFollow(FOLLOW_typeParameters_in_normalClassDeclaration276);
					typeParameters();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:300:9: ( 'extends' type )?
			int alt13=2;
			int LA13_0 = input.LA(1);
			if ( (LA13_0==81) ) {
				alt13=1;
			}
			switch (alt13) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:300:10: 'extends' type
					{
					match(input,81,FOLLOW_81_in_normalClassDeclaration289); if (state.failed) return;
					pushFollow(FOLLOW_type_in_normalClassDeclaration291);
					type();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:301:9: ( 'implements' typeList )?
			int alt14=2;
			int LA14_0 = input.LA(1);
			if ( (LA14_0==88) ) {
				alt14=1;
			}
			switch (alt14) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:301:10: 'implements' typeList
					{
					match(input,88,FOLLOW_88_in_normalClassDeclaration304); if (state.failed) return;
					pushFollow(FOLLOW_typeList_in_normalClassDeclaration306);
					typeList();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			pushFollow(FOLLOW_classBody_in_normalClassDeclaration318);
			classBody();
			state._fsp--;
			if (state.failed) return;
			}

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

		}
	}
483934
public final void synpred198_Java_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1056:7: ( ( variableModifier )* type variableDeclarators )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1056:7: ( variableModifier )* type variableDeclarators
		{
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1056:7: ( variableModifier )*
		loop220:
		while (true) {
			int alt220=2;
			int LA220_0 = input.LA(1);
			if ( (LA220_0==58||LA220_0==83) ) {
				alt220=1;
			}

			switch (alt220) {
			case 1 :
				// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1056:9: variableModifier
				{
				pushFollow(FOLLOW_variableModifier_in_synpred198_Java4596);
				variableModifier();
				state._fsp--;
				if (state.failed) return;
				}
				break;

			default :
				break loop220;
			}
		}

		pushFollow(FOLLOW_type_in_synpred198_Java4631);
		type();
		state._fsp--;
		if (state.failed) return;
		pushFollow(FOLLOW_variableDeclarators_in_synpred198_Java4651);
		variableDeclarators();
		state._fsp--;
		if (state.failed) return;
		}

	}
79819
JCExpression bracketsSuffix(JCExpression t) {
        if ((mode & EXPR) != 0 && token.kind == DOT) {
            mode = EXPR;
            int pos = token.pos;
            nextToken();
            accept(CLASS);
            if (token.pos == endPosTable.errorEndPos) {
                // error recovery
                Name name;
                if (LAX_IDENTIFIER.accepts(token.kind)) {
                    name = token.name();
                    nextToken();
                } else {
                    name = names.error;
                }
                t = F.at(pos).Erroneous(List.<JCTree>of(toP(F.at(pos).Select(t, name))));
            } else {
                Tag tag = t.getTag();
                // Type annotations are illegal on class literals. Annotated non array class literals
                // are complained about directly in term3(), Here check for type annotations on dimensions
                // taking care to handle some interior dimension(s) being annotated.
                if ((tag == TYPEARRAY && TreeInfo.containsTypeAnnotation(t)) || tag == ANNOTATED_TYPE)
                    syntaxError("no.annotations.on.dot.class");
                t = toP(F.at(pos).Select(t, names._class));
            }
        } else if ((mode & TYPE) != 0) {
            if (token.kind != COLCOL) {
                mode = TYPE;
            }
        } else if (token.kind != COLCOL) {
            syntaxError(token.pos, "dot.class.expected");
        }
        return t;
    }
908528
public final void formalParameters() throws RecognitionException {
		int formalParameters_StartIndex = input.index();

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

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:566:5: ( '(' ( formalParameterDecls )? ')' )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:566:7: '(' ( formalParameterDecls )? ')'
			{
			match(input,36,FOLLOW_36_in_formalParameters2025); if (state.failed) return;
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:566:11: ( formalParameterDecls )?
			int alt78=2;
			int LA78_0 = input.LA(1);
			if ( (LA78_0==Identifier||LA78_0==58||LA78_0==65||LA78_0==67||LA78_0==71||LA78_0==77||LA78_0==83||LA78_0==85||LA78_0==92||LA78_0==94||LA78_0==105) ) {
				alt78=1;
			}
			switch (alt78) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:566:11: formalParameterDecls
					{
					pushFollow(FOLLOW_formalParameterDecls_in_formalParameters2027);
					formalParameterDecls();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			match(input,37,FOLLOW_37_in_formalParameters2030); if (state.failed) return;
			}

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

		}
	}
264737
public final void entryRuleJvmWildcardTypeReference() throws RecognitionException {
        try {
            // InternalXbaseWithAnnotations.g:1842:1: ( ruleJvmWildcardTypeReference EOF )
            // InternalXbaseWithAnnotations.g:1843:1: ruleJvmWildcardTypeReference EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getJvmWildcardTypeReferenceRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleJvmWildcardTypeReference();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getJvmWildcardTypeReferenceRule()); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
862780
private Implementation.SpecialMethodInvocation invokeSuper(MethodGraph.Node node) {
        return node.getSort().isResolved()
                ? Implementation.SpecialMethodInvocation.Simple.of(node.getRepresentative(), instrumentedType.getSuperClass().asErasure())
                : Implementation.SpecialMethodInvocation.Illegal.INSTANCE;
    }
1235788
public final void mIdentifier() throws RecognitionException {
		try {
			int _type = Identifier;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1373:2: ( JavaLetter ( JavaLetterOrDigit )* )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1373:4: JavaLetter ( JavaLetterOrDigit )*
			{
			mJavaLetter(); 

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1373:15: ( JavaLetterOrDigit )*
			loop26:
			while (true) {
				int alt26=2;
				int LA26_0 = input.LA(1);
				if ( (LA26_0=='$'||(LA26_0 >= '0' && LA26_0 <= '9')||(LA26_0 >= 'A' && LA26_0 <= 'Z')||LA26_0=='_'||(LA26_0 >= 'a' && LA26_0 <= 'z')||(LA26_0 >= '\u0080' && LA26_0 <= '\uFFFF')) ) {
					alt26=1;
				}

				switch (alt26) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1373:15: JavaLetterOrDigit
					{
					mJavaLetterOrDigit(); 

					}
					break;

				default :
					break loop26;
				}
			}

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
375168
public final void epStatement() throws RecognitionException {
		int epStatement_StartIndex = input.index();

		Token s=null;
		Token id=null;
		Token c=null;


		        JavaInterfacePointsDescr d = null;
		    
		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 94) ) { return; }

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:990:9: ( (s= 'exitPoints' '[' id= StringLiteral c= ']' |s= 'entryPoints' '[' id= StringLiteral c= ']' |s= 'channels' '[' id= StringLiteral c= ']' ) )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:991:9: (s= 'exitPoints' '[' id= StringLiteral c= ']' |s= 'entryPoints' '[' id= StringLiteral c= ']' |s= 'channels' '[' id= StringLiteral c= ']' )
			{
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:991:9: (s= 'exitPoints' '[' id= StringLiteral c= ']' |s= 'entryPoints' '[' id= StringLiteral c= ']' |s= 'channels' '[' id= StringLiteral c= ']' )
			int alt126=3;
			switch ( input.LA(1) ) {
			case 80:
				{
				alt126=1;
				}
				break;
			case 79:
				{
				alt126=2;
				}
				break;
			case 70:
				{
				alt126=3;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 126, 0, input);
				throw nvae;
			}
			switch (alt126) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:991:11: s= 'exitPoints' '[' id= StringLiteral c= ']'
					{
					s=(Token)match(input,80,FOLLOW_80_in_epStatement4262); if (state.failed) return;
					match(input,59,FOLLOW_59_in_epStatement4264); if (state.failed) return;
					id=(Token)match(input,StringLiteral,FOLLOW_StringLiteral_in_epStatement4268); if (state.failed) return;
					c=(Token)match(input,60,FOLLOW_60_in_epStatement4272); if (state.failed) return;
					if ( state.backtracking==0 ) {
					            d = new JavaInterfacePointsDescr( (id!=null?id.getText():null) );
					            d.setType( JavaBlockDescr.BlockType.EXIT );
					            d.setStart( ((CommonToken)s).getStartIndex() );
					            d.setEnd( ((CommonToken)c).getStopIndex() ); 
					            this.addBlockDescr( d );
					        }
					}
					break;
				case 2 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:999:12: s= 'entryPoints' '[' id= StringLiteral c= ']'
					{
					s=(Token)match(input,79,FOLLOW_79_in_epStatement4298); if (state.failed) return;
					match(input,59,FOLLOW_59_in_epStatement4300); if (state.failed) return;
					id=(Token)match(input,StringLiteral,FOLLOW_StringLiteral_in_epStatement4304); if (state.failed) return;
					c=(Token)match(input,60,FOLLOW_60_in_epStatement4308); if (state.failed) return;
					if ( state.backtracking==0 ) {
					            d = new JavaInterfacePointsDescr( (id!=null?id.getText():null) );
					            d.setType( JavaBlockDescr.BlockType.ENTRY );
					            d.setStart( ((CommonToken)s).getStartIndex() );
					            d.setEnd( ((CommonToken)c).getStopIndex() ); 
					            this.addBlockDescr( d );
					        }
					}
					break;
				case 3 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1007:12: s= 'channels' '[' id= StringLiteral c= ']'
					{
					s=(Token)match(input,70,FOLLOW_70_in_epStatement4334); if (state.failed) return;
					match(input,59,FOLLOW_59_in_epStatement4336); if (state.failed) return;
					id=(Token)match(input,StringLiteral,FOLLOW_StringLiteral_in_epStatement4340); if (state.failed) return;
					c=(Token)match(input,60,FOLLOW_60_in_epStatement4344); if (state.failed) return;
					if ( state.backtracking==0 ) {
					            d = new JavaInterfacePointsDescr( (id!=null?id.getText():null) );
					            d.setType( JavaBlockDescr.BlockType.CHANNEL );
					            d.setStart( ((CommonToken)s).getStartIndex() );
					            d.setEnd( ((CommonToken)c).getStopIndex() ); 
					            this.addBlockDescr( d );
					        }
					}
					break;

			}

			}

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

		}
	}
1235566
public final void annotationMethodRest() throws RecognitionException {
		int annotationMethodRest_StartIndex = input.index();

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

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:668:6: ( Identifier '(' ')' ( defaultValue )? )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:668:8: Identifier '(' ')' ( defaultValue )?
			{
			match(input,Identifier,FOLLOW_Identifier_in_annotationMethodRest2669); if (state.failed) return;
			match(input,36,FOLLOW_36_in_annotationMethodRest2671); if (state.failed) return;
			match(input,37,FOLLOW_37_in_annotationMethodRest2673); if (state.failed) return;
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:668:27: ( defaultValue )?
			int alt103=2;
			int LA103_0 = input.LA(1);
			if ( (LA103_0==74) ) {
				alt103=1;
			}
			switch (alt103) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:668:28: defaultValue
					{
					pushFollow(FOLLOW_defaultValue_in_annotationMethodRest2676);
					defaultValue();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			}

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

		}
	}
32507
public final void synpred249_Java_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1219:17: ( '.' Identifier )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1219:17: '.' Identifier
		{
		match(input,47,FOLLOW_47_in_synpred249_Java5695); if (state.failed) return;
		match(input,Identifier,FOLLOW_Identifier_in_synpred249_Java5697); if (state.failed) return;
		}

	}
592139
public final void explicitGenericInvocation() throws RecognitionException {
		int explicitGenericInvocation_StartIndex = input.index();

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

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1271:5: ( nonWildcardTypeArguments explicitGenericInvocationSuffix )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1271:7: nonWildcardTypeArguments explicitGenericInvocationSuffix
			{
			pushFollow(FOLLOW_nonWildcardTypeArguments_in_explicitGenericInvocation6199);
			nonWildcardTypeArguments();
			state._fsp--;
			if (state.failed) return;
			pushFollow(FOLLOW_explicitGenericInvocationSuffix_in_explicitGenericInvocation6201);
			explicitGenericInvocationSuffix();
			state._fsp--;
			if (state.failed) return;
			}

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

		}
	}
57355
public final void synpred190_Java_fragment() throws RecognitionException {
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1031:7: ( 'case' constantExpression ':' )
		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:1031:7: 'case' constantExpression ':'
		{
		match(input,68,FOLLOW_68_in_synpred190_Java4450); if (state.failed) return;
		pushFollow(FOLLOW_constantExpression_in_synpred190_Java4452);
		constantExpression();
		state._fsp--;
		if (state.failed) return;
		match(input,51,FOLLOW_51_in_synpred190_Java4454); if (state.failed) return;
		}

	}