@Override public void tableChanged(TableModelEvent e) {
        int firstRow = e.getFirstRow();
        if (firstRow != TableModelEvent.HEADER_ROW) {
            int type = e.getType();
            TableModel model = (TableModel) e.getSource();
            tableUpdated(model, type, firstRow, e.getLastRow(), e.getColumn());
            if (!runScheduled) {
                runScheduled = true;
                // invoke later filtersHandler.tableUpdated, as perhaps the
                // row sorter hasn't been updated its status
                SwingUtilities.invokeLater(this);
            }
        }
    }
@Override public void tableChanged(TableModelEvent e)