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;
}