code: private boolean fillLast() throws IOException {
          int count;
  
          if (lastFilled == pageSize) {
              throw new IllegalStateException();
          }
          count = src.read(pages[lastNo], lastFilled, pageSize - lastFilled);
          if (count <= 0) {
              if (count == 0) {
                  throw new IllegalStateException();
              }
              return false;
          }
          lastFilled += count;
          return true;
      }
docs: Reads bytes to fill the last page.
  @return false for eof