code: func (sbself *splitBufferedWriter) RemoveUserBuffer() (amountReturned int, err error) {
  	if len(sbself.userBuffer) > sbself.userBufferCount {
  		if len(sbself.remainder.Bytes()) != 0 {
  			err = errors.New("remainder must be clear if userBuffer isn't full")
  			panic(err)
  		}
  	}
  	amountReturned = sbself.userBufferCount
  	sbself.userBuffer = nil
  	sbself.userBufferCount = 0
  	return
  
  }
docs: // removes the user buffer from the splitBufferedWriter
  // This makes sure that if the user buffer is only somewhat full, no data remains in the remainder
  // This preserves the remainder buffer, since that will be consumed later