private void _DeserializeKeys() { _keyList.Clear(); _keyMap.Clear(); var keyMap = _driver.DeserializeKeys(typeof(T), typeof(TKey), new Dictionary <TKey, int>()) ?? new Dictionary <TKey, int>(); if (keyMap.Count > 0) { foreach (var key in keyMap.Keys) { var idx = (int)keyMap[key]; if (idx >= NextKey) { NextKey = idx + 1; } _keyMap.Add((TKey)key, idx); _keyList.Add(new TableKey <T, TKey>((TKey)key, _resolver)); } } else { NextKey = 0; } }