anchor.diff:    Self.Clear();
   
     {$IFNDEF DISABLETHREADS}
  -  If Not _SharedMutex Then
  -    ReleaseObject(_Mutex);
  +  ReleaseObject(_Mutex);
     {$ENDIF}
   End;
   
   Procedure Collection.Lock();
   Begin
     {$IFNDEF DISABLETHREADS}
  +  If Assigned(_Share) Then
  +  Begin
  +    _Share.Lock();
  +  End Else
     If Assigned(_Mutex) Then
     Begin
       _Mutex.Lock();
  
positive.code:       _Options:Cardinal;
  
        _SortOrder:CollectionSortOrder;
  
        {$IFNDEF DISABLETHREADS}
        _SharedMutex:Boolean;
        _Mutex:CriticalSection;
        {$ENDIF}
  
  
negative.code: Procedure Collection.Unlock();
  Begin
    {$IFNDEF DISABLETHREADS}
    If Assigned(_Share) Then
    Begin
      _Share.Unlock();
    End Else
    If Assigned(_Mutex) Then
      _Mutex.Unlock();
    {$ENDIF}
  