public ArraySegment<byte> WriteBackingBytes(int count)
{
ThrowIfDisposed();
EnsureSpaceAvailable(count);
var chunkIndex = (_sliceOffset + _position) / _chunkSize;
var chunkOffset = (_sliceOffset + _position) % _chunkSize;
var chunkRemaining = _chunkSize - chunkOffset;
if (count <= chunkRemaining)
{
return new ArraySegment<byte>(_chunks[chunkIndex].Bytes, chunkOffset, count);
}
else
{
return new ArraySegment<byte>();
}
}