presto-main/src/main/java/io/prestosql/sql/planner/optimizations/SetFlatteningOptimizer.java/Rewriter/visitUnion
class Rewriter:        @Override
        public PlanNode visitUnion(UnionNode node, RewriteContext<Boolean> context)
        {
            ImmutableList.Builder<PlanNode> flattenedSources = ImmutableList.builder();
            ImmutableListMultimap.Builder<Symbol, Symbol> flattenedSymbolMap = ImmutableListMultimap.builder();
            flattenSetOperation(node, context, flattenedSources, flattenedSymbolMap);

            return new UnionNode(node.getId(), flattenedSources.build(), flattenedSymbolMap.build(), ImmutableList.copyOf(flattenedSymbolMap.build().keySet()));
        }