@Override
  public boolean hasNonClosedLiteral(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;
  }
@Override
  public boolean hasNonClosedLiteral(Editor editor, HighlighterIterator iterator, int offset)