anchor.diff:      procedure LoadFromFile(const aFileName: UnicodeString);
     end;
   
  +
   implementation
   uses
     SysUtils, Classes;
   
  -{ TKMSavedReplays }
  -constructor TKMSavePointCollection.Create();
  +  
  +{ TKMSavePointCollection }
  +constructor TKMSavePointCollection.Create;
   begin
     inherited;
   
     fSaveCS := TCriticalSection.Create;
     fWaitCS := TCriticalSection.Create;
  -  fSavePoints := TDictionary<Cardinal, TKMSavePoint>.Create();
  +  fSavePoints := TDictionary<Cardinal, TKMSavePoint>.Create;
     fLastTick := 0;
   end;
   
   
  -destructor TKMSavePointCollection.Destroy();
  +destructor TKMSavePointCollection.Destroy;
   begin
     {$IFDEF WDC}
     // Wait till all threads release waitLock
  
positive.code: 
    Lock;
    try
      if not fSavePoints.ContainsKey(aTick) then // Check if we don't have same tick save here too, since we work in multithread enviroment
        fSavePoints.Add(aTick, TKMSavePoint.Create(aStream, aTick));
    finally
      Unlock;
  
negative.code: end;
  
  
  function TKMSavePointCollection.GetCount: Integer;
  begin
    if Self = nil then Exit(0);
  
  