void (@NotNull CharSequence buffer, int startOffset, int endOffset, int initialState) { if (initialState != DIRTY_STATE) { getFlex().cleanMyState(); } else { // That should not occur normally, but some complex lexers (e.g. black and white lexer) // require "suspending" of the lexer to pass some template language. In these cases we // believe that the same instance of the lexer would be restored (with its internal state) initialState = 0; } super.start(buffer, startOffset, endOffset, initialState); }