Code review comment: add comment to explain why must replace here

Code under review:
private static List<RewriteJob> buildAnalyzeJobs(Optional<CustomTableResolver> customTableResolver) {
        return jobs(
            
            topDown(new AnalyzeCTE()),
            topDown(new EliminateLogicalSelectHint()),
            bottomUp(
                new BindRelation(customTableResolver),
                new CheckPolicy()
            ),
            bottomUp(new BindExpression()),
            bottomUp(new BindSlotWithPaths()),
            topDown(new BindSink()),
            bottomUp(new CheckAfterBind()),
            bottomUp(
                new ProjectToGlobalAggregate(),
                
                
                
                
                
                new EliminateDistinctConstant(),
                new ProjectWithDistinctToAggregate(),
                new ReplaceExpressionByChildOutput(),
                new OneRowRelationExtractAggregate()
            ),
            topDown(
                new FillUpMissingSlots(),
                
                
                
                new NormalizeRepeat()
            ),
            bottomUp(new AdjustAggregateNullableForEmptySet()),
            topDown(new VariableToLiteral()),
            
            
            
            bottomUp(new CheckAnalysis()),
            topDown(new EliminateGroupByConstant()),

            topDown(new SimplifyAggGroupBy()),
            topDown(new NormalizeAggregate()),
            topDown(new HavingToFilter()),
            bottomUp(new SemiJoinCommute()),
            bottomUp(
                    new CollectSubQueryAlias(),
                    new CollectJoinConstraint()
            ),
            topDown(new LeadingJoin()),
            bottomUp(new SubqueryToApply()),
            topDown(new MergeProjects())
        );
    }

Line commented on: bottomUp(new SemiJoinCommute()),

Revised code:
private static List<RewriteJob> buildAnalyzeJobs(Optional<CustomTableResolver> customTableResolver) {
        return jobs(
            
            topDown(new AnalyzeCTE()),
            topDown(new EliminateLogicalSelectHint()),
            bottomUp(
                new BindRelation(customTableResolver),
                new CheckPolicy()
            ),
            bottomUp(new BindExpression()),
            bottomUp(new BindSlotWithPaths()),
            topDown(new BindSink()),
            bottomUp(new CheckAfterBind()),
            bottomUp(
                new ProjectToGlobalAggregate(),
                
                
                
                
                
                new EliminateDistinctConstant(),
                new ProjectWithDistinctToAggregate(),
                new ReplaceExpressionByChildOutput(),
                new OneRowRelationExtractAggregate()
            ),
            topDown(
                new FillUpMissingSlots(),
                
                
                
                new NormalizeRepeat()
            ),
            bottomUp(new AdjustAggregateNullableForEmptySet()),
            
            
            
            
            
            
            
            
            
            
            topDown(new VariableToLiteral()),
            
            
            
            bottomUp(new CheckAnalysis()),
            topDown(new EliminateGroupByConstant()),

            topDown(new SimplifyAggGroupBy()),
            topDown(new NormalizeAggregate()),
            topDown(new HavingToFilter()),
            bottomUp(new SemiJoinCommute()),
            bottomUp(
                    new CollectSubQueryAlias(),
                    new CollectJoinConstraint()
            ),
            topDown(new LeadingJoin()),
            bottomUp(new SubqueryToApply()),
            topDown(new MergeProjects())
        );
    }