private void InternalWrite(NetBufferStream stream)
        {
            _list.WriteDelimitedTo(stream);

            if (_data.Length > int.MaxValue)
            {
                throw new ArgumentOutOfRangeException("Message data is too large to send");
            }

            stream.Write(_data.GetBuffer(), 0, (int)_data.Length);

            Clear();
        }