Current sonarcloud.
For code:
Try.of(() -> ...)
.getOrElseThrow((Function<Throwable, IOException>) IOException::new);
sonar report issue: Redundant casts should not be used (S1905)
But we have two declaration for getOrElseThrow:
In io.vavr.control.Try interface
default <X extends Throwable> T getOrElseThrow(Function<? super Throwable, X> exceptionProvider) throws X
and in io.vavr.Value interface
default <X extends Throwable> T getOrElseThrow(Supplier<X> supplier) throws X
Try extends Value
So casts in need in this case.