im a newbie to GXT. I have implemented MVP pattern in my GXT project. The system registers customers as part of it function. Also the system user can search for the registered user providing the id.

i have added an OnClick event to the "search customer" button.

/* On click search button */ 
view.getBtnSearch().addListener(Events.OnClick, new Listener<BaseEvent>() 
@Override public void handleEvent(BaseEvent be)
{ eventBus.fireEvent(new CustomerRegistrationTabSelectionEvent(0, false)); eventBus.fireEvent(new CustomerFetchEvent(view.getValueCustSearchParameter(), view.getValueCustSearchValue(), true)); } });

The CustomerRegistrationTabSelectionEvent does select the relevant tab and enables other tabs. Thats all it does.
Here is the handler for the custom event CustomerFetchEvent.

eventBus.addHandler(CustomerFetchEvent.TYPE, new CustomerFetchEventHandler()
 public void fetchCustomer(CustomerFetchEvent event) 
 searchCustomer(event.getParameter(), event.getParameterValue(), event.isOpenFirstTab());             
 }         });
The issue is the search customer method is executed multiple times and if there is a invalid search the error message dialog shows multiple popups. Within the searchCustomer method i call for service which fetch me the customer data or show the popup error message if the search is invalid.
im using GXT 2.2.5 and JRE 1.6.
Could anyone help me in finding out why the code is executed multiple times?