public static void TraceNode(this ConditionalExpression conditionalExpression, StringBuilder sb, int level = 0)
        {
            if (sb == null || conditionalExpression == null)
            {
                return;
            }
            conditionalExpression.TraceBaseInfo(sb, level);
            var levelSpace = new string(' ', level *NumberOfSpaces);

            level++;
            sb.Append($"|{levelSpace}|{Nl}");
            sb.Append($"|{levelSpace}|- IfTrue:{Nl}");
            conditionalExpression.IfTrue.TraceNode(sb, level);

            sb.Append($"|{levelSpace}|{Nl}");
            sb.Append($"|{levelSpace}|- IfFalse:{Nl}");
            conditionalExpression.IfFalse.TraceNode(sb, level);
        }