docs: public synchronized Table<V> setTableModel(TableModel<V> tableModel) {
          if(tableModel == null) {
              throw new IllegalArgumentException("Cannot assign a null TableModel");
          }
          this.tableModel.removeListener(tableModelListener);
          this.tableModel = tableModel;
          this.tableModel.addListener(tableModelListener);
          invalidate();
          return this;
      }