Since getNoteMap() can return null, does it make sense to put a null NoteMap in the noteMaps? Or should we omit that entry?

If we are going to put it, maybe its better to have getNoteMap() return an empty NoteMap instead of null, so we don't need to worry about null pointer checks.