private void ReadList(ValueHandle value)
{
if (_listValue == null)
{
_listValue = new ValueHandle(this);
}
int count = 0;
int offset = this.Offset;
while (true)
{
XmlBinaryNodeType nodeType = GetNodeType();
SkipNodeType();
if (nodeType == XmlBinaryNodeType.StartListText)
XmlExceptionHelper.ThrowInvalidBinaryFormat(_reader);
if (nodeType == XmlBinaryNodeType.EndListText)
break;
ReadValue(nodeType, _listValue);
count++;
}
value.SetValue(ValueHandleType.List, offset, count);
}