Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method Finalize 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    This method is executed right after a component has finished its operation or right before an error causes a rollback.  
 | 
    For `LibOpt_Suboptimizers`, this method is also executed right before the `LibOpt_Suboptimizer.PostHandleResult` method is called. 
 | 
    This is to ensure that the execution time of a component is registered when a rollback occurs. 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
    // When an error occurs on a downstream component, then LibOpt_CurrentTransaction.HandleQuillError( QuillError e ) also executes this method for all upstream components. 
 | 
    // We do not want to overwrite the original timestamp, so the 'this.PrecisionTimeStampDone() = 0' condition is required. 
 | 
    if( this.PrecisionTimeStampDone() = 0 ) 
 | 
    { 
 | 
      this.TimeStampDone( DateTime::ActualTime() ); 
 | 
      this.PrecisionTimeStampDone( OS::PrecisionCounter() / OS::PrecisionCounterFrequency() ); 
 | 
    } 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |