public void SortChildrenRecursive() { // We sort by display name ChildNodes.Sort((First, Second) => FStreamInfo.GlobalInstance.NameArray[First.NameIndex].CompareTo(FStreamInfo.GlobalInstance.NameArray[Second.NameIndex])); ChildTags.Sort((First, Second) => FStreamInfo.GlobalInstance.NameArray[First.NameIndex].CompareTo(FStreamInfo.GlobalInstance.NameArray[Second.NameIndex])); foreach (var ChildNode in ChildNodes) { ChildNode.SortChildrenRecursive(); } }