docs: @Override
    public synchronized P readPage(int pageID) {
      countRead();
      P page = map.get(pageID);
      if(page != null) {
        if(LOG.isDebuggingFine()) {
          LOG.debugFine("Read from cache: " + pageID);
        }
      }
      else {
        if(LOG.isDebuggingFine()) {
          LOG.debugFine("Read from backing: " + pageID);
        }
        page = file.readPage(pageID);
        map.put(pageID, page);
      }
      return page;
    }