anchor.diff:  
   procedure TKMSavePointCollection.Lock;
   begin
  +  if Self = nil then Exit;
  +
     fCriticalSection.Enter;
   end;
   
   
   procedure TKMSavePointCollection.Unlock;
   begin
  +  if Self = nil then Exit;
  +
     fCriticalSection.Leave;
   end;
   
  
positive.code: 
  function TKMSavePointCollection.GetCount(): Integer;
  begin
    Lock;
    try
      Result := fSavePoints.Count;
  
negative.code: var
    S: TKMemoryStream;
  begin
    if Self = nil then Exit;
    if not FileExists(aFileName) then Exit;
  
    S := TKMemoryStreamBinary.Create;
  