public void reset(boolean zeroFillBuffers, boolean reuseFirst) {if (bufferUpto != -1) {if (zeroFillBuffers) {for(int i=0;i<bufferUpto;i++) {Arrays.fill(buffers[i], (byte) 0);}Arrays.fill(buffers[bufferUpto], 0, byteUpto, (byte) 0);}if (bufferUpto > 0 || !reuseFirst) {final int offset = reuseFirst ? 1 : 0;allocator.recycleByteBlocks(buffers, offset, 1+bufferUpto);Arrays.fill(buffers, offset, 1+bufferUpto, null);}if (reuseFirst) {bufferUpto = 0;byteUpto = 0;byteOffset = 0;buffer = buffers[0];} else {bufferUpto = -1;byteUpto = BYTE_BLOCK_SIZE;byteOffset = -BYTE_BLOCK_SIZE;buffer = null;}}}

public void Reset(bool zeroFillBuffers, bool reuseFirst){if (bufferUpto != -1){if (zeroFillBuffers){for (int i = 0; i < bufferUpto; i++){Arrays.Fill(buffers[i], (byte)0);}Arrays.Fill(buffers[bufferUpto], 0, ByteUpto, (byte)0);}if (bufferUpto > 0 || !reuseFirst){int offset = reuseFirst ? 1 : 0;allocator.RecycleByteBlocks(buffers, offset, 1 + bufferUpto);Arrays.Fill(buffers, offset, 1 + bufferUpto, null);}if (reuseFirst){bufferUpto = 0;ByteUpto = 0;ByteOffset = 0;buffer = buffers[0];}else{bufferUpto = -1;ByteUpto = BYTE_BLOCK_SIZE;ByteOffset = -BYTE_BLOCK_SIZE;buffer = null;}}}
