private JoinStatement VisitJoinStatement(JoinStatement joinstmt)
{
if (joinstmt == null) return null;
for (int i = 0, n = joinstmt.joinPatternList.Length; i < n; i++)
joinstmt.joinPatternList[i] = (JoinPattern)this.Visit(joinstmt.joinPatternList[i]);
joinstmt.statement = (Statement)this.Visit(joinstmt.statement);
joinstmt.attributes = this.VisitAttributeList(joinstmt.attributes);
return joinstmt;
}