FastQuant.DataSeries.GetNextKey C# (CSharp) Method

GetNextKey() private method

private GetNextKey ( DataKey key ) : DataKey
key DataKey
return DataKey
        private DataKey GetNextKey(DataKey key)
        {
            if (key.number == -1)
                Console.WriteLine("DataSeries::GetNextKey Error: key.number is not set");

            var nextKey = this.cache[key.number + 1];
            if (nextKey == null)
            {
                if (key.next == -1)
                    Console.WriteLine("DataSeries::GetNextKey Error: key.next is not set");
                nextKey = ReadKey(key.next);
                nextKey.number = key.number + 1;
                this.cache[nextKey.number] = nextKey;
            }
            nextKey.index1 = key.index2 + 1;
            nextKey.index2 = nextKey.index1 + nextKey.count - 1;
            if (nextKey.index2 < 0)
                nextKey.index2 = 0;
            return nextKey;
        }