@Command(command = "rank",
			arguments = {"target player[s]"},
			description = "tells you the rank of the target player[s]",
			permissions = {"rank"})
	public static boolean rank(CommandSender sender, String targetPlayer) throws EssentialsCommandException {
		// get a list of all target players
		ArrayList<Player> targetPlayers = PlayerSelector.selectPlayersExact(targetPlayer);
		
		// make sure we have at least one target player
		if(targetPlayers.size() == 0) {
			throw new EssentialsCommandException("I couldn't find / parse target player[s] '%s' to get the rank of!", targetPlayer);
		}
		
		// loop over all our targets
		for(Player target: targetPlayers) {
			ArrayList<String> groups = PermissionsManager.getGroups(target);
			if(groups != null) {
				String message = String.format("&6%s's ranks: &f", target.getName());
				for(int i = 0; i < groups.size(); i++) {
					if(i != 0) {
						message += ", ";
					}
					message += groups.get(i);
				}
				ColourHandler.sendMessage(sender, message);
			}
		}
		
		return true;
	}