Добавление иконок вместо значений в Table

Версия 1.5.5

Здравствуйте. у меня есть такой способ генерации таблицы.

private void createTable() {
        Table<KeyValueEntity> tab = uiComponents.create(Table.class);

        KeyValueCollectionContainer keyValueCollectionContainer = dataComponents.createKeyValueCollectionContainer();
        keyValueCollectionContainer.setIdName("tableDc");

        initializeColumns(tab, keyValueCollectionContainer);

        List<KeyValueEntity> list = creatingTableData();

        keyValueCollectionContainer.setItems(list);
        tab.setItems(new ContainerTableItems<>(keyValueCollectionContainer));
        tab.setWidthFull();
        tab.setColumnHeaderVisible(false);
        table.add(tab);
    }

    private void initializeColumns(Table<KeyValueEntity> tab, KeyValueCollectionContainer keyValueCollectionContainer) {

        keyValueCollectionContainer.addProperty(PARAMETER, String.class);
        tab.addColumn(Objects.requireNonNull(keyValueCollectionContainer.getEntityMetaClass().getPropertyPath(PARAMETER)))
                .setCaption(messages.getMessage("technologicalParameters.parameter"));

        for (Block block : blockList) {
            String blockColumn = BLOCK + block.getBlockNumber();
            keyValueCollectionContainer.addProperty(blockColumn, String.class);
            tab.addColumn(Objects.requireNonNull(keyValueCollectionContainer.getEntityMetaClass().getPropertyPath(blockColumn)))
                    .setCaption(messages.getMessage("technologicalParameters." + blockColumn));
        }
    }

    private List<KeyValueEntity> creatingTableData() {
        Map<String, KeyValueEntity> entityMap = new HashMap<>();

        for (Block block : blockList) {
            int i = 0;
            for (KFB kfb : block.getKfb()) {
                String parameterName = kfb.getName();
                KeyValueEntity entity = entityMap.computeIfAbsent(parameterName, key -> {
                    KeyValueEntity newEntity = dataManager.create(KeyValueEntity.class);
                    newEntity.setValue(PARAMETER, key);
                    return newEntity;
                });

                for (Block block1 : blockList) {
                    if (i < block1.getKfb().size()) {
                        entity.setValue(BLOCK + block1.getBlockNumber(), block1.getKfb().get(i).getState().name());
                    }
                }
                i++;
            }
        }
        return new ArrayList<>(entityMap.values());
    }

в этом цикле добавляю значения для заполнения таблицы

                for (Block block1 : blockList) {
                    if (i < block1.getKfb().size()) {
                        entity.setValue(BLOCK + block1.getBlockNumber(), block1.getKfb().get(i).getState().name());
                    }
                }

Как сделать так чтобы вместо значений (у меня их может быть 3 варианта), подставлялись соответствующие иконки и отображались в таблице вместо текста.
Пример как хотелось бы чтобы выглядело

Frame 449

создание колонки с иконкой в таблице:

        table.addColumn { entity ->
            val iconSource = JmixIcon.RUB.source()

            val newIconLabel = uiComponents.create(Label::class.java)
            newIconLabel.icon = iconSource
            newIconLabel.setHeight("30px")
            newIconLabel.setWidth("30px")
            newIconLabel
        }

Если вам нужно добавить свои икноки в приложении посмотрите Добавление значков из других библиотек шрифтов