@Override public void tableUpdated(TableModel model,
                                       int        eventType,
                                       int        firstRow,
                                       int        lastRow,
                                       int        column) {
        if (column != TableModelEvent.ALL_COLUMNS) {
            // a change in ONE column is always handled as an update
            // (every update is handled by re-extracting the choices
            FilterEditor editor = handler.getEditor(column);
            if (editor.isEnabled()) {
                setChoicesFromModel(editor);
            }
        } else {
            for (FilterEditor editor : handler.getEditors()) {
                if (editor.isEnabled()
                    && (AutoChoices.ENABLED == editor.getAutoChoices())) {
                    // insert events can be handled by adding the
                    // new model's values.
                    // updates/deletes require reparsing the whole
                    // table to obtain again the available choices
                    if (eventType == TableModelEvent.INSERT) {
                        editor.addChoices(new HashSet<>());
                    }
                    else {
                        setChoicesFromModel(editor);
                    }
                }
            }
        }
    }
@Override public void tableUpdated(TableModel model,
                                       int        eventType,
                                       int        firstRow,
                                       int        lastRow,
                                       int        column)