public void merge(Map<String, Category> categoryMap) {
		for (MergerInfo mi : miList) {
			List<Player> mergedPlayers = new ArrayList<Player>();
			AggregationGroup group = mi.getGroup();
			String groupName = group.getKana();
			Category category = categoryMap.get(groupName);
			System.out.println(category);
			Map<String, List<Player>> map = category.getMap();

			for (String classification : mi.getList()) {
				List<Player> players = map.get(classification);
				if (players == null) {
					System.err.println(String.format("Error in [%s]", classification));
					System.err.println(mi);
				}
				mergedPlayers.addAll(players);
				map.remove(classification);
				for (Player player : players) {
					switch (group) {
					case TUL:
						player.setTul(mi.getNewName());
						break;
					case MASSOGI:
						player.setMassogi(mi.getNewName());
						break;
					default:
						throw new AssertionError();
					}
				}
			}
			map.put(mi.getNewName(), mergedPlayers);
		}
	}