public Object visit(StatementsCommand command) {
   List<StatementInfo> list = new ArrayList<StatementInfo>();
   for (MutableStatementInfo info : statementMap.values()) {
     list.add(info.fix());
   }
   return list;
 }
    public Object visit(StatementEndEvent event) {
      final MutableStatementInfo stmt = statementMap.remove(event.statementId);
      if (stmt == null) {
        return missing(event);
      }
      foo(stmt, event);
      foo(stmt.conn.aggStmt, event);
      foo(server.aggStmt, event);

      // Since the statement info will no longer be in the table,
      // broadcast the final info to anyone who is interested.
      RolapUtil.MONITOR_LOGGER.debug(stmt.fix());
      return null;
    }