func (s *sessionFileSystem) createFileSummaryFromDTO(dto *dtos.FileSummary) (*filepath_summary.FileSummary, error) {
	checksum, err := checksums.NewChecksumResultFromHex(dto.ChecksumHex)
	if err != nil {
		return nil, err
	}

	return filepath_summary.NewFileSummary(dto.RelativePath, dto.ModTime, checksum), nil
}
func getFileSummaryForFile(checksumSvc checksums.Service, filePath string) (*filepath_summary.FileSummary, error) {
	fileInfo, err := os.Stat(filePath)
	if err != nil {
		return nil, err
	}
	checksumResult, err := checksumSvc.FileChecksum(filePath)
	if err != nil {
		return nil, err
	}
	return filepath_summary.NewFileSummary(filePath, fileInfo.ModTime(), checksumResult), nil
}