docs: public synchronized TextBox setText(String text) {
          String[] split = text.split("\n");
          if (split.length == 0) {
              split = new String[] { "" };
          }
          lines.clear();
          longestRow = 1;
          for(String line : split) {
              addLine(line);
          }
          if(caretPosition.getRow() > lines.size() - 1) {
              caretPosition = caretPosition.withRow(lines.size() - 1);
          }
          if(caretPosition.getColumn() > lines.get(caretPosition.getRow()).length()) {
              caretPosition = caretPosition.withColumn(lines.get(caretPosition.getRow()).length());
          }
          invalidate();
          return this;
      }