ImmutableACL extends AbstractAccessControlList { @Override public boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map<String, Value> restrictions) throws AccessControlException { throw new AccessControlException("Immutable ACL. Use AccessControlManager#getPolicy or #getApplicablePolicies in order to obtain an modifiable ACL."); } ImmutableACL(@Nullable String oakPath,
                        @NotNull List<? extends JackrabbitAccessControlEntry> entries,
                        @NotNull RestrictionProvider restrictionProvider,
                        @NotNull NamePathMapper namePathMapper);  ImmutableACL(@NotNull AbstractAccessControlList accessControlList); @Override void removeAccessControlEntry(AccessControlEntry ace); @Override boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges,
                            boolean isAllow, @Nullable Map<String, Value> restrictions); @Override boolean addEntry(@NotNull Principal principal, @NotNull Privilege[] privileges, boolean isAllow, @Nullable Map<String, Value> restrictions, @Nullable Map<String, Value[]> mvRestrictions); @Override void orderBefore(@NotNull AccessControlEntry srcEntry, @Nullable AccessControlEntry destEntry); @NotNull @Override List<JackrabbitAccessControlEntry> getEntries(); @NotNull @Override RestrictionProvider getRestrictionProvider(); @Override int hashCode(); @Override boolean equals(Object obj);  }
@Override @Test(expected = AccessControlException.class) public void testAddEntry() throws Exception { createEmptyACL().addEntry(testPrincipal, new Privilege[0], true); }
@Override @Test(expected = AccessControlException.class) public void testAddEntryWithRestrictions() throws Exception { createEmptyACL().addEntry(testPrincipal, new Privilege[0], true, Collections.emptyMap()); }