Modifying a nested collection throws, whatever collection holds it

All 9 scenarios hold

Immutability reaches every level of a row's value, so a collection reached through another collection rejects modification too.

expected outcome broken scenario
ScenarioInput valueNested collection?Nested collection type?Modification throws?
A list in a list
    • a
    • b
  • a
  • b
java.util.Listjava.lang.UnsupportedOperationException
A set in a list
    • a
    • b
  • a
  • b
java.util.Setjava.lang.UnsupportedOperationException
A map in a list
  • k
    a
k
a
java.util.Mapjava.lang.UnsupportedOperationException
A list in a set
    • a
    • b
  • a
  • b
java.util.Listjava.lang.UnsupportedOperationException
A set in a set
    • a
    • b
  • a
  • b
java.util.Setjava.lang.UnsupportedOperationException
A map in a set
  • k
    a
k
a
java.util.Mapjava.lang.UnsupportedOperationException
A list in a map
outer
  • a
  • b
  • a
  • b
java.util.Listjava.lang.UnsupportedOperationException
A set in a map
outer
  • a
  • b
  • a
  • b
java.util.Setjava.lang.UnsupportedOperationException
A map in a map
outer
k
a
k
a
java.util.Mapjava.lang.UnsupportedOperationException