protected void paintHighlight(Graphics gfx, int line, int y) {
    if (line >= textArea.getSelectionStartLine() && line <= textArea.getSelectionEndLine())
      paintLineHighlight(gfx, line, y);

    if (highlights != null) highlights.paintHighlight(gfx, line, y);

    if (bracketHighlight && line == textArea.getBracketLine()) paintBracketHighlight(gfx, line, y);

    if (line == textArea.getCaretLine()) paintCaret(gfx, line, y);
  }
 /**
  * Adds a custom highlight painter.
  *
  * @param highlight The highlight
  */
 public void addCustomHighlight(TextAreaHighlight highlight) {
   highlight.init(textArea, highlights);
   highlights = highlight;
 }