for (StoreViewBean store : stores) {
String country = store.getCountry();
String city = store.getCity();
StoreLocatorCountryFilterBean countryFilter;
StoreLocatorCityFilterBean cityFilter;
if (countryFilterMap.containsKey(country)) {
countryFilter = countryFilterMap.get(country);
} else {
countryFilter = new StoreLocatorCountryFilterBean();
countryFilter.setCode(country);
String countryLabel = referentialDataService.getCountryByLocale(country, locale);
countryFilter.setName(countryLabel);
filter.addCountry(countryFilter);
countryFilterMap.put(country, countryFilter);
}
if (cityFilterMap.containsKey(city)) {
cityFilter = cityFilterMap.get(city);
} else {
cityFilter = new StoreLocatorCityFilterBean();
cityFilter.setCode(handleCityCode(country));
cityFilter.setName(city);
countryFilter.addCity(cityFilter);
cityFilterMap.put(city, cityFilter);
}
cityFilter.addStore(store);
}
return filter;
}