No, I was mistaken; you are creating a new Map inside the loop. Sorry.
Your methods are unnecessarily long and there are some problems with what they return. The first method returns
null, and that is usually a dangerous mistake.
The method which returns the List does not do one thing. It does several. A method should do one thing. For example populating the List. Or returning it. But your method does both, so every time you call it you duplicate the information inside the List and the List gets bigger. Since the memory footprint of a few additional Map references is small, you won't get any out of memory problems. But you will get the duplication problem you describe.
You are also returning mutable objects from your methods. That is potentially dangerous, if any other code modifies those objects. Find out about the unmodifiableXXX methods of the
Collections class which can use to return the Lists and Maps in a read‑only form.