diff --git a/src/main/java/sh/libre/scim/core/GroupScimService.java b/src/main/java/sh/libre/scim/core/GroupScimService.java index 4245b247c5cc9779b0eb49c72b9173c37e2ed8c0..e5b23155523e64d0aa27caba48b4c895b25630dc 100644 --- a/src/main/java/sh/libre/scim/core/GroupScimService.java +++ b/src/main/java/sh/libre/scim/core/GroupScimService.java @@ -41,10 +41,14 @@ public class GroupScimService extends AbstractScimService<GroupModel, Group> { Set<String> names = new TreeSet<>(); resource.getId().ifPresent(names::add); resource.getDisplayName().ifPresent(names::add); - Optional<GroupModel> group = getKeycloakDao().getGroupsStream() - .filter(groupModel -> names.contains(groupModel.getName())) - .findFirst(); - return group.map(GroupModel::getId).map(KeycloakId::new); + try (Stream<GroupModel> groupsStream = getKeycloakDao().getGroupsStream()) { + Optional<GroupModel> group = groupsStream + .filter(groupModel -> names.contains(groupModel.getName())) + .findFirst(); + return group + .map(GroupModel::getId) + .map(KeycloakId::new); + } } @Override