Подменить листенер в ранее созданной кнопке.

Уважаемые друзья!
Как подменить листенер в ранее созданной кнопке?

Т.Е. Есть некоторая стандартная форма ( MyForm form) со стандартной логикой. По клику на некоторой кнопке производится определенная работа. Имеется способ обратиться к данной кнопке из вне:
Button newBtn = form.getThatButton();

добавляем листенер:
btnNew.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(Button.ClickEvent event) {
System.out.println(" —===>>>}}}");
}
});

Всё хорошо. Однако при клике на кнопке сначала вызывается обработчик, определенный ранее в классе формы. затем новый листерен.

Как удалить старый листенер?
Код, приведенный ниже, почему то не работает.
Collection<?> listeners = btnNew.getListeners(Button.ClickListener.class);
for(Object cl : listeners){
btnNew.removeClickListener((Button.ClickListener) cl);
}

getListeners возвращает пустую коллекцию.

Спасибо!!!

Приветствую,
попробуйте заменить на btnNew.getListeners(
ClickEvent.class
);

Удачи!