private object ConvertFlatNodesToArray(Type desiredType, Node[] nodes, out bool conversionSucceeded)
{
Type arrayElemType = desiredType.GetElementType();
ArrayList validItems = ConvertFlatNodesToList(arrayElemType, nodes, out conversionSucceeded);
return conversionSucceeded ? validItems.ToArray(arrayElemType) : Array.CreateInstance(arrayElemType, 0);
}