/// <summary>
        /// Perform a layout of the elements.
        /// </summary>
        /// <param name="context">Layout context.</param>
        public override void Layout(ViewLayoutContext context)
        {
            // Let base class perform standard layout
            base.Layout(context);

            // Ask the context titles to layout again to take into account any
            // change in the positions and sizes of the actual tabs that it mimics
            Rectangle temp = context.DisplayRectangle;

            context.DisplayRectangle = _layoutContexts.ClientRectangle;
            _layoutContexts.Layout(context);
            context.DisplayRectangle = temp;

            // If using custom chrome but not using the composition (which does not need an extra draw)
            if (_captionArea.UsingCustomChrome && !_captionArea.KryptonForm.ApplyComposition)
            {
                _paintCount = _captionArea.KryptonForm.PaintCount;
                _invalidateTimer.Start();
            }
        }