The TS_UPDATE_BITMAP_DATA structure encapsulates the bitmap data that defines a Bitmap Update (section 2.2.9.1.1.3.1.2).
        /// <summary>
        /// Parse TS_UPDATE_BITMAP_DATA
        /// (parser index is updated according to parsed length)
        /// </summary>
        /// <param name="data">data to be parsed</param>
        /// <param name="currentIndex">current parser index</param>
        /// <returns>TS_UPDATE_BITMAP_DATA</returns>
        private TS_UPDATE_BITMAP_DATA ParseTsUpdateBitmapData(byte[] data, ref int currentIndex)
        {
            TS_UPDATE_BITMAP_DATA bitmapData = new TS_UPDATE_BITMAP_DATA();

            // TS_UPDATE_BITMAP: updateType
            bitmapData.updateType = ParseUInt16(data, ref currentIndex, false);

            // TS_UPDATE_BITMAP: numberRectangles
            bitmapData.numberRectangles = ParseUInt16(data, ref currentIndex, false);

            // TS_UPDATE_BITMAP: rectangles
            bitmapData.rectangles = new TS_BITMAP_DATA[bitmapData.numberRectangles];
            for (int i = 0; i < bitmapData.rectangles.Length; i++)
            {
                bitmapData.rectangles[i] = ParseTsBitmapData(data, ref currentIndex);
            }
            return bitmapData;
        }