Line 54 declares the field 'counters' to hold a Counters object and sets it to a newly created Counters object. This Counters object is what is returned by your 'getCounters' method. But, this is NOT the Counters object you added into your world. Line 299 declares a local 'counters' field to hold a Counters object and sets it to a newly created Counters object and line 300 adds this Counters object into the world. First, the local 'counters' field is not the same field as the world instance field named 'counters'; and, the Counters object is not the same as that held by the world instance Counters field. So, any changes in the value of the Counters object returned by 'getCounters', which is the Counters object that is not in the world, is not reflected by the Counters object that is in the world.
By removing line 299, the reference to 'counters' on line 300 will then refer to the world instance Counters field object.

