func (w *Writer) RangeStart(cb func([]*DataRef) error) {
	// Finish prior range.
	if w.dataRefs != nil {
		w.rangeFinish()
	}
	// Start new range.
	w.cbs = append(w.cbs, cb)
	w.dataRefs = []*DataRef{&DataRef{OffsetBytes: int64(w.buf.Len())}}
	w.rangeSize = 0
	w.rangeCount++
}
func (w *Writer) RangeStart(cb func([]*DataRef) error) {
	// Finish prior range.
	if w.dataRefs != nil {
		w.rangeFinish()
	}
	// Start new range.
	w.cbs = append(w.cbs, cb)
	w.dataRefs = []*DataRef{&DataRef{OffsetBytes: int64(w.buf.Len())}}
	w.rangeSize = 0
	w.rangeCount++
}
// RangeStart specifies the start of a range within the byte stream that is meaningful to the caller.
// When this range has ended (by calling RangeStart again or Close) and all of the necessary chunks are written, the
// callback given during initialization will be called with DataRefs that can be used for accessing that range.