void decompress(IOBuffer in, IOBuffer out, int len) throws IOException {
init();
BBucket bb = in.peekFirst();
while (bb != null && len > 0) {
dStream.next_in = bb.array();
dStream.next_in_index = bb.position();
int rd = Math.min(bb.remaining(), len);
dStream.avail_in = rd;
while (true) {