public static void FormatAssignList(Assignment[] assignArray, SqlFragment parent, ScriptBuilder scriptBuilder, TSqlVisitor visitor)
        {
            int i = 0;
            foreach (Assignment assign in assignArray) {
                if (assign == null) {
                    continue;
                }

                AppendDelimiter(scriptBuilder, ref i);
                scriptBuilder.AppendFragment(assign, parent, visitor);
            }
        }
        public static void FormatColumnList(
            IEnumerable<Column> columns,
            SqlFragment parent,
            ScriptBuilder scriptBuilder, TSqlVisitor visitor)
        {
            int i = 0;
            foreach (Column column in columns) {
                if (column == null) {
                    continue;
                }

                AppendDelimiter(scriptBuilder, ref i);
                scriptBuilder.AppendFragment(column, parent, visitor);
            }
        }
        public static void FormatExpressionList(
            IEnumerable<Expression> expressions,
            SqlFragment parent,
            ScriptBuilder scriptBuilder,
            TSqlVisitor visitor,
            string appendOptional = null)
        {
            int i = 0;
            foreach (Expression expression in expressions) {
                if (expression == null) {
                    continue;
                }

                AppendDelimiter(scriptBuilder, ref i);
                scriptBuilder.AppendFragment(expression, parent, visitor);

                if (appendOptional != null) {
                    scriptBuilder.Append(appendOptional);
                }
            }
        }