void () { List<Item> items = new ArrayList<>(); int index = 0; List<Data> contents = new ArrayList<>(getContents()); for (Data content : contents) { String longText = getStringRepresentationFor(content); if (!StringUtil.isEmpty(longText)) { items.add(new Item(index, longText)); } index++; } myAllContents = contents; FilteringListModel<Item> listModel = (FilteringListModel<Item>)myList.getModel(); ((CollectionListModel<?>)listModel.getOriginalModel()).removeAll(); listModel.addAll(items); ListWithFilter<?> listWithFilter = ComponentUtil.getParentOfType(ListWithFilter.class, myList); if (listWithFilter != null) { listWithFilter.getSpeedSearch().update(); if (listModel.getSize() == 0) listWithFilter.resetFilter(); } }