docs: public final void synpred172_Java_fragment() throws RecognitionException {
  		Token y=null;
  		ParserRuleReturnScope z =null;
  
  		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:787:6: (y= 'else' ( 'if' parExpression )? z= statement )
  		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:787:6: y= 'else' ( 'if' parExpression )? z= statement
  		{
  		y=(Token)match(input,78,FOLLOW_78_in_synpred172_Java3290); if (state.failed) return;
  		// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:787:16: ( 'if' parExpression )?
  		int alt215=2;
  		int LA215_0 = input.LA(1);
  		if ( (LA215_0==87) ) {
  			int LA215_1 = input.LA(2);
  			if ( (LA215_1==36) ) {
  				int LA215_43 = input.LA(3);
  				if ( (synpred171_Java()) ) {
  					alt215=1;
  				}
  			}
  		}
  		switch (alt215) {
  			case 1 :
  				// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:787:17: 'if' parExpression
  				{
  				match(input,87,FOLLOW_87_in_synpred172_Java3294); if (state.failed) return;
  				pushFollow(FOLLOW_parExpression_in_synpred172_Java3296);
  				parExpression();
  				state._fsp--;
  				if (state.failed) return;
  				}
  				break;
  
  		}
  
  		pushFollow(FOLLOW_statement_in_synpred172_Java3327);
  		z=statement();
  		state._fsp--;
  		if (state.failed) return;
  		}
  
  	}