```
class TenuredGeneration: public Generation {
ContiguousSpace* _the_space; // Actual space holding objects
}
_the_space = new TenuredSpace(_bts, MemRegion(bottom, end));
```
`_the_space` can be its actual type, instead of its super type. Besides, it's logical that `TenuredGeneration` holds a pointer to `TenuredSpace`.
class TenuredGeneration: public Generation {
ContiguousSpace* _the_space; // Actual space holding objects
}
_the_space = new TenuredSpace(_bts, MemRegion(bottom, end));
```
`_the_space` can be its actual type, instead of its super type. Besides, it's logical that `TenuredGeneration` holds a pointer to `TenuredSpace`.