Predicate<ExplorerNode> getFuzzyMatchPredicate() {
        if (fuzzyMatchPredicate == null) {
            // Create the predicate for the current filter value, lazily as there may not be one
            fuzzyMatchPredicate = expressionPredicateFactory.create(
                    filter.getNameFilter(),
                    FIELD_PROVIDER,
                    VALUE_FUNCTION_FACTORIES,
                    DateTimeSettings.builder().build());
        }
        return fuzzyMatchPredicate;
    }
Some docRefs will get tested multiple times over the course of building the output tree
so hold a transient cache of filter matches. Also creates a combined predicate that only
includes the required checks bases on what is set in the ExplorerTreeFilter.
stroom-explorer/stroom-explorer-impl/src/main/java/stroom/explorer/impl/NodeInclusionChecker.java