docs: public final void constantDeclaratorRest() throws RecognitionException {
  		int constantDeclaratorRest_StartIndex = input.index();
  
  		try {
  			if ( state.backtracking>0 && alreadyParsedRule(input, 42) ) { return; }
  
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:487:5: ( ( '[' ']' )* '=' variableInitializer )
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:487:7: ( '[' ']' )* '=' variableInitializer
  			{
  			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:487:7: ( '[' ']' )*
  			loop58:
  			while (true) {
  				int alt58=2;
  				int LA58_0 = input.LA(1);
  				if ( (LA58_0==59) ) {
  					alt58=1;
  				}
  
  				switch (alt58) {
  				case 1 :
  					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:487:8: '[' ']'
  					{
  					match(input,59,FOLLOW_59_in_constantDeclaratorRest1458); if (state.failed) return;
  					match(input,60,FOLLOW_60_in_constantDeclaratorRest1460); if (state.failed) return;
  					}
  					break;
  
  				default :
  					break loop58;
  				}
  			}
  
  			match(input,54,FOLLOW_54_in_constantDeclaratorRest1464); if (state.failed) return;
  			pushFollow(FOLLOW_variableInitializer_in_constantDeclaratorRest1466);
  			variableInitializer();
  			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, 42, constantDeclaratorRest_StartIndex); }
  
  		}
  	}