| Quintiq file version 2.0 | 
| #parent: #root | 
| Method OptimizeScopeThinQueue | 
| { | 
|   Description: 'Optimize the thin queue; try to empty as much as possible and make sure to first use lower IDs.' | 
|   TextBody: | 
|   [* | 
|     queue := NumberVector::Construct( this.ScopeThinQueue() ); | 
|     queue.SortAscending(); | 
|     next := this.NextScopeThinID(); | 
|      | 
|     for( i := queue.Size() - 1; i >= 0; i-- ) | 
|     { | 
|       if( queue.Get( i ) + 1 = next ) | 
|       { | 
|         next--; | 
|         queue.Resize( i ); | 
|       } | 
|       else | 
|       { | 
|         // Skip | 
|         i := 0; | 
|       } | 
|     } | 
|      | 
|     queue.SortDescending(); | 
|     this.ScopeThinQueue( queue.AsBinaryValue() ); | 
|     this.NextScopeThinID( next ); | 
|   *] | 
| } |