internal override void Accept(SqlFragmentVisitor visitor)
 {
     // Most Accept methods are postorder, this one is preorden due to semantics of ApplyUnionEmulatorVisitor.
     visitor.Visit(this);
     if (Argument != null)
     {
         Argument.Accept(visitor);
     }
     for (int i = 0; i < InList.Count; i++)
     {
         InList[i].Accept(visitor);
     }
     visitor.Visit(this);
 }
        internal override void Accept(SqlFragmentVisitor visitor)
        {
            if (From != null)
            {
                From.Accept(visitor);
            }
            if (Columns != null)
            {
                foreach (ColumnFragment cf in Columns)
                {
                    cf.Accept(visitor);
                }
            }
            if (Where != null)
            {
                Where.Accept(visitor);
            }
            if (Limit != null)
            {
                Limit.Accept(visitor);
            }
            if (Skip != null)
            {
                Skip.Accept(visitor);
            }
            if (GroupBy != null)
            {
                foreach (SqlFragment grp in GroupBy)
                {
                    grp.Accept(visitor);
                }
            }
            if (OrderBy != null)
            {
                foreach (SortFragment sort in OrderBy)
                {
                    sort.Accept(visitor);
                }
            }

            visitor.Visit(this);
        }
 internal override void Accept(SqlFragmentVisitor visitor)
 {
     Argument.Accept(visitor);
     visitor.Visit(this);
 }