boolean (Editor editor, HighlighterIterator iterator, int offset) { int start = iterator.getStart(); try { Document doc = editor.getDocument(); CharSequence chars = doc.getCharsSequence(); int lineEnd = doc.getLineEndOffset(doc.getLineNumber(offset)); while (!iterator.atEnd() && iterator.getStart() < lineEnd) { IElementType tokenType = iterator.getTokenType(); if (myLiteralTokenSet.contains(tokenType)) { if (isNonClosedLiteral(iterator, chars)) return true; } iterator.advance(); } } finally { while(iterator.atEnd() || iterator.getStart() != start) iterator.retreat(); } return false; }