| Quintiq file version 2.0 | 
| #parent: #root | 
| Method PreProcessReactive ( | 
|   LibOpt_Optimizer optimizer | 
| ) #extension | 
| { | 
|   TextBody: | 
|   [* | 
|     sm := Util::GetScenarioManagerStream();  | 
|     strategy := sm->GetStrategy( optimizer.ActiveSettings().astype( OptimizerSettings ).StrategyName() );  | 
|      | 
|     mystream := strategy-> ( s )  | 
|     { | 
|       oldvalmeta := strategy.UseMetaOptimizer();  | 
|       usemeta := optimizer.istype( OptimizerMeta );  | 
|       s.UseMetaOptimizer( usemeta ); // adapt setting if advanced tab setting of strategy does not match optimizer | 
|       optimizer.Optimization().astype( Optimization ).MacroPlan().DuplicateStrategySettings( s, false );  | 
|       s.UseMetaOptimizer( oldvalmeta );  | 
|        | 
|       // Enlarging the metals benchmark needs to happen prior to creation of run | 
|       opt := optimizer.Optimization().astype( Optimization );  | 
|       if ( opt.OTSCreateEnlargedBenchmark() )  | 
|       { | 
|         opt.GenerateEnlargedMetalsBenchmark( this.TrackingTableCell().Table().Description() ); // test method in libopt_bt application is used to generate tables for enlarged benchmarks.  | 
|       }                                                                                        // the description attribute encodes what modification must be made                                            | 
|     } | 
|      | 
|     return mystream; | 
|   *] | 
| } |