@Override
        public final void run() {
            Random random = new Random(42L);
            long localBytesWritten = 0L;
            long localRuns = 0;

            start = System.currentTimeMillis();
            long target = start + JsonMicroBenchmarkTestCase.RUNTIME;

            while (System.currentTimeMillis() < target) {
                for (int i = 0; i < 1000; ++i) {
                    localBytesWritten += iterate(random);
                }
                localRuns += 1000L;
            }
            end = System.currentTimeMillis();
            runs = localRuns;
            metric = localBytesWritten;
        }
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