| Quintiq file version 2.0 | 
| #parent: #root | 
| MethodOverride AddUnsafe ( | 
|   LibOpt_ScopeThin scope, | 
|   LibOpt_Group group | 
| ) as LibOpt_ScopeShared | 
| { | 
|   TextBody: | 
|   [* | 
|     vector := NumberVector::Construct( this.Set() ); | 
|      | 
|     if( vector.Size() <= scope.Index() ) | 
|     { | 
|       vector.Resize( scope.Index() + 1 ); | 
|     } | 
|     vector.Set( scope.Index(), vector.Get( scope.Index() ).BitOr( scope.Mask() ) ); | 
|      | 
|     set := vector.AsBinaryValue(); | 
|      | 
|     group_vector := this.GroupVectorAdd( scope, group ); | 
|     if( this.Set() <> set ) | 
|     { | 
|       scope.ScopeSharedOnScope( relnew, ScopeShared := this, Group := group ); | 
|     } | 
|     else if( this.GroupVector() <> group_vector ) | 
|     { | 
|       traverse( this, ScopeSharedOnScope, ssos, ssos.ScopeThin() = scope ) | 
|       { | 
|         ssos.Group( relset, group ); | 
|       } | 
|     } | 
|     LibOpt_ScopeSharedVector::ChangeKeySetVector( this, set, this.Type(), group_vector ); | 
|      | 
|     return this; | 
|   *] | 
| } |