private void setPermissionInternal(String name, boolean value) {
        if (!this.permissible.getPlugin().getConfiguration().get(ConfigKeys.APPLY_BUKKIT_ATTACHMENT_PERMISSIONS)) {
            return;
        }

        // construct a node for the permission being set
        NodeBuilder<?, ?> node = NodeBuilders.determineMostApplicable(name)
                .value(value)
                .withMetadata(TRANSIENT_SOURCE_KEY, this);

        // apply with the servers static context to *try* to ensure that the node will apply if INCLUDE_NODES_WITHOUT_SERVER_CONTEXT is not set
        QueryOptions globalQueryOptions = this.permissible.getPlugin().getConfiguration().get(ConfigKeys.GLOBAL_QUERY_OPTIONS);
        if (!globalQueryOptions.flag(Flag.INCLUDE_NODES_WITHOUT_SERVER_CONTEXT)) {
            node.withContext(this.permissible.getPlugin().getContextManager().getStaticContext());
        }

        // set the transient node
        User user = this.permissible.getUser();
        user.setNode(DataType.TRANSIENT, node.build(), true);
    }
Hooks this attachment with the parent {@link User} instance.
bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/permissible/LuckPermsPermissionAttachment.java