private void ReadVertexElements(XFileTokenReader tokenReader)
        {
            if (tokenReader.FileReader.GetNextToken() == XToken.Name)
            {
                tokenReader.ReadName();
            }

            tokenReader.ReadAssert(XToken.OpenedBrace);

            int nElements = tokenReader.ReadIntegerFromList();

            this.VertexElements.Capacity = nElements;

            for (int i = 0; i < nElements; i++)
            {
                var element = new XVertexElement
                {
                    DataType   = (XVertexElementDataType)tokenReader.ReadIntegerFromList(),
                    Method     = (XVertexElementMethod)tokenReader.ReadIntegerFromList(),
                    Usage      = (XVertexElementUsage)tokenReader.ReadIntegerFromList(),
                    UsageIndex = tokenReader.ReadIntegerFromList(),
                };

                this.VertexElements.Add(element);
            }

            int nDWords = tokenReader.ReadIntegerFromList();

            this.VertexElementsData = tokenReader.ReadUnsignedIntegerArrayFromList(nDWords);

            tokenReader.ReadSeparator();

            tokenReader.ReadAssert(XToken.ClosedBrace);
        }