private void RemoveHolesTouchingRegions() { foreach (Region r in Regions) { for (int i = 0; i < Holes.Count; ++i) { if (r.Touches(Holes[i], true, true, true)) { Holes.RemoveAt(i--); } } } }