Как отменить стандартное открытие экрана

Добрый день!
Подскажите, пожалуйста, как отменить стандартное открытие скрина?
То есть, например, из сайд меню стандартно открываем browse экран, в подписке onBeforeShow по определённому условию нужно отменить открытие.
Как это правильно сделать?

В общем случае, конечно, лучше проверки делать до открытия экрана где-то на главном экране.
Но если экран надо закрыть из кода, то можно использовать this.close(StandardOutcome.DISCARD) с соответствующим значением StandardOutcome.

Если ипользовать this.close(StandardOutcome.DISCARD) в onBeforeShow(BeforeShowEvent event)
то возникает ошибка:
IllegalStateException: Screen is not opened .browse

В @AfterShow надо.
Визуально ничего моргать не будет.
Но явно лучше (по возможности) проверять условия заранее и не давать открыть экран из меню.

С @AfterShow получилось, спасибо большое!