@SuppressWarnings("unchecked")
private static void serializeObject(String name, Object child, Serializer serializer) {
if (child instanceof InnerNode) {
Serializer childSerializer = serializer.createInner(name);
serialize((InnerNode) child, childSerializer);
} else if (child instanceof Map) {
Serializer mapSerializer = serializer.createMap(name);
serializeMap((Map<String, Object>)child, mapSerializer);
} else if (child instanceof NodeVector) {
Serializer arraySerializer = serializer.createArray(name);
serializeArray((NodeVector) child, arraySerializer);
} else if (child instanceof LeafNode) {
((LeafNode) child).serialize(name, serializer);
}
}