O renderizador giratório para exibir o texto completo em uma coluna cria loop infinito

Eu quero renderizar uma tabela de balanço ajustando a altura da linha, dependendo da quantidade de texto exibida em uma coluna para que todo o texto seja mostrado na célula.

O problema é que, quando defino a altura para a linha, um loop infinito é criado. Como eu poderia resolver isso?

Este é o meu renderizador

final class RenderTextAreaMessage extends DefaultTableCellRenderer {

  JTextArea textareaMessage;

  @Override 
  public Component getTableCellRendererComponent(JTable aTable, Object aNumberValue, boolean aIsSelected, 
    boolean aHasFocus, int aRow, int aColumn ) {  
     System.out.println("aa");
     String value = (String)aNumberValue;

     textareaMessage = new JTextArea();

     textareaMessage.setLineWrap(true);
     textareaMessage.setWrapStyleWord(true);
     textareaMessage.setText(value);
     textareaMessage.setBorder(null);
     textareaMessage.setMargin(null);

    Component renderer = super.getTableCellRendererComponent(
            aTable, aNumberValue, aIsSelected, aHasFocus, aRow, aColumn
    );

      Font fontType = textareaMessage.getFont();
      FontMetrics fontMet = textareaMessage.getFontMetrics(fontType);
      int fheight = fontMet.getHeight();

      int lineCount = textareaMessage.getLineCount();
      int rowHeight = lineCount * fheight;

      aTable.setRowHeight(aRow,rowHeight+6);      

    return textareaMessage;
  }
}

questionAnswers(0)

yourAnswerToTheQuestion