anchor.diff:  
     TmGroupByDef = class
     strict private
  -    FFieldName : string;
  +    FFieldName: string;
       FDataType : TFieldType;
       FOperationKind : TmGroupByOperationKind;
       FFormula : String;
  
positive.code: 
  function TmPivoter.GetRecords(const aVerticalKeys, aHorizontalKeys: TStringList): TCardinalList;
  var
    tmp : String;
    i : integer;
  begin
    tmp := '';
    if Assigned(aVerticalKeys) then
    begin
      for i := 0 to aVerticalKeys.Count - 1 do
        tmp := tmp + aVerticalKeys.Strings[i] + KEY_SEPARATOR;
    end;
    if Assigned(aHorizontalKeys) then
    begin
      for i := 0 to aHorizontalKeys.Count - 1 do
        tmp := tmp + aHorizontalKeys.Strings[i] + KEY_SEPARATOR;
    end;
  
    Result := FRecordCoordinates.Find(tmp) as TCardinalList;
  end;
  
  { TRecordsCoordinates }
  
negative.code:     destructor Destroy; override;
  
      procedure CalculateHierarchy;
      function GetRecords (const aVerticalKeys, aHorizontalKeys : TStringList): TCardinalList; overload;
      function GetRecords (const aVerticalKeys, aHorizontalKeys : string): TCardinalList; overload;
  
      function BuildKey(const aOldKey, aNewKeyPartValue : String) : String;
  
      property DataProvider : IVDDataProvider read FDataProvider write FDataProvider;
      property VerticalGroupByDefs : TmGroupByDefs read FVerticalGroupByDefs;
  