anchor.diff:  
   class method RemObjectsProfiler.WriteData;
   begin
  -  fFW.WriteLine('create table methods (id integer primary key, thread integer, count integer, name text, totalticks integer, selfticks integer);');
  -  fFW.WriteLine('create table subcalls (fromid integer, toid integer, level integer, count integer, totalticks integer, selfticks integer);');
  +  fFW.WriteLine('create table methods (id integer primary key, thread integer, count integer, name text, totalticks integer, selfticks integer, mintotal integer, maxtotal integer, minself integer, maxself integer);');
  +  fFW.WriteLine('create table subcalls (fromid integer, toid integer, level integer, count integer, totalticks integer, selfticks integer, mintotal integer, maxtotal integer, minself integer, maxself integer);');
     for each el in fThreads do begin 
       var lThread := el.Key;
       for each m in el.Value.Methods.Values  do begin 
  -      fFW.WriteLine('insert into methods values ({0}, {1}, {2}, ''{3}'', {4}, {5});', m.PK, lThread, m.Count, m.Name, m.TotalTicks, m.SelfTicks);
  +      fFW.WriteLine('insert into methods values ({0}, {1}, {2}, ''{3}'', {4}, {5}, {6},{7},{8},{9});', m.PK, lThread, m.Count, m.Name, m.TotalTicks, m.SelfTicks, m.MinTotalTicks, m.MaxTotalTicks, m.MinSelfTicks, m.MaxSelfTicks);
         for each n in m.SubCalls do begin 
  -        fFW.WriteLine('insert into subcalls values ({0}, {1}, {2}, {3}, {4}, {5});', m.PK, n.Value.Method.PK, n.Key.Int, n.Value.Count, n.Value.TotalTicks, n.Value.SelfTicks);
  +        fFW.WriteLine('insert into subcalls values ({0}, {1}, {2}, {3}, {4}, {5}, {6},{7},{8},{9});', m.PK, n.Value.Method.PK, n.Key.Int, n.Value.Count, n.Value.TotalTicks, n.Value.SelfTicks, n.Value.MinTotalTicks, n.Value.MaxTotalTicks, n.Value.MinSelfTicks, n.Value.MaxSelfTicks);
         end;
       end;
  -    // METHOD: Byte(0) Int32(PK) Int32(Thread) Int64(Count) String(Name) Int64(TotalTicks) Int64(SelfTicks)
  -    // SUBCALL Byte(1) Int32(From) Int32(Level) Int32(ToPK) Int64(Count) Int64(TotalTicks) Int64(SelfTicks)
     end;
     fFW.Close;
  -  writeLn('Written profile data!');
  +  writeLn('Written profile data to '+fFN);
   end;
   
   constructor SITuple(aKey: String; aInt: Integer);
  
positive.code:   private
      class constructor ;
      class var fFW: StreamWriter;
      var fThreads: Dictionary<Integer, ThreadInfo> := new Dictionary<Int32,ThreadInfo>;
  
      class method WriteData;
  
negative.code:     property Name: String;
      property TotalTicks: Int64;
      property SelfTicks: Int64;
      property MinTotalTicks: Int64 := Int64.MaxValue;
      property MinSelfTicks: Int64 := Int64.MaxValue;
      property MaxTotalTicks: Int64;
      property MaxSelfTicks: Int64;
      property SubCalls: Dictionary<SITuple, SubCall> := new Dictionary<SITuple,SubCall>;
    end;
    SubCall=  class
  