bool IEnumerator.MoveNext() { if (index > coll.list.Count) { throw new SystemException("MatchCollection in invalid state"); } if (index == coll.list.Count && !coll.current.Success) { return(false); } return(coll.TryToGet(++index)); }