private void recreateList() {

        //reset layout manager
        recreateLayoutManager();

        final List<ListItem> list = new ArrayList<>();
        list.add(createForType(ListItemType.SELECT_ALL));
        list.add(createForType(ListItemType.SELECTED_VISIBLE));

        final ItemGroup<Object, Object> root =
            ItemGroup.create(model.getItems(),
            model.getGroupingOptions().getGroupMapper(),
            model.getGroupingOptions().getGroupGroupMapper(),
            model.getGroupingOptions().getItemGroupComparator(),
            model.getGroupingOptions().getGroupPruner());

        recreateListItem(root, list);

        reevaluateTextFilterVisibility();

        listAdapter.setItems(list);

        triggerRefreshList();
    }
This view displays and maintains a list of simple view items, mainly for (single or multiple)
item selection lists. It provides special support for grouping, filtering and "select all" for such
lists.
main/src/main/java/cgeo/geocaching/ui/SimpleItemListView.java