public override MyInventoryBase IterateInventory(int searchIndex, int currentIndex) { using (List <MyComponentBase> .Enumerator enumerator = this.ChildList.Reader.GetEnumerator()) { while (true) { if (!enumerator.MoveNext()) { break; } MyInventoryBase current = enumerator.Current as MyInventoryBase; if (current != null) { MyInventoryBase base3 = current.IterateInventory(searchIndex, currentIndex); if (base3 == null) { if (!(current is MyInventory)) { continue; } currentIndex++; continue; } return(base3); } } } return(null); }