public static void Parse(Stream tileStream)
        {
            using (var zStream = new GZipStream(tileStream, CompressionMode.Decompress))
            {
                using (var reader = new FastBinaryReader(zStream))
                {
                    // read header
                    var header = new QuantizedMeshHeader(reader);
                    var vertexData = new VertexData(reader);
                    var indexData = new IndexData16(reader);
                    var edgeIndexData = new EdgeIndices16(reader);

                    NormalExtensionData normalData;
                    while (reader.HasMore())
                    {
                        var extensionHeader = new ExtensionHeader(reader);

                        if (extensionHeader.extensionId == 1)
                        {
                            // oct-encoded per vertex normals
                            normalData = new NormalExtensionData(reader, vertexData.vertexCount);
                        }
                    }

                    int a = 10;
                }
            }
        }
        public static void Parse(Stream tileStream)
        {
            using (var zStream = new GZipStream(tileStream, CompressionMode.Decompress))
            {
                using (var reader = new FastBinaryReader(zStream))
                {
                    // read header
                    var header        = new QuantizedMeshHeader(reader);
                    var vertexData    = new VertexData(reader);
                    var indexData     = new IndexData16(reader);
                    var edgeIndexData = new EdgeIndices16(reader);

                    NormalExtensionData normalData;
                    while (reader.HasMore())
                    {
                        var extensionHeader = new ExtensionHeader(reader);

                        if (extensionHeader.extensionId == 1)
                        {
                            // oct-encoded per vertex normals
                            normalData = new NormalExtensionData(reader, vertexData.vertexCount);
                        }
                    }

                    int a = 10;
                }
            }
        }