text: public void execute(Lexer lexer, CharStream input, int startIndex) {boolean requiresSeek = false;int stopIndex = input.index();try {for (LexerAction lexerAction : lexerActions) {if (lexerAction instanceof LexerIndexedCustomAction) {int offset = ((LexerIndexedCustomAction)lexerAction).getOffset();input.seek(startIndex + offset);lexerAction = ((LexerIndexedCustomAction)lexerAction).getAction();requiresSeek = (startIndex + offset) != stopIndex;}else if (lexerAction.isPositionDependent()) {input.seek(stopIndex);requiresSeek = false;}lexerAction.execute(lexer);}}finally {if (requiresSeek) {input.seek(stopIndex);}}}