// Try to put the structure in multiple lines // (works for List and Map) // For other values, defaults to structure() static S structureLines(O data) { if (data instanceof O[]) data = asList((O[]) data); if (data instanceof Collection) { new L l; for (O x : (Collection) data) l.add(structure(x)); ret fromLines(l); } if (data instanceof Map) { new L l; for (O key : ((Map) data).keySet()) { O value = ((Map) data).get(key); l.add(structure(key) + " = " + structure(value)); } ret fromLines(l); } ret structure(data); }