public bool MoveNext() { if (_workEnumerators.Count == 0) { return(false); } using (_extractionStats.Start()) { var enumerator = _workEnumerators[0]; for (var index = 1; index < _workEnumerators.Count; index++) { if (_workEnumerators[index].Current.Etag < enumerator.Current.Etag) { enumerator = _workEnumerators[index]; } } _item = enumerator.Current; if (enumerator.MoveNext() == false) { _workEnumerators.Remove(enumerator); } _extractionStats.RecordExtractedItem(_item.Type); return(true); } }
public bool MoveNext() { if (_workEnumerators.Count == 0) { return(false); } using (_extractionStats.Start()) { var current = _workEnumerators[0]; for (var index = 1; index < _workEnumerators.Count; index++) { if (_workEnumerators[index].Current.Etag < current.Current.Etag) { current = _workEnumerators[index]; } } _currentItem = current.Current; if (current.MoveNext() == false) { _workEnumerators.Remove(current); } _extractionStats.RecordExtractedItem(); return(true); } }