/** @inheritDoc */
  public FilterResult checkEligibility(Person person, FilterChain filterChain) throws Exception {

    if (!Collections.disjoint(person.getGroupMemberships(), eligibleGroupMemberships)) {
      return new FilterResult(true, "has membership in eligible group");
    } else {
      return filterChain.checkEligibility(person);
    }
  }