private @Nullable RangeHighlighterEx addPersistentLineHighlighter(@Nullable TextAttributesKey textAttributesKey,
                                                                    @Nullable TextAttributes textAttributes,
                                                                    int lineNumber,
                                                                    int layer) {
    Document document = getDocument();
    if (!DocumentUtil.isValidLine(lineNumber, document)) {
      return null;
    }
    int offset = DocumentUtil.getFirstNonSpaceCharOffset(document, lineNumber);

    Consumer<RangeHighlighterEx> changeAction = textAttributes == null ? null : ex -> ex.setTextAttributes(textAttributes);

    PersistentRangeHighlighterImpl highlighter = PersistentRangeHighlighterImpl.create(
      this, offset, layer, HighlighterTargetArea.LINES_IN_RANGE, textAttributesKey, false);
    addRangeHighlighter(highlighter, changeAction);
    return highlighter;
  }
private @Nullable RangeHighlighterEx addPersistentLineHighlighter(@Nullable TextAttributesKey textAttributesKey,
                                                                    @Nullable TextAttributes textAttributes,
                                                                    int lineNumber,
                                                                    int layer)