Валидатор требует скопировать данные из input в output, остальные пункты проходят, не пойму что ему не нравится:
byte[] buffer = new byte[8 * 1024];
int len;
while ((len = zis.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}