MultiValue support is broken. Let's image, we put 4 values:
List, List, ArrayList, ArrayList
Then we have no idea, what structure will be at the end. Possible options:
- List
- List/ArrayList
- List/ArrayList
- List
- List
- List/ArrayList
- List
- List/ArrayList
Anyway, every option is broken if we want to later use values sorted by inheritance.
In effect, if we want to map many values (we want in DynamicInvoker!) then we have to use explicitly QuotientTreeMap<Class, List<?>>. Additionaly, we can't use standard computeIfPresent, because get uses find, not findExact!
MultiValue support is broken. Let's image, we put 4 values:
List, List, ArrayList, ArrayList
Then we have no idea, what structure will be at the end. Possible options:
```
- List
- List/ArrayList
- List/ArrayList
- List
```
```
- List
- List/ArrayList
- List
- List/ArrayList
```
Anyway, every option is broken if we want to later use values sorted by inheritance.
In effect, if we want to map many values (we want in DynamicInvoker!) then we have to use explicitly `QuotientTreeMap<Class, List<?>>`. Additionaly, we can't use standard `computeIfPresent`, because `get` uses `find`, not `findExact`!
MultiValue support is broken. Let's image, we put 4 values: List, List, ArrayList, ArrayList
Then we have no idea, what structure will be at the end. Possible options:
Anyway, every option is broken if we want to later use values sorted by inheritance.
In effect, if we want to map many values (we want in DynamicInvoker!) then we have to use explicitly
QuotientTreeMap<Class, List<?>>. Additionaly, we can't use standardcomputeIfPresent, becausegetusesfind, notfindExact!QuotientMap abstraction is broken in every way, and unusable in DynamicInvoker.