private void SwitchPage()
{
// Calculate the page index
int pageIdx = (int)(position / pageSize);
int pageOffset = (int)(position - (pageIdx * pageSize));
// Find the real offset
lock (stream)
{
// Read the full page into the buffer
stream.Position = (pages[pageIdx] * pageSize);
stream.Read(page, 0, pageSize);
}
}