class ArchiveMerger {

    public Path createArchiveFromParts(List<FileEntry> archiveParts) {
        List<FileEntry> sortedArchiveParts = sort(archiveParts);
        String archiveName = getArchiveName(sortedArchiveParts.get(0));
        try (FilePartsMerger filePartsMerger = new FilePartsMerger(archiveName)) {
            mergeArchiveParts(sortedArchiveParts, filePartsMerger);
            return filePartsMerger.getMergedFilePath();
        }
    }

    public  ArchiveMerger(FileService fileService, StepLogger stepLogger, DelegateExecution execution);

}