generateMappingKeys() is returning an ArrayList<Character>. How does this work? I imagine I'm just missing something here. Been a long time Java old friend.