Здесь нет терминальной операции, поэтому этот поток не будет выполнен; таким образом «неиспользованная» ошибка сонара.
У вас также есть побочные эффекты в: id -> groupDTO.getTeamMembers().add(userMap.get(id)
Есть лучшие способы решить эту проблему:
List<String> teamMembers = group.getTeamMemberIds() // I assume String here...
.stream()
.map(userMap::get)
.filter(Objects::notNull)
.collect(Collectors.toList());
groupDTO.getTeamMembers().addAll(teamMembers);
Вы почти никогда не нуждаетесь в containsKey
, за которым следует get
- вы можете избежать двух поисков хеша, выполнив get
и посмотреть, не является ли результат null