public MemoryElement GetNextNode()
{
if (this.expanded && (this.children.Count > 0))
{
return this.children[0];
}
int num = this.GetChildIndexInList() + 1;
if (num < this.parent.children.Count)
{
return this.parent.children[num];
}
for (MemoryElement element2 = this.parent; element2.parent != null; element2 = element2.parent)
{
int num2 = element2.GetChildIndexInList() + 1;
if (num2 < element2.parent.children.Count)
{
return element2.parent.children[num2];
}
}
return null;
}