anchor.diff:  begin
     FDefinition:= TmSummaryDefinition.Create;
     FDoubleValue:= TNullableDouble.Create();
  +  FDoubleValue2 := TNullableDouble.Create();
     FStringValue:= TNullableString.Create();
     FIntegerValue:= TNullableInteger.Create();
  +  FIntegerValue2 := TNullableInteger.Create();
     FUniqueValues:= TmStringDictionary.Create();
   end;
   
  
positive.code:   TmSummaryValue = class
    private
      FDoubleValue : TNullableDouble;
      FStringValue: TNullableString;
      FIntegerValue: TNullableInteger;
      FUniqueValues: TmStringDictionary;
  
      FDefinition : TmSummaryDefinition;
  
negative.code:     soCount:
        begin
          if not VarIsNull (aValue) then
            FIntegerValue2.Add(1);
        end;
      soAverage, soAverageNotNull:
        begin
          if (FDefinition.SummaryOperator = soAverage) or (not VarIsNull (aValue)) then
            FIntegerValue2.Add(1);
          ComputeSum;
        end;
      soCountDistinct:
        begin
  