rooms and another list of backup_rooms. They both get initialized at the same time, but when I need use backup room I find that is has changed (It is never used in code). My guess is, that a reference is created to an object rather than a copy of it. So how to force C# to copy?