private static <T> void registerFeatureInterval(long featureHash, T interval, Map<Long, List<T>> intervals) {
        intervals.computeIfAbsent(featureHash, (k) -> new ArrayList<>()).add(interval);
    }
Visits the predicate tree in depth-first order and assigns intervals for features in
{@link com.yahoo.document.predicate.FeatureSet} and {@link com.yahoo.document.predicate.FeatureRange}.
predicate-search/src/main/java/com/yahoo/search/predicate/annotator/PredicateTreeAnnotator.java