def METHOD_NAME(es):
    value = IdentityFeature(es["log"].ww["value"])
    agg = AggregationFeature(value, "sessions", primitive=primitives.Mean)
    agg_of_agg = AggregationFeature(agg, "customers", primitive=primitives.Sum)
    direct = DirectFeature(agg_of_agg, "sessions")
    features = [direct, agg]
    approximate_feature_trie = Trie(default=list, path_constructor=RelationshipPath)
    approximate_feature_trie.get_node(direct.relationship_path).value = [agg_of_agg]
    feature_set = FeatureSet(
        features,
        approximate_feature_trie=approximate_feature_trie,
    )
    trie = feature_set.feature_trie
    # Since agg_of_agg is ignored it and its dependencies should not be in the
    # trie.
    sub_trie = trie.get_node(direct.relationship_path)
    for _path, (_, _, features) in sub_trie:
        assert not features
    assert trie.value == (False, set(), {direct.unique_name(), agg.unique_name()})
    assert trie.get_node(agg.relationship_path).value == (
        False,
        set(),
        {value.unique_name()},
    )