/// <summary>
        /// Saves writer content to this stream.
        /// </summary>
        /// <param name="stream">The stream to save to.</param>
        /// <returns>The bytes written.</returns>
        public long ToStream(Stream stream)
        {
            long size = 0;

            ManagedBinaryMemoryWriterSegment segment = this.segment;

            while (segment != null)
            {
                size += segment.ToStream(stream);

                segment = segment.Next;
            }

            return(size);
        }