A TPKT packet Header.
        /// <summary>
        /// Parse TpktHeader
        /// (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>TpktHeader</returns>
        private TpktHeader ParseTpktHeader(byte[] data, ref int currentIndex)
        {
            TpktHeader header = new TpktHeader();

            // TpktHeader: version
            header.version = ParseByte(data, ref currentIndex);

            // TpktHeader: reserved
            header.reserved = ParseByte(data, ref currentIndex);

            // TpktHeader: length
            header.length = ParseUInt16(data, ref currentIndex, true);

            return header;
        }