presto-main/src/main/java/io/prestosql/sql/planner/iterative/rule/ImplementIntersectAsUnion.java/ImplementIntersectAsUnion/apply
class ImplementIntersectAsUnion:    @Override
    public Result apply(IntersectNode node, Captures captures, Context context)
    {
        SetOperationNodeTranslator translator = new SetOperationNodeTranslator(metadata, context.getSymbolAllocator(), context.getIdAllocator());
        SetOperationNodeTranslator.TranslationResult result = translator.makeSetContainmentPlan(node);

        return Result.ofPlanNode(
                new ProjectNode(
                        context.getIdAllocator().getNextId(),
                        new FilterNode(context.getIdAllocator().getNextId(), result.getPlanNode(), and(result.getPresentExpressions())),
                        Assignments.identity(node.getOutputSymbols())));
    }