| Quintiq file version 2.0 | 
| #parent: #root | 
| MethodOverride DoExecute (Algorithm algorithm, LibOpt_Task task) as stream[JSON] | 
| { | 
|   TextBody: | 
|   [* | 
|     result := null( stream[JSON] ); | 
|      | 
|     if( this.InOneTransaction() ) | 
|     { | 
|       poa := algorithm.astype( POAAlgorithm ); | 
|        | 
|       // Start measuring the framework-solve duration at POA's entry point in the LibOpt framework. | 
|       LibOpt_AlgorithmStopwatch::Start( algorithm, LibOpt_SnapshotAlgorithm::FrameworkSolve() ); | 
|      | 
|       this.ExecuteStrategy( poa ); | 
|       LibOpt_SuboptimizerPOA::FinalizePOA( poa ); | 
|        | 
|       result := this.DoHandleResultCall( poa, task ); | 
|     } | 
|     else | 
|     { | 
|       result := this.DoExecuteReactive( algorithm, task ); | 
|     } | 
|      | 
|     return result; | 
|   *] | 
| } |