I need to determine the timespan of the data, which requires reading the first and last samples of each time channel. The first sample is fine, but calling ReadPartialData fails for the final sample as it lives in a DZ block, and ReadCache doesn't cope with skipping bytes in these blocks, as it assumes if file_buffer_ isn't empty, that it has been populated, so you just get 0 values. I have a WIP fix for this that I aim to create a PR for once I've finished the rest of my implementation.