public String getMonarch(String playerName) {
		String monarchName = playerName;

		String tMonarch = null;

		HashMap<String, Boolean> vassal = new HashMap<String, Boolean>();
		vassal.put(playerName, true);

		while (true) {
			tMonarch = plugin.getPatron(monarchName);
			if (tMonarch != null) {

				if (vassal.containsKey(tMonarch)) {
					// We've in a loop, there's no real monarch.
					// plugin.info("getPlayersMonarch loop");
					monarchName = null;
					break;
				}

				// plugin.info("getPlayersMonarch " + monarchName +
				// "'s patron is " + tMonarch + ".");
				monarchName = tMonarch;

				vassal.put(tMonarch, true);
			} else {
				break;
			}
		}

		return monarchName;
	}