void ShrinkIfNeeded (ArrayList list, int initial) { int capacity = list.Capacity; int count = list.Count; if (capacity > initial && count > 0 && (capacity / count) > 3) list.Capacity = count * 2; }