docs: public final void elementValuePair() throws RecognitionException {
  		int elementValuePair_StartIndex = input.index();
  
  		try {
  			if ( state.backtracking>0 && alreadyParsedRule(input, 68) ) { return; }
  
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:625:5: ( ( Identifier '=' )? elementValue )
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:625:7: ( Identifier '=' )? elementValue
  			{
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:625:7: ( Identifier '=' )?
  			int alt90=2;
  			int LA90_0 = input.LA(1);
  			if ( (LA90_0==Identifier) ) {
  				int LA90_1 = input.LA(2);
  				if ( (LA90_1==54) ) {
  					alt90=1;
  				}
  			}
  			switch (alt90) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:625:8: Identifier '='
  					{
  					match(input,Identifier,FOLLOW_Identifier_in_elementValuePair2383); if (state.failed) return;
  					match(input,54,FOLLOW_54_in_elementValuePair2385); if (state.failed) return;
  					}
  					break;
  
  			}
  
  			pushFollow(FOLLOW_elementValue_in_elementValuePair2389);
  			elementValue();
  			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, 68, elementValuePair_StartIndex); }
  
  		}
  	}