private static boolean removePrincipalEntries()

in src/main/java/org/apache/sling/jcr/repoinit/impl/AclUtil.java [463:479]


    private static boolean removePrincipalEntries(@Nullable PrincipalAccessControlList acl, @NotNull String principalName, @NotNull Predicate<PrincipalAccessControlList.Entry> predicate) throws RepositoryException {
        boolean modified = false;
        if (acl == null) {
            LOG.info("Cannot remove entries. No principal-based ACL for {}", principalName);
        } else {
            for (AccessControlEntry ace : acl.getAccessControlEntries()) {
                if (ace instanceof PrincipalAccessControlList.Entry) {
                    PrincipalAccessControlList.Entry entry = (PrincipalAccessControlList.Entry) ace;
                    if (predicate.test(entry)) {
                        acl.removeAccessControlEntry(ace);
                        modified = true;
                    }
                }
            }
        }
        return modified;
    }