public boolean isAllowed(final Player player, final Location target) {
        if (player.hasPermission("simpleregions.override.protection")) return true;

        boolean found = false;

        // check loaded regions, return true if any region allows access
        for (final Region region : this.cached(target.getWorld(), target.getBlockX() >> 4, target.getBlockZ() >> 4))
            if (region.contains(target)) {
                if (region.hasAccess(player)) return true;
                found = true;
            }

        // if at least one loaded region was found, that indicates all applicable regions would have been found in loaded
        if (found) return false;

        // check world default region only if no other regions apply
        final Region worldDefault = this.indices.get(target.getWorld().getName()).worldDefault;
        if (worldDefault != null && worldDefault.active)
            return this.indices.get(target.getWorld()).worldDefault.hasAccess(player);

        // check server default region only if no other regions apply and there is no world default region
        if (this.serverDefault != null && this.serverDefault.active)
            return this.serverDefault.hasAccess(player);

        return false;
    }