Доброго времени суток. Не проходит последний пункт. Моя реализация метода createZip :
public void createZip(Path source) throws Exception {
        Path zipDirectory = zipFile.getParent();
        if (!Files.exists(zipDirectory))
            Files.createDirectories(zipDirectory);

        try (ZipOutputStream zipOutputStream = new ZipOutputStream(Files.newOutputStream(zipFile))) {

            if (Files.isRegularFile(source)) {
                addNewZipEntry(zipOutputStream, source.getParent(), source.getFileName());
            }
            else if (Files.isDirectory(source)) {
                FileManager fileManager = new FileManager(source);
                List<Path> fileNames = fileManager.getFileList();
                for (Path entry : fileNames) {
                    addNewZipEntry(zipOutputStream, source, entry);
                }
            } else throw new PathIsNotFoundException();

        }
    }