The return value of "findFirst" must be used Sonarqube 9.8 Code Java Funtional Programmig

Good afternoon, I am currently executing the following java code and sonarqube is throwing me a bug related to the response that returns a filter and setting in a list through functional programming:

        else if(msgType.equals("RESPONSE")) {
            if (!findPostpaidAccountInfoRs.getFindPostpaidAccountInfo().getBody().getFindPostpaidAccountInfoResponse().getValueAddedServices().isEmpty()) {
       -> p.getAccount().equals(postpaidAcocunt)).peek(p -> p.getServices().add(Service.VALUE_ADDED_SERVICE.getValue())).findFirst();

Sonarqube warning that it is not giving me a bug:

What alternative can handle for my code? Try adding an orElseThrow and it says the same thing

I would advise against using .peek() at all. As the Javadoc states, this method is mainly intended for debugging purposes. In JDK 9 and later, the docs also caution that the peek method may not be executed in some situations:

In cases where the stream implementation is able to optimize away the production of some or all the elements (such as with short-circuiting operations like findFirst , or in the example described in count()), the action will not be invoked for those elements.

You can rewrite this operation without peek: -> p.getAccount().equals(postpaidAcocunt)).findFirst().ifPresent(p -> p.getServices().add(Service.VALUE_ADDED_SERVICE.getValue()));