@Override public void columnAdded(@NotNull TableColumnModelEvent e) {

      //Support the case where a model is being changed
      if (isCorrectModel()) {

        // when adding or removing columns to the table model, or, in
        // general, when fireTableStructureChanged() is invoked on a
        // table model, all columns are removed, and the definitive
        // ones added.
        // To avoid sending update notifications to the table, which
        // may be quite time/CPU consuming, it is better to disable
        // the notifications and only send them after all columns
        // have been added or removed.
        // As there is no way to know when the last column is added
        // (or removed), the implementation disables the
        // notifications and request to be auto called eventually.
        // This call (run()) will happen when all the column
        // modifications have concluded, so then it is safe to
        // reactivate the notifications
        filtersHandler.enableNotifications(false);
        if (handlerEnabled == null) {
          handlerEnabled = filtersHandler.isEnabled();
        }
      }

      super.columnAdded(e);
    }
@Override public void columnAdded(@NotNull TableColumnModelEvent e)