void (int event, int firstRow, int lastRow, int column) { if (column != TableModelEvent.ALL_COLUMNS) { rowsUpdated(firstRow, lastRow, column); } else if (event == TableModelEvent.UPDATE) { // an update can signal that all cells have changed // https://bitbucket.org/coderazzi/tablefilter-swing/issue/ // 8/enabled-adaptive-choices-cause if (lastRow >= rows.size()) { rows.clear(); rowsAdded(0, rowEntry.getModel().getRowCount() - 1); } else { rowsUpdated(firstRow, lastRow, TableModelEvent.ALL_COLUMNS); } } else if (event == TableModelEvent.INSERT) { rowsAdded(firstRow, lastRow); } else if (event == TableModelEvent.DELETE) { rowsDeleted(firstRow, lastRow); } }