private static GeocacheFilter createInternal(final String pName, final String pJsonConfig, final boolean throwOnParseError) throws ParseException {

        if (pJsonConfig != null && !pJsonConfig.trim().startsWith("{")) {
            //legacy
            return LegacyFilterConfig.parseLegacy(pName, pJsonConfig, throwOnParseError);
        }

        final JsonNode node = JsonUtils.stringToNode(pJsonConfig);
        if (node == null) {
            if (throwOnParseError) {
                throw new ParseException("Couldn't parse Json:" + pJsonConfig, -1);
            }
            return new GeocacheFilter(pName, false, false, null);
        }

        final String name = pName != null  ? pName : JsonUtils.getText(node, CONFIG_KEY_NAME, null);
        final boolean openInAdvancedMode = JsonUtils.getBoolean(node, CONFIG_KEY_ADV_MODE, false);
        final boolean includeInconclusive = JsonUtils.getBoolean(node, CONFIG_KEY_INCLUDE_INCLUSIVE, false);

        IGeocacheFilter tree = null;
        final JsonNode treeNode = node.get(CONFIG_KEY_TREE);
        if (treeNode != null) {
            tree = JsonConfigurationUtils.fromJsonConfig(treeNode, id -> {
                switch (id) {
                    case "AND": return new AndGeocacheFilter();
                    case "OR": return new OrGeocacheFilter();
                    case "NOT": return new NotGeocacheFilter();
                    default:
                        break;
                }
                final GeocacheFilterType filterType = GeocacheFilterType.getByTypeId(id);
                if (filterType == null) {
                    return null;
                }
                return filterType.create();
            });
        }
        return new GeocacheFilter(name, openInAdvancedMode, includeInconclusive, tree);
    }
Extracts quickfilter settings from this filter. For each quickfilter, an entry is returned
For each quickfilter, it is stored whether corresponding caches shall be shown (true) or not (false)
main/src/main/java/cgeo/geocaching/filters/core/GeocacheFilter.java