anchor.diff:    Profiler = public static class
     private
       var fLock: {$IFDEF ISLAND}Monitor{$ELSE}Object{$ENDIF} := new {$IFDEF ISLAND}Monitor{$ELSE}Object{$ENDIF};
  -    var fThreads: Dictionary<Integer, ThreadInfo> := new Dictionary<Int32,ThreadInfo>;
  +    var fThreads: Dictionary<String, ThreadInfo> := new Dictionary<String,ThreadInfo>;
       constructor;
       method GetDefaultFileName: String;
     protected
  
positive.code:   var lTID := {$IFDEF ISLAND}RemObjects.Elements.System.Thread.CurrentThreadID{$ELSE}Thread.CurrentThread.ThreadId{$ENDIF};
    var lTI: ThreadInfo;
    locking fLock do begin
      lTI := fThreads[Integer(lTID)];
      if lTI = nil then begin
        lTI := new ThreadInfo;
        fThreads.Add(Integer(lTID), lTI);
      end;
    end;
    var lLastE := lTI.Items[lTI.Items.Count -1];
  
negative.code:   var lTID := {$IFDEF ISLAND}RemObjects.Elements.System.Thread.CurrentThreadID{$ELSE}Thread.CurrentThread.ThreadId{$ENDIF};
    var lTI: ThreadInfo;
    locking fLock do begin
      lTI := fThreads[Integer(lTID).ToString];
      if lTI = nil then begin
        lTI := new ThreadInfo;
        fThreads.Add(Integer(lTID).ToString, lTI);
      end;
    end;
  
  