private static Multimap<Expression, Expression> makeEqualitySets(
      DisjointSet<Expression> equalities, Comparator<Expression> canonicalComparator) {
    ImmutableSetMultimap.Builder<Expression, Expression> builder = ImmutableSetMultimap.builder();
    for (Set<Expression> equalityGroup : equalities.getEquivalentClasses()) {
      if (!equalityGroup.isEmpty()) {
        builder.putAll(equalityGroup.stream().min(canonicalComparator).get(), equalityGroup);
      }
    }
    return builder.build();
  }
Returns a canonical expression that is fully contained by the symbolScope and that is
equivalent to the specified expression. Returns null if unable to find a canonical.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/EqualityInference.java