public virtual object Visit(ImportsStatement importsStatement, object data)
 {
     object ret = data;
     foreach (INode n in importsStatement.ImportClauses) {
         ret = n.AcceptVisitor(this, data);
     }
     return ret;
 }
	void ImportsStmt() {

#line  481 "VBNET.ATG" 
		ArrayList importClauses = new ArrayList();
		importedNamespaces = new ArrayList();
		object importClause;
		
		Expect(109);

#line  487 "VBNET.ATG" 
		Point startPos = t.Location;
		ImportsStatement importsStatement = new ImportsStatement(null);
		
		ImportClause(
#line  490 "VBNET.ATG" 
out importClause);

#line  490 "VBNET.ATG" 
		importClauses.Add(importClause); 
		while (la.kind == 12) {
			lexer.NextToken();
			ImportClause(
#line  492 "VBNET.ATG" 
out importClause);

#line  492 "VBNET.ATG" 
			importClauses.Add(importClause); 
		}
		EndOfStmt();

#line  496 "VBNET.ATG" 
		importsStatement.ImportClauses = importClauses;
		importsStatement.StartLocation = startPos;
		importsStatement.EndLocation   = t.Location;
		compilationUnit.AddChild(importsStatement);
		
	}
 public object Visit(ImportsStatement importsStatement, object data)
 {
     foreach (INode node in importsStatement.ImportClauses) {
         node.AcceptVisitor(this, data);
     }
     return null;
 }