using System.Collections.Generic; using System.Linq; namespace NzbDrone.Core.Indexers { public class IndexerPageableRequestChain { private List> _chains; public IndexerPageableRequestChain() { _chains = new List>(); _chains.Add(new List()); } public int Tiers => _chains.Count; public IEnumerable GetAllTiers() { return _chains.SelectMany(v => v); } public IEnumerable GetTier(int index) { return _chains[index]; } public void Add(IEnumerable request) { if (request == null) { return; } _chains.Last().Add(new IndexerPageableRequest(request)); } public void AddTier(IEnumerable request) { AddTier(); Add(request); } public void AddTier() { if (_chains.Last().Count == 0) { return; } _chains.Add(new List()); } } }