I give you this:
Map<String, Map<String, Map<String, Record>>> records = new Map<>();
It’s valid Java of course, but you can tell the programmer who wrote the above line (with some types changed) really was intending on writing some Perl.
If you have maps of maps with strings as keys, you may want to consider writing the missing classes in between the front and back. The context-free nature of maps with strings makes it hard for the next person to figure out what the keys really represent. For maps the keys usually make a difference, if they didn’t you ought to have used a set. But that begs the question “what does the string really mean?”
Don’t do it.