private Optional firstMatching()

in src/main/java/com/googlesource/gerrit/plugins/ratelimiter/RateLimitFinder.java [58:70]


  private Optional<RateLimit> firstMatching(RateLimitType rateLimitType, IdentifiedUser user) {
    Map<AccountGroup.UUID, RateLimit> limitsPerGroupUUID =
        configuration.getRatelimits(rateLimitType);
    if (!limitsPerGroupUUID.isEmpty()) {
      GroupMembership memberShip = user.getEffectiveGroups();
      for (Entry<AccountGroup.UUID, RateLimit> limitPerGroupUUID : limitsPerGroupUUID.entrySet()) {
        if (memberShip.contains(limitPerGroupUUID.getKey())) {
          return Optional.ofNullable(limitPerGroupUUID.getValue());
        }
      }
    }
    return Optional.empty();
  }