@Override
    public void paint(@NotNull Graphics2D g, double x, double y, double width, double height, Font font) {
      if (!Registry.is("ide.text.effect.new")) {
        WavePainter2D.forColor(g.getColor()).paint(g, x, x + width, y + height);
      }
      else if (Registry.is("ide.text.effect.new.metrics")) {
        paintUnderline(g, x, y, width, height, font, 3, this);
      }
      else if (width > 0 && height > 0) {
        Cached.WAVE_UNDERSCORE.paint(g, x, y, width, height, null);
      }
    }
@Override
    public void paint(@NotNull Graphics2D g, double x, double y, double width, double height, Font font)