public void run() {

      ArrayList<BlockData> data = queue.get(id);
      if (data != null) {
        int a = data.size() - 1;
        int rb = 0;
        while (a >= 0 && (rb < 100 || shutdown)) {
          SurvivalGames.debug("Reseting " + a);
          BlockData result = data.get(a);
          if (result.getGameId() == game.getID()) {

            data.remove(a);
            Location l =
                new Location(
                    Bukkit.getWorld(result.getWorld()),
                    result.getX(),
                    result.getY(),
                    result.getZ());
            Block b = l.getBlock();
            b.setTypeIdAndData(result.getPrevid(), result.getPrevdata(), false);
            b.getState().update();

            /*	if(result.getItems() != null){
            	Chest c = (Chest)b;
            	c.getBlockInventory().setContents(result.getItems());
            }
             */

            rb++;
          }
          a--;
        }

        if (a != -1) {
          Bukkit.getScheduler()
              .scheduleSyncDelayedTask(
                  GameManager.getInstance().getPlugin(), new Rollback(id, shutdown), 1);
        } else {
          SurvivalGames.$("Arena " + id + " reset. ");
          game.resetCallback();
        }
      } else {
        SurvivalGames.$(" Arena " + id + " reset. ");
        game.resetCallback();
      }
    }