public void RemoveIsland(CollisionIsland i) { if (i.things.Count != 0) { i.owner = i.things.First <MaterialThing>(); for (int index = 0; index < i.things.Count; ++index) { MaterialThing materialThing = i.things.ElementAt <MaterialThing>(index); if (materialThing != i.owner) { int count = i.things.Count; materialThing.UpdateIsland(); if (i.things.Count != count) { --index; } } } } else { i.willDie = true; } }