static Map<String, Object> generateObject(Random random, int nesting, int maxNesting) {
        int len = random.nextInt(5) + random.nextInt(5) + random.nextInt(5) + random.nextInt(5);
        Map<String, Object> m = new TreeMap<>();
        for (int i = 0; i < len; ++i) {
            m.put(generateFieldName(random), generateStuff(random, nesting, maxNesting));
        }
        return m;
    }
Object identity is used to differentiate between different implementation strategies, toString() is used to print a report.

@return an object with a descriptive toString() for the implementation under test
vespajlib/src/test/java/com/yahoo/text/JsonMicroBenchmarkTestCase.java