public static synchronized List<SearchResultBean> getSearchResultBeans( List<Search.Result> results, Locale locale) { List<SearchResultBean> searchResultBeans = new LinkedList<SearchResultBean>(); try { for (Search.Result result : results) { searchResultBeans.add(new SearchResultBean(result, locale)); } while (searchResultBeans.size() < Config.getConfig().getSearch().getMaxSearchResults()) { searchResultBeans.add(new SearchResultBean()); } } catch (java.util.ConcurrentModificationException ce) { // bit of a hack to say the least try { Thread.sleep(50); } catch (Exception e) { } return getSearchResultBeans(results, locale); } return searchResultBeans; }