protected override async Task<long?> SkipAsyncCore( CancellationToken cancellationToken )
{
this.DiscardCompletedStacks();
if ( this._itemsCount.Count == 0 )
{
return 0;
}
var result = await this._root.SkipSubtreeItemAsync( cancellationToken ).ConfigureAwait( false );
if ( result != null )
{
this._unpacked.Push( this._unpacked.Pop() + 1 );
}
return result;
}