Index: src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java
===================================================================
--- src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java	(Revision 1447588)
+++ src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStreamTest.java	(Arbeitskopie)
@@ -19,15 +19,21 @@
 package org.apache.commons.compress.archivers.zip;
 
 import static org.apache.commons.compress.AbstractTestCase.getFile;
+import static org.apache.commons.compress.AbstractTestCase.mkdir;
+import static org.apache.commons.compress.AbstractTestCase.rmdir;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import java.io.BufferedInputStream;
+import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.InputStream;
+import java.io.OutputStream;
 
 import org.junit.Test;
+import org.apache.commons.compress.utils.IOUtils;
 
 public class ZipArchiveInputStreamTest {
 
@@ -93,4 +99,36 @@
         assertArrayEquals(expected, actual);
         zip.close();
     }
+
+    /**
+     * @see "https://issues.apache.org/jira/browse/COMPRESS-219"
+     */
+    @Test
+    public void shouldReadNestedZip() throws Exception {
+        File outDir = mkdir("dir");
+        ZipArchiveInputStream in = null;
+        FileOutputStream out = null;
+        try {
+            in = new ZipArchiveInputStream(new FileInputStream(getFile("COMPRESS-219.zip")));
+            ZipArchiveEntry zae = in.getNextZipEntry();
+            while (zae != null) {
+                if (zae.getName().endsWith(".zip")) {
+                    File outFile = new File(outDir.getCanonicalPath()
+                                            + zae.getName());
+                    outFile.getParentFile().mkdirs();
+                    out = new FileOutputStream(outFile);
+                    IOUtils.copy(in, out);
+                }
+                zae = in.getNextZipEntry();
+            }
+        } finally {
+            if (in != null) {
+                in.close();
+            }
+            if (out != null) {
+                out.close();
+            }
+            rmdir(outDir);
+        }
+    }
 }
