// ReSharper restore UnusedAutoPropertyAccessor.Global
        // ReSharper restore UnusedMethodReturnValue.Global
        // ReSharper restore UnusedMember.Global
        // ReSharper restore MemberCanBeProtected.Global
        // ReSharper restore MemberCanBePrivate.Global

        #endregion Public

        #region Event handlers and overrides

        protected void Page_Load(object sender, EventArgs e)
        {
            PlaceHolder.Controls.Clear();
            if (!string.IsNullOrWhiteSpace(Title))
            {
                SubHeading.InnerHtml = Title;
            }
            if (string.IsNullOrWhiteSpace(Tooltip))
            {
                if (!string.IsNullOrWhiteSpace(Title))
                {
                    HelpButton.Title += " for " + Title;
                }
            }
            else
            {
                HelpButton.Title = Tooltip;
            }
            if (ContentTemplate == null)
            {
                HelpButton.Style.Add(HtmlTextWriterStyle.Display, "none");
            }
            else
            {
                _Container = new SubHeadingWithHelpContainer();
                ContentTemplate.InstantiateIn(_Container);
                PlaceHolder.Controls.Add(_Container);
                if (string.IsNullOrWhiteSpace(Transition))
                {
                    Transition = "blind";
                }
                var onClick =
                    $"$('#{FindControl("SubHeadingOuter").ClientID} div.help').toggle('{Transition}',400);";
                HelpButton.Attributes["onclick"] = onClick;
                if (!string.IsNullOrWhiteSpace(CssClass))
                {
                    HelpButton.AddCssClasses(CssClass);
                }
            }
        }