@Override
    public Graphics2D apply(@NotNull JComponent c, @NotNull Graphics2D g) {
      Graphics2D original = MyGraphics.unwrap(g);
      if (c instanceof EditorsSplitters) {
        return withFrameBackground(original, c);
      }

      Editor editor = obtainEditor(c);
      if (editor instanceof EditorImpl editorImpl) {
        if (c instanceof EditorComponentImpl && (editorImpl.isDumb() || editorImpl.isStickyLinePainting())) {
          return original;
        }
        if (c instanceof EditorGutterComponentEx && editorImpl.isStickyLinePainting()) {
          return original;
        }
      }

      Graphics2D gg = withEditorBackground(original, c);
      if (gg instanceof MyGraphics) {
        ((MyGraphics)gg).preserved = editor != null ? getEditorPreserveColorCondition((EditorEx)editor) : getGeneralPreserveColorCondition(c);
      }
      return gg;
    }
@Override
    public Graphics2D apply(@NotNull JComponent c, @NotNull Graphics2D g)