Doesn't this introduce a race condition because you're calling `contains` before `getValues`? If the block is removed in that time, you'll have a problem. It would be better to change BlockManager.dataDeserialize to use the lazy iterator.