code: func (it *Iterator) BufValue(b []byte) []byte {
  	v := it.RawValue()
  	if v == nil {
  		return nil
  	}
  
  	if b == nil {
  		b = []byte{}
  	}
  
  	b = b[0:0]
  	return append(b, v...)
  }
docs: // Copy value to b, if b len is small or nil, returns a new one.