| Quintiq file version 2.0 | 
| #parent: #root | 
| Method DoInitializeReactive (const LibOpt_Task task, Algorithm program) const as stream[Object] | 
| { | 
|   Description: | 
|   [* | 
|     Call the `InitializeReactive` method on your suboptimizer. The `InitializeReactive` method should any stream. | 
|     This method (`DoInitializeReactive`) should not call the `InitializeReactive` reactively, but allow the user to create their reactive calls in `InitializeReactive`. | 
|      | 
|     To be overridden in the "LibOpt" library, when creating a new base suboptimizer type for a new solver type. | 
|   *] | 
|   IsAbstract: true | 
|   TextBody: | 
|   [* | 
|     // To be overridden. | 
|     // - Ideally, you would introduce an `IntializeReactive` method on the subclass of the suboptimizer,  | 
|     //   which requires an algorithm of the correct type as input argument.  | 
|     // - For example, for the `LibOpt_SuboptimizerMP` type, the `IntializeReactive` method has a `MathematicalProgram` as input argument. | 
|      | 
|     return stream[Object]::Success(); | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |