public static void WriteVertexBuffer(TWXmlNode node, VertexBuffer vertexBuffer)
        {
            if (vertexBuffer == null)
            {
                node.Value = "NULL"; return;
            }
            byte[] data = new byte[vertexBuffer.SizeInBytes];
            vertexBuffer.GetData <byte>(data);

            if (data.Length != vertexBuffer.SizeInBytes)
            {
                throw new Exception("While writing this method, i assumed those were equal");
            }

            node.AddChildNode("BufferUsage", vertexBuffer.BufferUsage.ToString());
            TWXmlNode dataNode = node.CreateChildNode("Data");

            dataNode.AddAttribute("length", data.Length.ToString());

            //TODO: this data should be contained in a 'CData' block
            dataNode.AddCData(Convert.ToBase64String(data));
        }