Don't call top() multiple times
Refactor do-while into for loop, nullptr checks
Simplify loop condition in top()
Add is_dead() method to PLTSItem
Clean up dead items in PLTSBlock->top()