public MultiChunkBuffer(BsonChunkPool chunkPool) { if (chunkPool == null) { throw new ArgumentNullException("chunkPool"); } _chunkPool = chunkPool; _chunks = new List<BsonChunk>(); _chunkSize = chunkPool.ChunkSize; _sliceOffset = 0; _capacity = 0; // EnsureSpaceAvailable will add capacity as needed _length = 0; _position = 0; }