Use Java 11 features when it makes the code better
This change tests to use immutable List.of()/Set.of()/Map.of() whenever it's possible, so the contract is more clear,
There are other small changes that are just me reading the code and finding things like useless catch, code can be simplified, etc