anchor.diff:  // https://docs.microsoft.com/it-it/windows/desktop/FileIO/naming-a-file#basic_naming_conventions
   function SanitizeFileName(const aSrc: String) : String;
   function SanitizeSubstringForFileName(const aSubString : String): String;
  -function AddNumberToFileName (const aSrc: String; const aNumber : integer): String;
  +function AddNumberToFileName (const aSrc: String; const aNumber: integer): String;
  +function AddSuffixToFileName (const aSrc: String; const aSuffix: String) : String;
   
   function GetTimeStampForFileName(const aInstant : TDateTime; const aAddTime : boolean = true): string;
   function DecodeTimeStampForFileName(const aTimestamp: String) : TDateTime;
  
positive.code:   filename := ExtractFileName(aSrc);
    ext := ExtractFileExt(aSrc);
    filename := ChangeFileExt(filename, '');
    Result := IncludeTrailingPathDelimiter(dir) + filename + '(' + IntToStr(aNumber) + ')' + ext;
  end;
  
  procedure AddUTF8BOMToStream(aStream: TStream);
  
negative.code: end;
  
  function AddNumberToFileName(const aSrc: String; const aNumber: integer): String;
  begin
    Result := AddSuffixToFileName(aSrc, '(' + IntToStr(aNumber) + ')');
  end;
  
  function AddSuffixToFileName(const aSrc: String; const aSuffix: String): String;
  var
    dir, filename, ext: String;
  begin
  