Object (int rowIndex, int columnIndex) { try { final DirDiffElementImpl element = myElements.get(rowIndex); if (element.isSeparator()) { return columnIndex == 0 ? element.getName() : null; } final ColumnType columnType = getColumnType(columnIndex); boolean isSrc = columnIndex < getColumnCount() / 2; if (columnType == ColumnType.NAME) { return isSrc ? element.getSourcePresentableName() : element.getTargetPresentableName(); } else if (columnType == ColumnType.SIZE) { return isSrc ? element.getSourceSize() : element.getTargetSize(); } else if (columnType == ColumnType.DATE) { return isSrc ? element.getSourceModificationDate() : element.getTargetModificationDate(); } return ""; } catch (Exception e) { //noinspection SSBasedInspection SwingUtilities.invokeLater(() -> { myElements.clear(); fireTableDataChanged(); myTable.getEmptyText().setText(DiffBundle.message("data.has.been.changed.externally.reloading.data")); reloadModel(true); myTable.repaint(); }); return ""; } }