public static class Foo { private final String key1; private final String key2; public Foo(String key1, String key2) { this.key1 = key1; this.key2 = key2; } public String getKey1() { return this.key1; } public String getKey2() { return this.key2; } @Override public String toString() { return "{key1=" + this.key1 + ", key2=" + this.key2 + "}"; } } private static final Map<String, Map<String, Foo>>