/// <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);
        }