private static void Render(RenderConditionalAttribute source, CSharpRenderingContext context)
        {
            var valuePieceCount      = source.ValuePieces.Count(piece => piece is LiteralAttributePiece || piece is ConditionalAttributePiece);
            var prefixLocation       = source.DocumentLocation.AbsoluteIndex;
            var suffixLocation       = source.DocumentLocation.AbsoluteIndex + source.DocumentLocation.ContentLength - source.Suffix.Length;
            var renderingConventions = context.GetRenderingConventions();

            renderingConventions
            .StartBeginWriteAttributeMethod()
            .WriteStringLiteral(source.Name)
            .WriteParameterSeparator()
            .WriteStringLiteral(source.Prefix)
            .WriteParameterSeparator()
            .Write(prefixLocation.ToString(CultureInfo.InvariantCulture))
            .WriteParameterSeparator()
            .WriteStringLiteral(source.Suffix)
            .WriteParameterSeparator()
            .Write(suffixLocation.ToString(CultureInfo.InvariantCulture))
            .WriteParameterSeparator()
            .Write(valuePieceCount.ToString(CultureInfo.InvariantCulture))
            .WriteEndMethodInvocation();

            context.Render(source.ValuePieces);

            renderingConventions
            .StartEndWriteAttributeMethod()
            .WriteEndMethodInvocation();
        }
 private void Render(RenderConditionalAttribute source, CSharpRenderingContext context)
 {
     context.Render(source.ValuePieces);
 }