docs: Token match( TokenStream input,
                   int ttype,
                   String text,
                   int[] follow,
                   DroolsEditorType etype ) throws RecognitionException {
          Token matchedSymbol = null;
          matchedSymbol = input.LT(1);
          if (input.LA(1) == ttype && (text == null || text.equals(matchedSymbol.getText()))) {
              input.consume();
              state.errorRecovery = false;
              state.failed = false;
              helper.emit(matchedSymbol,
                      etype);
              return matchedSymbol;
          }
          if (state.backtracking > 0) {
              state.failed = true;
              return matchedSymbol;
          }
          matchedSymbol = recoverFromMismatchedToken(input,
                  ttype,
                  text,
                  follow);
          helper.emit(matchedSymbol,
                  etype);
          return matchedSymbol;
      }