@Override
public Void visitForEachStatement(ForEachStatement node) {
Scope outerNameScope = nameScope;
LabelScope outerLabelScope = labelScope;
try {
nameScope = new EnclosedScope(nameScope);
labelScope = new LabelScope(outerLabelScope, false, false);
visitForEachStatementInScope(node);
} finally {
labelScope = outerLabelScope;
nameScope = outerNameScope;