/// <summary>
        /// Process an MPEG2 section from the MediaHighway title table.
        /// </summary>
        /// <param name="byteData">The MPEG2 section.</param>
        /// <returns>A MediaHighway2TitleSection instance.</returns>
        public static MediaHighway2TitleSection ProcessMediaHighwayTitleTable(byte[] byteData)
        {
            Mpeg2BasicHeader mpeg2Header = new Mpeg2BasicHeader();

            try
            {
                mpeg2Header.Process(byteData);

                MediaHighway2TitleSection titleSection = new MediaHighway2TitleSection();
                bool process = titleSection.Process(byteData, mpeg2Header.Index);
                if (process)
                {
                    titleSection.LogMessage();
                    return (titleSection);
                }
                else
                    return (null);
            }
            catch (ArgumentOutOfRangeException e)
            {
                Logger.Instance.Write("<e> Title section parsing failed: " + e.Message);
                return (null);
            }
        }