@Override
    public Set<Permissible> get(Object key) {
        if (key == null || !(key instanceof String)) {
            return null;
        }

        String permission = (String) key;

        LPSubscriptionValueSet result = (LPSubscriptionValueSet) super.get(key);
        if (result == null) {
            // calculate a new map - always!
            result = new LPSubscriptionValueSet(permission);
            super.put(permission, result);
        }

        return result;
    }
A replacement map for the 'permSubs' instance in Nukkit's SimplePluginManager.

This instance allows LuckPerms to intercept calls to
{@link PluginManager#subscribeToPermission(String, Permissible)},
{@link PluginManager#unsubscribeFromPermission(String, Permissible)} and
{@link PluginManager#getPermissionSubscriptions(String)}.

Nukkit for some reason sometimes uses subscription status to determine whether
a permissible has a given node, instead of checking directly with
{@link Permissible#hasPermission(String)}.

In order to implement predicable Nukkit behaviour, LP has two options:
1) register subscriptions for all players as normal, or
2) inject it's own map instance to proxy calls to {@link PluginManager#getPermissionSubscriptions(String)} back to LuckPerms.

This class implements option 2 above. It is preferred because it is faster & uses less memory

Injected by {@link InjectorSubscriptionMap}.
nukkit/src/main/java/me/lucko/luckperms/nukkit/inject/server/LuckPermsSubscriptionMap.java