public static PredicateTreeAnalyzerResult analyzePredicateTree(Predicate predicate) {
        AnalyzerContext context = new AnalyzerContext();
        int treeSize = aggregatePredicateStatistics(predicate, false, context);
        int minFeature = ((int)Math.ceil(findMinFeature(predicate, false, context))) + (context.hasNegationPredicate ? 1 : 0);
        return new PredicateTreeAnalyzerResult(minFeature, treeSize, context.subTreeSizes);
    }
@param predicate The predicate tree.
@return a result object containing the min-feature value, the tree size and sub-tree sizes.
predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnalyzer.java