void (@NotNull JTable table, @Nullable Object value, boolean selected, boolean hasFocus, int row, int column) { @SuppressWarnings("unchecked") T item = (T)value; String text = item == null ? "" : getItemText(item); SpeedSearchUtil.appendFragmentsForSpeedSearch( table, text, SimpleTextAttributes.REGULAR_ATTRIBUTES, selected, this); ElementProperties properties = myElementToPropertiesMap.get(item); if (properties != null) { String location = properties.getLocation(); if (StringUtil.isNotEmpty(location)) { append(" (" + location + ")", SimpleTextAttributes.GRAYED_ATTRIBUTES); } } setTransparentIconBackground(true); Icon icon = properties != null ? properties.getIcon() : item != null ? getItemIcon(item) : null; if (icon != null) { setIcon(icon); } setForeground(properties != null && properties.getColor() != null ? properties.getColor() : selected ? table.getSelectionForeground() : table.getForeground()); setBackground(selected ? table.getSelectionBackground() : properties != null && properties.getBackgroundColor() != null ? properties.getBackgroundColor() : table.getBackground()); @SuppressWarnings("unchecked") MyTableModel model = (MyTableModel)table.getModel(); setEnabled(selected || (MultiStateElementsChooser.this.isEnabled() && (!myColorUnmarkedElements || myMarkStateDescriptor.isMarked(model.getElementMarkState(item))))); }