anchor.diff:      property HorizontalValues: TKeyValuesForGroupByDefs read FHorizontalValues; // the collection of all key values for any vertical level
       property VerticalKeysIndex : TmKeysIndex read FVerticalKeysIndex;
       property HorizontalKeysIndex : TmKeysIndex read FHorizontalKeysIndex;
  +    property SuperGrandTotal : TmSummaryValues read FSuperGrandTotal;
     end;
   
     function TmGroupByOperationKindToString(const aValue: TmGroupByOperationKind) : String;
  
positive.code:     FValues : TmStringDictionary;
      FHorizontalGrandTotals : TmStringDictionary;
      FVerticalGrandTotals : TmStringDictionary;
  
      function GetIndexKeyValue(const aValue : Variant; out aActualValue : Variant; const aGroupByDef : TmGroupByDef): string;
      procedure DoSortIndex (aIndex : TmKeysIndex; const aGroupByDefs : TmGroupByDefs);
  
negative.code:       tmpIndex.AddValueIfMissing(tmpKeyValue, tmpActualValue);
  
        currentCoord := BuildKey(currentCoord, tmpKeyValue);
        if poHorizontalGrandTotal in FOptions then
          currentVertCoord:= currentCoord;
      end;
  
  