public int ReserveSlot(DataType dataType)
{
List<int> slots = _slotTable[dataType];
int currentSlot = _currentSlots[dataType];
while (slots.Contains(++currentSlot)) ;
slots.Add(currentSlot);
_currentSlots[dataType] = currentSlot;
return currentSlot;
}
}