in src/main/java/org/apache/sling/jcr/repoinit/impl/AclUtil.java [561:581]
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;
}