Changed iterators for loops whose size and the index of its objects may change as the loop proceeds. It should now dynamically behave properly. Also added some "return null" statements if the room-lists are empty when trying to receive them.