/// <summary>
        /// Renders the control start marker.
        ///
        /// </summary>
        /// <param name="controlId">The control id.</param><param name="data">The data.</param><param name="selectable">Defines wheter element is selectable in</param>
        /// <returns>
        /// HTML that precedes the control in page editing mode.
        ///
        /// </returns>
        public static string GetControlStartMarker(string controlId, ChromeData data, bool selectable)
        {
            Assert.ArgumentNotNull((object)controlId, "controlId");
            Assert.ArgumentNotNull((object)data, "data");
            StringBuilder stringBuilder = new StringBuilder();
            string        str1          = Placeholder72.SanitizeAttribute(data.DisplayName);
            string        str2          = data.ToJson();

            stringBuilder.Append(StringExtensions.FormatWith("<code type='text/sitecore' chromeType='rendering' kind='open' hintName='{0}' id='r_{1}' class='scpm' data-selectable='{2}'>", (object)str1, (object)controlId, (object)MainUtil.BoolToString(selectable)));
            stringBuilder.Append(str2);
            stringBuilder.Append("</code>");
            return(((object)stringBuilder).ToString());
        }
        /// <summary>
        /// Gets the end market.
        ///
        /// </summary>
        /// <param name="data">The data.</param>
        /// <returns>
        /// The end marker.
        /// </returns>
        public static string GetEndMarker(ChromeData data)
        {
            string str = string.Empty;

            if (data != null)
            {
                str = Placeholder72.SanitizeAttribute(data.DisplayName);
            }
            return(StringExtensions.FormatWith("<code type='text/sitecore' chromeType='placeholder' kind='close' hintName='{0}' class='scpm'></code>", new object[1]
            {
                (object)str
            }));
        }