| Quintiq file version 2.0 | 
| #parent: #root | 
| MethodOverride DoExecuteReactive (Algorithm algorithm, LibOpt_Task task) as stream[JSON] | 
| { | 
|   TextBody: | 
|   [* | 
|     if( this.AutoRegisterTypeDescriptors() ) | 
|     { | 
|       program := algorithm.astype( MathematicalProgram ); | 
|       // Register type descriptors if the program hasn't been executed before and the suboptimizer is configured to do so. | 
|       if( program.ExecutionCounter() = 0 ) | 
|       { | 
|         this.RegisterTypeDescriptors( program ); | 
|       } | 
|       program.GenerateNames(); | 
|     } | 
|      | 
|     execute := algorithm->LibOpt_SuboptimizerMP::ExecuteAlgorithm(); | 
|     return execute->|this->DoHandleResultCall( algorithm, task ); | 
|   *] | 
| } |