docs: @SuppressWarnings("unchecked")
    private P byteBufferToPage(ByteBuffer buffer) {
      try (InputStream bais = new ByteBufferInputStream(buffer);
          ObjectInputStream ois = new ObjectInputStream(bais)) {
        int type = ois.readInt();
        if (type == EMPTY_PAGE) {
          return null;
        } else if (type == FILLED_PAGE) {
          return (P) ois.readObject();
        } else {
          throw new IllegalArgumentException("Unknown type: " + type);
        }
      } catch (IOException|ClassNotFoundException e) {
        LoggingUtil.exception(e);
        return null;
      }
    }