private ArrayList ConvertFlatNodesToList(Type elemType, Node[] nodes, out bool conversionSucceeded)
{
conversionSucceeded = true;
ArrayList validItems = new ArrayList();
foreach(Node node in nodes)
{
if (node.Name != String.Empty)
{
throw new BindingException("Unexpected non-flat node found: {0}", node.Name);
}
if (node.NodeType == NodeType.Leaf)
{
LeafNode lnode = node as LeafNode;
validItems.Add(ConvertLeafNode(elemType, lnode, out conversionSucceeded));
if (!conversionSucceeded)
{
break;
}
}
}
return validItems;
}