public static Tristate call(CommandSender sender, String permission, Tristate def) {
        Objects.requireNonNull(sender, "sender");
        Objects.requireNonNull(permission, "permission");
        Objects.requireNonNull(def, "def");

        TristateCheckEvent event = new TristateCheckEvent(sender, permission, def);
        return ProxyServer.getInstance().getPluginManager().callEvent(event).getResult();
    }
Copy of the internal BungeeCord PermissionCheckEvent, returning a tristate instead of a boolean.
bungee/src/main/java/me/lucko/luckperms/bungee/event/TristateCheckEvent.java