This is what solved the problem for me:
instead of writing
optional.map(this::mappingFunction).orElseThrow(() -> new BadRequestException("bla bla"));
I wrote:
optional.map(this::mappingFunction).<BadRequestException>orElseThrow(() -> new BadRequestException("bla bla"));
Adding the explicit <BadRequestException>
helps with these lambda edge cases (which are quite annoying…)
UPDATE: This is in case you can’t update to the latest JDK version, if you can you should…