code: func (pool *ByteBlockPool) Reset(zeroFillBuffers, reuseFirst bool) {
  	// TODO consolidate with IntBlockPool.Reset()
  	if pool.bufferUpto != -1 {
  		// We allocated at least one buffer
  		if zeroFillBuffers {
  			panic("not implemented yet")
  		}
  
  		if pool.bufferUpto > 0 || !reuseFirst {
  			offset := 0
  			if reuseFirst {
  				offset = 1
  			}
  			// Recycle all but the first buffer
  			pool.allocator.recycle(pool.Buffers[offset : 1+pool.bufferUpto])
  			for i := offset; i <= pool.bufferUpto; i++ {
  				pool.Buffers[i] = nil
  			}
  		}
  		if reuseFirst {
  			panic("not implemented yet")
  		} else {
  			pool.bufferUpto = -1
  			pool.ByteUpto = BYTE_BLOCK_SIZE
  			pool.ByteOffset = -BYTE_BLOCK_SIZE
  			pool.Buffer = nil
  		}
  	}
  }
docs: /* Expert: Resets the pool to its initial state reusing the first buffer. */