Still has a null pointer on save, but it's extracting the correct information.  Going to redo the entire save process anyways with Infraction objects instead of just a bunch of data saved in the HashMaps.  Once the new objects are working, it'll be as simple as creating a new Infraction object from the data, and saving that.