/// <summary> /// Advances the enumerator to the next element of the collection. /// </summary> /// <returns>True if the enumerator was successfully advanced to the next element; /// False if the enumerator has passed the end of the collection.</returns> public bool MoveNext() { var result = _enumerator.MoveNext(); if (result) { // Use our config filter to see if we should emit this // This currently catches Auxiliary data that we don't want to emit if (_enumerator.Current != null && !_configuration.ShouldEmitData(_enumerator.Current)) { // We shouldn't emit this data, so we will MoveNext() again. return(MoveNext()); } Current = SubscriptionData.Create(_configuration, _exchangeHours, _offsetProvider, _enumerator.Current, _configuration.DataNormalizationMode); } return(result); }