That is how it is mean to be.
When you do ListB = ListA, it does not copy the whole list into ListB, but now ListB just references ListA. Only primitive types (like int etc) are copied by value.
In order to copy the list, you will have to do it manually, iterating over all the entries.