public DriverStateTable ToImmutable() { // we can compact the tables at this point, as we'll no longer be using them to determine current state var keys = _tableBuilder.Keys.ToArray(); foreach (var key in keys) { _tableBuilder[key] = _tableBuilder[key].AsCached(); } return(new DriverStateTable(_tableBuilder.ToImmutable())); }