Как сделать один из DropDownButtonItem недоступным при использовании специальной политики?

Здравствуйте!
У меня есть dataGrid.
image
В одной из колонок у меня расположен DropDownButton. Создаю я его через ComponentRenderer:

    @Supply(to = "something.contextMenu", subject = "renderer")
    public Renderer<Something> somethingDataGridContextMenuRenderer() {
        return new ComponentRenderer<>((Something some) -> {
            DropdownButton dropdownButton = uiComponents.create(DropdownButton.class);
            dropdownButton.setIcon(VaadinIcon.ELLIPSIS_DOTS_V.create());
            DropdownButtonItem read = dropdownButton
                    .addItem("read", messages.getMessage("action/read"),
                            (DropdownButtonItem.ClickEvent listener) -> openDetailView(some, true));
            editStart = dropdownButton
                    .addItem("editWithRoleNew", messages.getMessage("action/editStart"),
                            (DropdownButtonItem.ClickEvent listener) -> openDetailView(some, false));
            DropdownButtonItem edit = dropdownButton
                    .addItem("edit", messages.getMessage("action/edit"),
                            (DropdownButtonItem.ClickEvent listener) -> openDetailView(some, false));
            return dropdownButton;
        });
    }

Далее у меня есть метод, в котором при помощи accessManager я проверяю, что если для пользователя не установлена конкретная политика, то кнопка “Настройка перед запуском” в выпадающем списке должна стать недоступной. А также есть подписка на BeforeCloseEvent:

    private void applySetupAgentBeforeStartConstraints() {
        SetupAgentBeforeStartContext context = new SetupAgentBeforeStartContext();
        accessManager.applyRegisteredConstraints(context);
        editStart.setEnabled(context.isPermitted());
    }
    @Subscribe
    public void onBeforeClose(final AfterCloseEvent event) {
        applySetupAgentBeforeStartConstraints();
    }

Но пока я лишь добился поведения, что при отсутствии нужной роли у пользователя, по нажатию на кнопку выскакивает сообщение, что доступ запрещен, но кнопку сделать недоступной так и не получилось. И кстати не уверен, что нужную подписку на событие использую.

Подскажите, как мне добиться нужного поведения?

Так а в чем проблема во время открытия экрана проверить доступ, а потом somethingDataGridContextMenuRenderer для DropdownButtonItem ставить setEnabled?

Имеете в виду в событии onInit проверять доступ?

Либо там, либо BeforeShow. Не помню когда таблица генерит колонки.

Можно Не подписываться на renderer, а в BeforeShow сначала проверить доступ, а потом сгенерить нужную колонку.