* callback to execute in case of error, optional use null if you
* don't need it
*/
public static void searchByCriterion(final Criterion criterion, final MapWidget mapWidget,
final DataCallback<Map<VectorLayer, List<Feature>>> onFinished, final ErrorHandler onError) {
FeatureSearchRequest request = new FeatureSearchRequest();
request.setMapCrs(mapWidget.getMapModel().getCrs());
request.setCriterion(criterion);
request.setLayerFilters(getLayerFiltersForCriterion(criterion, mapWidget.getMapModel()));
request.setFeatureIncludes(GwtCommandDispatcher.getInstance().getLazyFeatureIncludesSelect());
GwtCommand commandRequest = new GwtCommand(FeatureSearchRequest.COMMAND);
commandRequest.setCommandRequest(request);
Deferred def = GwtCommandDispatcher.getInstance().execute(commandRequest, new CommandCallback() {
public void execute(CommandResponse commandResponse) {