private boolean isBasicPossibleWithoutLoss() {
        if (this.inverseFilterCheckbox.isChecked() ||
                this.andOrFilterCheckbox.isChecked() ||
                this.includeInconclusiveFilterCheckbox.isChecked()) {
            return false;
        }

        final Set<GeocacheFilterType> found = new HashSet<>();
        for (IFilterViewHolder<?> fvh : filterListAdapter.getItems()) {
            if (!BASIC_FILTER_TYPES_SET.contains(fvh.getType()) || found.contains(fvh.getType())) {
                return false;
            }
            if (!fvh.canBeSwitchedToBasicLossless()) {
                return false;
            }
            found.add(fvh.getType());
        }
        return true;
    }
Show a filter selection using an {@code ExpandableListView}.
main/src/main/java/cgeo/geocaching/filters/gui/GeocacheFilterActivity.java