code: public void onSearchRequested(SearchRequestEvent event) {
  		final SearchEvent searchEvent = new SearchEvent();
  		searchEvent.setCriterion(event.getCriterion());
  		fireSearchStartEvent(searchEvent);
  		SearchCommService.searchByCriterion(event.getCriterion(), mapWidget,
  				new DataCallback<Map<VectorLayer, List<Feature>>>() {
  					public void execute(Map<VectorLayer, List<Feature>> result) {
  						searchEvent.setResult(result);
  						fireSearchDoneEvent(searchEvent);
  						fireSearchEndEvent(searchEvent);
  					}
  				}, new Runnable() {
  					public void run() {
  						fireSearchEndEvent(searchEvent);
  						destroyWindow();
  						SC.say(messages.searchControllerFailureMessage());
  					}
  				});
  	}
docs: ----------------------------------------------------------