public object Visit(BlockStatement blockStatement, object data)
 {
     DebugOutput(blockStatement);
     blockStatement.AcceptChildren(this, data);
     return null;
 }
 public override object Visit(BlockStatement blockStatement, object data)
 {
     blockStatement.AcceptChildren(this, data);
     return null;
 }
 public virtual object Visit(BlockStatement blockStatement, object data)
 {
     if (blockStatement == null) {
         return null;
     }
     blockStack.Push(blockStatement);
     object ret = blockStatement.AcceptChildren(this, data);
     blockStack.Pop();
     return ret;
 }