public void archive(File archive, Source... sources) throws IOException {
ArchiveHandler archiveHandler = ArchiverHelper.getArchiveHandler(archive, posixLongFileMode);
try (ArchiveOutputStream aos = archiveHandler.getOutputStream()) {
if (!paths.containsKey(directoryName)) {
paths.put(directoryName, Boolean.FALSE);
ExtendedArchiveEntry directoryEntry = archiveHandler.createEntryFor(directoryName, new DirectoryEntry(directoryName), false);
addEntry(directoryName, directoryEntry, aos);
ExtendedArchiveEntry archiveEntry = archiveHandler.createEntryFor(entryName, entry, isExecutable);
addEntry(entryName, archiveEntry, aos);
} else {