docs: private void parameter( ParameterSupportBuilder< ? > statement,
                              boolean requiresType ) throws RecognitionException {
          String type = "Object";
          if ( requiresType ) {
              type = type();
              if ( state.failed ) return;
          }
  
          int start = input.index();
          match( input,
                 DRL5Lexer.ID,
                 null,
                 null,
                 DroolsEditorType.IDENTIFIER );
          if ( state.failed ) return;
  
          while ( input.LA( 1 ) == DRL5Lexer.LEFT_SQUARE ) {
              match( input,
                     DRL5Lexer.LEFT_SQUARE,
                     null,
                     null,
                     DroolsEditorType.SYMBOL );
              if ( state.failed ) return;
  
              match( input,
                     DRL5Lexer.RIGHT_SQUARE,
                     null,
                     null,
                     DroolsEditorType.SYMBOL );
              if ( state.failed ) return;
          }
          int end = input.LT( -1 ).getTokenIndex();
  
          if ( state.backtracking == 0 ) statement.parameter( type,
                                                              input.toString( start,
                                                                              end ) );
      }