public Object visit(SqlStatementsCommand command) {
   List<SqlStatementInfo> list = new ArrayList<SqlStatementInfo>();
   for (MutableSqlStatementInfo info : sqlStatementMap.values()) {
     list.add(info.fix());
   }
   return list;
 }
    public Object visit(SqlStatementEndEvent event) {
      final MutableSqlStatementInfo sql = sqlStatementMap.remove(event.sqlStatementId);
      if (sql == null) {
        return missing(event);
      }
      foo(sql, event);
      foo(sql.stmt.aggSql, event);
      foo(server.aggSql, event);

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