class DefaultEffectedSubjects implements EffectedSubjects {

    public static DefaultEffectedSubjects of(final Collection<AuthorizationSubject> granted,
            final Collection<AuthorizationSubject> revoked) {

        return new DefaultEffectedSubjects(makeUnmodifiable(checkNotNull(granted, "granted")),
                makeUnmodifiable(checkNotNull(revoked, "revoked")));
    }

    private  DefaultEffectedSubjects(final Set<AuthorizationSubject> granted, final Set<AuthorizationSubject> revoked);

}