What you say is 100% percent correct. There is one additional option. If you don’t need an actually mutable list you can use the fact that the readonly list interface doesn’t require a consistent backing implementation. This is what the immutableCollections prototype does: