Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method Add ( 
 | 
  Operation op 
 | 
) 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    elt := op.OperationInOptimizerRun();  
 | 
    if ( isnull( elt ) )  
 | 
    { 
 | 
      elt := op.OperationInOptimizerRun( relnew );  
 | 
    } 
 | 
    this.Add( elt ); 
 | 
    if ( op.HasInputGroup() )  
 | 
    { 
 | 
      traverse( op, OperationInputGroup, group )  
 | 
      { 
 | 
        groupelt := group.OperationInputGroupInOptimizerRun();  
 | 
        if ( isnull( groupelt ) )  
 | 
        { 
 | 
          groupelt := group.OperationInputGroupInOptimizerRun( relnew );  
 | 
        } 
 | 
        this.Add( groupelt );  
 | 
      } 
 | 
    } 
 | 
     
 | 
    if ( op.HasInputSet() )  
 | 
    { 
 | 
      traverse( op, OperationInputSet, set )  
 | 
      { 
 | 
        setelt := set.OperationInputSetInOptimizerRun();  
 | 
        if ( isnull( setelt ) ) 
 | 
        { 
 | 
          setelt := set.OperationInputSetInOptimizerRun( relnew );  
 | 
        } 
 | 
        this.Add(  setelt );           
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |