private static String dumpNode(Node child) { if (child instanceof KeyValueNode) { KeyValueNode keyValueNode = (KeyValueNode) child; return dumpNode(keyValueNode.getKey()) + " : " + dumpNode(keyValueNode.getValue()); } else if (child instanceof ObjectNode) { return dump(child); } else if (child instanceof StringNode) { return "\"" + ((StringNode) child).getValue() + "\""; } else { return child.toString(); } }