anchor.diff:    for i:=0 to fCount-1 do
     for k:=i to fCount-1 do
     if Compare(fMaps[i], fMaps[k], fSortMethod) then
  -    SwapInt(Cardinal(fMaps[i]), Cardinal(fMaps[k]));
  +    SwapInt(Cardinal(fMaps[i]), Cardinal(fMaps[k])); //Exchange only pointers to MapInfo objects
   end;
   
   
  
positive.code: begin
    Inherited Create;
    fMultiplayerPath := aMultiplayerPath;
    fSortMethod := smByNameAsc;
  end;
  
  
  
negative.code:   //Return True if items should be exchanged
    function Compare(A, B: TKMapInfo; aMethod: TSortMethod): Boolean;
    begin
      Result := False; //By default everything remains in place
      case aMethod of
        smByNameAsc:      Result := CompareStr(A.Info.Title, B.Info.Title) < 0;
        smByNameDesc:     Result := CompareStr(A.Info.Title, B.Info.Title) > 0;
  