private object ConvertComplexNodesToArray(Type desiredType, IndexedNode parent, out bool conversionSucceeded)
{
Type arrayElemType = desiredType.GetElementType();
ArrayList validItems = ConvertComplexNodesToList(arrayElemType, parent, out conversionSucceeded);
return conversionSucceeded ? validItems.ToArray(arrayElemType) : Array.CreateInstance(arrayElemType, 0);
}