@Override
    protected boolean perform(final CommandSender sender, final Command command, final String label, final List<String> args, final Region region) {
        String access = RegionExecutor.parse(args, 0, "<Access>", sender);
        if (access == null) return false;

        if (region.access.contains(access)) {
            Main.courier.send(sender, "grant-already", access, RegionExecutor.formatName(region), RegionExecutor.formatWorld(region));
            return true;
        }

        access = Bukkit.getOfflinePlayer(access).getName();
        region.access.add(access);
        this.catalog.repository.saveRegion(region, false);
        Main.courier.send(sender, "grant", access, RegionExecutor.formatName(region), RegionExecutor.formatWorld(region));

        final Player added = Bukkit.getServer().getPlayerExact(access);
        if (region.active && added != null)
            Main.courier.send(added, "grant-notify", sender.getName(), RegionExecutor.formatName(region), RegionExecutor.formatWorld(region));

        return true;
    }