private Select VisitSelect(Select select)
{
if (select == null) return null;
Select result = (Select)select.Clone();
result.joinStatementList = new JoinStatementList();
for (int i = 0, n = select.joinStatementList.Length; i < n; i++)
result.joinStatementList.Add((JoinStatement)this.VisitJoinStatement(select.joinStatementList[i]));
return result;
}