private static String recursiveToString(long r, String prefix, RecordManager recman) { prefix += " "; String s = ""; long[][] nn = recman.recordGet(r, HTreeMap.DIR_SERIALIZER); if (nn == null) { s += prefix + "null,\n"; } else { s += prefix + "Arrays.asList(\n"; for (long[] n : nn) { if (n == null) { s += prefix + " null,\n"; } else { s += prefix + " Arrays.asList(\n"; for (long r2 : n) { if (r2 == 0) { s += prefix + " " + "null,\n"; } else { if ((r2 & 1) == 0) { s += recursiveToString(r2 >>> 1, prefix + " ", recman); } else { s += prefix + " " + "Array.asList("; TreeMap m = new TreeMap(); HTreeMap.LinkedNode node = (HTreeMap.LinkedNode) recman.recordGet(r2 >>> 1, new HTreeMap(recman, true).LN_SERIALIZER); while (node != null) { m.put(node.key, node.value); node = (HTreeMap.LinkedNode) recman.recordGet(node.next, new HTreeMap(recman, true).LN_SERIALIZER); } for (Object k : m.keySet()) { s += k + "," + m.get(k) + ","; } // s=s.substring(0,s.length()-1); s += "),\n"; } } } s += prefix + " ),\n"; } } // s=s.substring(0,s.length()-2); s += prefix + "),\n"; } return s; }