Good question. At the time I did indeed have a "good" reason for doing it, but for the life of me I can't remember why. I started along the path of just throwing the values directly into the ArrayList within the Map, but stopped and went with indices for some reason. Let me rack my brain a bit to see if I can remember.

I should have put that in the damned comments. Fail.