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() ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |