@Override
 public void renderLine(int lineNumber, CodeLine line) {
   this.currentLine = lineNumber;
   if (lineNumber >= this.lines.size()) {
     this.lines.add(line);
     line.redraw();
     this.add(line.asWidget(), this.getElement());
   } else { // Reuse the line
     CodeLine oldLine = this.lines.get(lineNumber);
     if (!oldLine.equals(line)) {
       oldLine.setTokens(line.getTokens());
       oldLine.redraw();
     }
   }
 }