public static Foo FindNodeRecursive(Foo item, int id)
{
if (item != null)
{
if (item.id == id)
{
return item;
}
if (item.children == null)
{
return null;
}
foreach (Foo foo in item.children)
{
Foo foo2 = FindNodeRecursive(foo, id);
if (foo2 != null)
{
return foo2;
}
}
}
return null;
}