Currently, EncodedAsset takes encoding as an argument, which is a modifiable map.
However, it also overrides hashCode and operator ==.
This is a bug.
We need to either
- remove the
operator == (and fix the tests that rely on equals) or
- copy the map in the constructor