void (@NotNull Queue<Token> output) { int startLineOffset = myCurrentOffset; int endLineOffset = startLineOffset; while (endLineOffset < myText.length()) { if (myText.charAt(endLineOffset) == '\n') { endLineOffset++; break; } endLineOffset++; } CharSequence lineCharSequence = myText.subSequence(startLineOffset, endLineOffset); if (myLineLimit >= 0 && lineCharSequence.length() > myLineLimit) { myStates = parseLine(lineCharSequence.subSequence(0, myLineLimit), output, myStates, startLineOffset, 0, 0); addToken(output, endLineOffset); } else { myStates = parseLine(lineCharSequence, output, myStates, startLineOffset, 0, 0); } }