| Quintiq file version 2.0 | 
| #parent: #root | 
| Method Stop | 
| { | 
|   Description: | 
|   [* | 
|     Call this method to stop the run. | 
|      | 
|     Calling this method before the run is started, like in `LibOpt_Optimizer.CreateComponents` will put the run in an invalid state where it is running, but can't be stopped. | 
|     Calling this method on a run that is already stopped will be a no-op. | 
|   *] | 
|   TextBody: | 
|   [* | 
|     traverse( this, Task, task ) | 
|     { | 
|       task.Abort(); | 
|     } | 
|      | 
|     if( not isnull( this.BreakpointEvent() ) ) | 
|     { | 
|       this.BreakpointEvent().Continue(); | 
|     } | 
|      | 
|     this.IsAborted( true ); | 
|     if( this.AutoIterationsEnabled() ) | 
|     { | 
|       this.HasIterations( true ); | 
|     } | 
|      | 
|     if( this.IsRunControllerEnabled() ) | 
|     { | 
|       LibOpt_OptimizerRunController::GetRunControllerDataset()->AbortRun( this.MDSID(), this.Key() ); | 
|     } | 
|   *] | 
| } |