Лучший способ остановить изменение выбора JTree?

У меня есть диалоговое окно, в котором каждая запись в JTree имеет соответствующие параметры на другой панели, которая обновляется при изменении выбора. Если для параметров для одной из записей задано недопустимое состояние, когда пользователь пытается перейти к другой записи в дереве, я хочу, чтобы появилось диалоговое окно с ошибкой, и выбор не изменился.

Я попытался сделать это с помощью valueChangeListener на JTree, но в настоящее время необходимо иметь вызов метода valueChanged "setSelectionRow" для старого выбора в случае ошибки. Чтобы я не получил StackOverflow, перед тем, как сделать это, я установил для логического значения «isError» значение true, чтобы можно было игнорировать новое событие valueChanged. Почему-то у меня такое чувство, что это не лучшее решение. ;-)

Как бы я пошел об этом вместо этого? Есть ли хороший шаблон дизайна для подобных ситуаций?