This is a simple GListModel that attempts to snapshot a range of items in an underlying GListModel between calls to hold(pos,len) and release(). The goal here is to have list stability during a frame clock cycle regardless of what the underlying model is doing.
This appears, at least locally, to reduce the chance we render a blank snapshot. There still very well might be other things that cause a blank snapshot beyond this.
Basically, we have to start being really careful to not make changes during the snapshot process.