class ImmutableAclEntry implements AclEntry {

    public static AclEntry of(final AuthorizationSubject authSubject, final Permission permission,
            final Permission... furtherPermissions) {
        checkNotNull(permission, "permission of this entry");
        checkNotNull(furtherPermissions, "further permissions of this entry");

        final Set<Permission> permissions = EnumSet.of(permission);
        Collections.addAll(permissions, furtherPermissions);

        return of(authSubject, permissions);
    }

    private  ImmutableAclEntry(final AuthorizationSubject theAuthSubject, final Set<Permission> thePermissions);

}