public IIndexIterator Clone() { HashSet<int> gaps = new HashSet<int>(); foreach(int g in IndexList.Gaps) { gaps.Add(g); } return new IndexIterator(gaps, IndexList.MaxValue); } }