else {
builder.append("[").append(sep);
for (Iterator<Map.Entry<Integer, Foo>> i = locationTable.entrySet().iterator();i.hasNext();) {
Map.Entry<Integer, Foo> entry = i.next();
Foo text = entry.getValue();
Location location = text.getPosition();
builder.append(entry.getKey()).append(':').
append("new ").append(Foo.class.getName()).append("(").
append("new ").append(Location.class.getName()).append("(").append(location.getCol()).append(',').append(location.getLine()).append("),").
append("'");
Tools.escape(text.getValue(), builder);
builder.append("')");
if (i.hasNext()) {
builder.append(",").append(sep);