private static void _DeserializationHandler(out Array output, SerializedObjectNode serializedNode, Type baseType) { int length = serializedNode.GetChildCount(); Type elementType = baseType.GetElementType(); output = Array.CreateInstance(elementType, length); int i = 0; foreach (SerializedObjectNode serializedObjectNode in serializedNode.IterateChildren()) { object element; _InvokeDeserializerHandler(out element, serializedObjectNode, elementType); output.SetValue(element, i); i++; } }