anchor.diff:        ReadWriteSync: Boolean = False): IList;
       function ToArrayList(Sync: Boolean = True;
         ReadWriteSync: Boolean = False): IArrayList;
  +    procedure Sort; overload;
  +    procedure Sort(CompareProc: TMapCompareMethod); overload;
  +    procedure SortByValue;
       procedure TrimExcess;
       property Count: Integer read GetCount;
       property Key[const AValue: Variant]: Variant read GetKey;
  
positive.code:   FReadWriteLock.EndWrite;
  end;
  
  function TAbstractMap.Join(const ItemGlue: string; const KeyValueGlue: string; 
    const LeftPad: string; const RightPad: string): string;
  var
    Buffer: TStringBuffer;
  
negative.code:     procedure Put(const ConstArray: array of const); overload;
      function Add(const AKey, AValue: Variant): Boolean;
      procedure Clear;
      function CompareKey(const Entry1, Entry2: TMapEntry): Integer;
      function CompareValue(const Entry1, Entry2: TMapEntry): Integer;
      function ContainsKey(const AKey: Variant): Boolean;
      function ContainsValue(const AValue: Variant): Boolean;
      function Delete(const AKey: Variant): Variant;
  