Работает неправильно, записывает только 1 часть, все остальные почему-то нет. Когда делаю присваение entry = zip.getNextEntry(), то entry != null, только первый раз entry не null, все остальные архивы не доходят, помогите найти ошибку, кому не сложно, пожалуйста. Для проверки создал три архива zip с именами - (Zip.zip.001, Zip.zip.002, Zip.zip.003) и создал конечный файл, куда все будет писаться(ОС линукс). Моя догадка: я думаю, что zip не успевает перепрыгнуть на следующий архив из SequenceInputStream, поэтому и энтри у него нет, если это так, то как тогда заставить начать читать данные из след. потока
package com.javarush.task.task31.task3106;

import java.io.*;
import java.util.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

public class Solution {
    public static void main(String[] args) throws IOException {
        List<InputStream> listStream = new Vector<>();
        List<String> listPath = new LinkedList<String>(Arrays.asList(args));
        listPath.remove(0);
        Collections.sort(listPath);
        for(String i : listPath) {
            listStream.add(new FileInputStream(i));
        }
        byte[] contentFile /*= new byte[maxSizeFile]*/;
        try(OutputStream is = new FileOutputStream(args[0]);
            ZipInputStream zip = new ZipInputStream(new SequenceInputStream(Collections.enumeration(listStream)))) {
            for(ZipEntry entry = zip.getNextEntry(); entry != null; ) {
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                contentFile = new byte[(int)entry.getSize()];
                int count;
                while((count = zip.read(contentFile)) != -1) {
                    baos.write(contentFile, 0, count);
                }
                is.write(baos.toByteArray());
                zip.closeEntry();
                entry = zip.getNextEntry();
            }
        }
    }
}
/*
Разархивируем файл
*/