@Override
    public void refresh() {
        Map<String, TristateResult> childPermissions = new HashMap<>();
        this.sourceMap.forEach((key, node) -> {
            Map<String, Boolean> children = this.plugin.getPermissionMap().getChildPermissions(key, node.getValue());
            children.forEach((childKey, childValue) -> {
                childPermissions.put(childKey, RESULT_FACTORY.resultWithOverride(node, Tristate.of(childValue)));
            });
        });
        this.childPermissions = childPermissions;
        this.needsRefresh.set(false);
    }
Permission Processor for Nukkits "child" permission system.
nukkit/src/main/java/me/lucko/luckperms/nukkit/calculator/ChildProcessor.java