decompressor.setInput(input, 0, input.length);
bos = new ByteArrayOutputStream(input.length);
byte[] buf = new byte[CHUNKSIZE];
try {
while (!decompressor.finished() && !subMonitor.isCanceled()) {
int count = decompressor.inflate(buf);
bos.write(buf, 0, count);
subMonitor.worked(1);
}
return bos.toByteArray();