question: @ Override public Scan open ( ) { Scan src = p . open ( ) ; List < TempTable > runs = splitIntoRuns ( src ) ; if ( runs . size ( ) == 0 ) return src ; src . close ( ) ; while ( runs . size ( ) > 2 ) runs = doAMergeIteration ( runs ) ; return new SortScan ( runs , comp ) ; }
target:  This method is where most of the action is. Up to 2 sorted temporary tables are created, and are passed into SortScan for final merging.