docs: public final void elementValueArrayInitializer() throws RecognitionException {
  		int elementValueArrayInitializer_StartIndex = input.index();
  
  		try {
  			if ( state.backtracking>0 && alreadyParsedRule(input, 70) ) { return; }
  
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:635:5: ( '{' ( elementValue ( ',' elementValue )* )? '}' )
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:635:7: '{' ( elementValue ( ',' elementValue )* )? '}'
  			{
  			match(input,121,FOLLOW_121_in_elementValueArrayInitializer2443); if (state.failed) return;
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:635:11: ( elementValue ( ',' elementValue )* )?
  			int alt93=2;
  			int LA93_0 = input.LA(1);
  			if ( ((LA93_0 >= CharacterLiteral && LA93_0 <= DecimalLiteral)||LA93_0==FloatingPointLiteral||(LA93_0 >= HexLiteral && LA93_0 <= Identifier)||(LA93_0 >= OctalLiteral && LA93_0 <= StringLiteral)||LA93_0==29||LA93_0==36||(LA93_0 >= 40 && LA93_0 <= 41)||(LA93_0 >= 44 && LA93_0 <= 45)||LA93_0==53||LA93_0==58||LA93_0==65||LA93_0==67||(LA93_0 >= 70 && LA93_0 <= 71)||LA93_0==77||(LA93_0 >= 79 && LA93_0 <= 80)||LA93_0==82||LA93_0==85||LA93_0==92||LA93_0==94||(LA93_0 >= 97 && LA93_0 <= 98)||LA93_0==105||LA93_0==108||LA93_0==111||LA93_0==115||LA93_0==118||LA93_0==121||LA93_0==126) ) {
  				alt93=1;
  			}
  			switch (alt93) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:635:12: elementValue ( ',' elementValue )*
  					{
  					pushFollow(FOLLOW_elementValue_in_elementValueArrayInitializer2446);
  					elementValue();
  					state._fsp--;
  					if (state.failed) return;
  					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:635:25: ( ',' elementValue )*
  					loop92:
  					while (true) {
  						int alt92=2;
  						int LA92_0 = input.LA(1);
  						if ( (LA92_0==43) ) {
  							alt92=1;
  						}
  
  						switch (alt92) {
  						case 1 :
  							// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:635:26: ',' elementValue
  							{
  							match(input,43,FOLLOW_43_in_elementValueArrayInitializer2449); if (state.failed) return;
  							pushFollow(FOLLOW_elementValue_in_elementValueArrayInitializer2451);
  							elementValue();
  							state._fsp--;
  							if (state.failed) return;
  							}
  							break;
  
  						default :
  							break loop92;
  						}
  					}
  
  					}
  					break;
  
  			}
  
  			match(input,125,FOLLOW_125_in_elementValueArrayInitializer2458); if (state.failed) return;
  			}
  
  		}
  		catch (RecognitionException re) {
  			reportError(re);
  			recover(input,re);
  		}
  		finally {
  			// do for sure before leaving
  			if ( state.backtracking>0 ) { memoize(input, 70, elementValueArrayInitializer_StartIndex); }
  
  		}
  	}