private void AppendColumnsForFileDiffs(string semicolonDelimitedFilesWithDiff, bool isPr, Func <string[], string, string[]> reMapFiles, string fromRepo)
            {
                if (isPr)
                {
                    var filePaths       = semicolonDelimitedFilesWithDiff.Split(';');
                    var numFilesChanged = filePaths.Length == 1 && string.IsNullOrEmpty(filePaths[0]) ? 0 : filePaths.Length;
                    _sb.Append('\t').Append(numFilesChanged);
                    if (numFilesChanged != 0)
                    {
                        // for PRs in archived repos, how they could be re-mapped if they were transferred
                        filePaths = reMapFiles(filePaths, fromRepo);

                        var segmentedDiff = _diffHelper.SegmentDiff(filePaths);

                        _sb.Append('\t').Append(string.Join(' ', filePaths))
                        .Append('\t').Append(string.Join(' ', segmentedDiff.Filenames))
                        .Append('\t').Append(string.Join(' ', segmentedDiff.Extensions))
                        .Append('\t').Append(_diffHelper.FlattenWithWhitespace(segmentedDiff.FolderNames))
                        .Append('\t').Append(_diffHelper.FlattenWithWhitespace(segmentedDiff.Folders));
                    }
                    else
                    {
                        _sb.Append('\t', 5);
                    }
                }
                else
                {
                    _sb.Append('\t').Append(0)
                    .Append('\t', 5);
                }
            }